2017-10-16 74 views
1

使用ApacheFop 2.2我得到一個多頁文檔。文檔由部分組成,每部分以頁碼1開頭。 PDF形成後,需要打印文檔的第5頁。指定要打印的頁面時,將打印文檔的第11頁(其部分爲第5頁)。 如何正確生成PDF,以便第5頁正好是文檔的第5頁,而不是它的一部分?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中文檔的頁碼編號爲單個。使用FOP 1及以上版本時,編號爲雙:頁面編號部分+文檔中的頁碼編號。 如果您選擇了文檔的第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

相關問題