2017-10-16 70 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

相关问题