2017-10-16 2 views
1

Utilisation d'ApacheFop 2.2 Je reçois un document de plusieurs pages. Le document se compose de parties, dont chacune commence par le numéro de page 1. Après la formation de PDF, il est nécessaire d'imprimer la 5ème page du document. Lorsque vous spécifiez une page à imprimer, la 11ème page du document sera imprimée (c'est la 5ème page dans sa partie). Comment générer un PDF correctement, de sorte que la 5ème page soit exactement la 5ème page du document, et non une partie?Numéro de page dans plusieurs pages Document dans Acrobat Reader

fo:

<?xml version="1.0"?> 
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" font-size="30pt"> 
    <fo:layout-master-set> 
     <fo:simple-page-master master-name="page"> 
      <fo:region-body region-name="body" margin-top="22mm" margin-bottom="34mm"/> 
      <fo:region-after region-name="footer" extent="31mm"/> 
     </fo:simple-page-master> 
     <fo:simple-page-master master-name="blank-page"> 
      <fo:region-body region-name="body-blank" margin-top="22mm" margin-bottom="34mm"/> 
      <fo:region-after region-name="footer" extent="31mm"/> 
     </fo:simple-page-master> 
     <fo:page-sequence-master master-name="document"> 
      <fo:repeatable-page-master-alternatives> 
       <fo:conditional-page-master-reference blank-or-not-blank="not-blank" master-reference="page"/> 
       <fo:conditional-page-master-reference blank-or-not-blank="blank" odd-or-even="even" master-reference="blank-page"/> 
      </fo:repeatable-page-master-alternatives> 
     </fo:page-sequence-master> 
    </fo:layout-master-set> 
    <fo:page-sequence master-reference="document" initial-page-number="1" force-page-count="end-on-even"> 
     <fo:static-content flow-name="footer"> 
      <fo:block> 
       <fo:page-number/> 
      </fo:block> 
     </fo:static-content> 
     <fo:flow flow-name="body"> 
      <fo:block break-after="page">Text1</fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
    <fo:page-sequence master-reference="document" initial-page-number="1" force-page-count="end-on-even"> 
     <fo:static-content flow-name="footer"> 
      <fo:block> 
       <fo:page-number/> 
      </fo:block> 
     </fo:static-content> 
     <fo:flow flow-name="body"> 
      <fo:block break-after="page">Text3</fo:block> 
      <fo:block break-after="page">Text4</fo:block> 
      <fo:block break-after="page">Text5</fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
    <fo:page-sequence master-reference="document" initial-page-number="1" force-page-count="end-on-even"> 
     <fo:static-content flow-name="footer"> 
      <fo:block> 
       <fo:page-number/> 
      </fo:block> 
     </fo:static-content> 
     <fo:flow flow-name="body"> 
      <fo:block break-after="page">Text7</fo:block> 
      <fo:block break-after="page">Text8</fo:block> 
      <fo:block break-after="page">Text9</fo:block> 
      <fo:block break-after="page">Text10</fo:block> 
      <fo:block break-after="page">Text11</fo:block> 
     </fo:flow> 
    </fo:page-sequence> 
</fo:root> 

AdobeReader Page Numbering

+0

S'il vous plaît expliquer votre image . La numérotation des pages affichée dans l'image est correcte. Demandez-vous une numérotation incorrecte? –

+0

Lorsque vous utilisez FOP 0.95, la numérotation des pages du document dans Acrobat Reader est unique. Lorsque vous utilisez FOP 1 et plus, la numérotation est double: numérotation des pages en partie + numérotation des pages dans le document. Si vous sélectionnez, par exemple, la 5ème page du document, la 11ème page (la 5ème page de la partie du document) sera imprimée. L'erreur est que dans un grand document avec une telle numérotation, il est impossible de sélectionner la plage requise. Si vous générez le fichier FO décrit et imprimez des pages 5 à 11, seule la 11ème page sera imprimée. – Dmitry

Répondre

1

Dans ce cas, un numéro de page n'est pas la meilleure façon de dire à un utilisateur la page à imprimer, parce que ça va être source de confusion de toute façon. Vous pourriez avoir plus d'une page avec le numéro de page 5 dans votre document, par exemple. Alternatives:

  • sur la première page du document, comprennent un hyperlien vers la page qui doit être imprimé
  • créer un signet pour la page qui doit être imprimé
+0

Merci pour la réponse. Les liens dans le document fonctionnent correctement, il existe des signets et une table des matières. Des problèmes se produisent lorsque l'utilisateur essaie d'imprimer une partie du document sur l'imprimante en ouvrant un document dans Acrobat Reader. Dans une autre application, par exemple, le problème NitroPDF ne se pose pas. Mais Acrobat Reader est par défaut l'application standard qui vaut tous les utilisateurs. – Dmitry

+1

Il semble que vous pouvez modifier la numérotation des pages dans Acrobat pour supprimer ce comportement: http://www.adobepress.com/articles/article.asp?p=1998556&seqNum=4 – Hobbes

+0

Merci pour le lien, Adobe Acrobat permet de changer la numérotation des pages . Pas de solution automatique, mais ça marche pour moi – Dmitry