2017-10-16 2 views
1

ApacheFop 2.2を使用すると、複数ページのドキュメントを取得できます。ドキュメントは、それぞれがページ番号1で始まる部分で構成されています。 PDFの作成後、ドキュメントの5ページ目を印刷する必要があります。印刷するページを指定すると、文書の11ページ目が印刷されます(その5ページ目)。 5ページ目がドキュメントの5ページ目と正確に一致するように、正しくPDFを生成するにはどうすればいいですか?複数ページのページ番号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

を印刷する必要がありますページのブックマークを作成し、あなたのイメージを教えてください。イメージに表示されているページ番号が正しい。間違った番号付けを求めていますか? –

+0

FOP 0.95を使用する場合、Acrobat Readerの文書内のページの番号は1つです。 FOP 1以上を使用する場合、番号付けは文書のページ番号付け+ページ番号付けの2倍です。 たとえば、文書の5ページ目を選択すると、11ページ目(文書の5ページ目)が印刷されます。エラーは、このような番号の付いた大きな文書では、必要な範囲を選択することができないということです。記述されたFOファイルを生成して5ページから11ページに印刷すると、11ページ目のみが印刷されます。 – Dmitry

答えて

1

それはとにかく混乱することになるだろうので、ページ数は、印刷するページをユーザーに伝えるための最善の方法ではありません。たとえば、文書内にページ番号5の複数のページがあるとします。 代替:文書の最初のページ

  • は、
  • を印刷する必要があるページへのハイパーリンクが含まれ
+0

答えをありがとう。ドキュメント内のリンクは正しく動作し、ブックマークとコンテンツのテーブルがあります。ユーザーがAcrobat Readerでドキュメントを開いて、プリンタ上のドキュメントの一部を印刷しようとすると、問題が発生します。別のアプリケーションでは、たとえば、NitroPDFの問題は発生しません。しかしAcrobat Readerは、デフォルトではすべてのユーザーに価値のある標準アプリケーションです。 – Dmitry

+1

Acrobatでページ番号を編集してこの動作を削除したようです:http://www.adobepress.com/articles/article.asp?p=1998556&seqNum=4 – Hobbes

+0

リンクありがとうございました.Adobe Acrobatではページ番号を変更できます。自動ソリューションではないが、それは私のために働く – Dmitry