首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用FOP从A4 PDF中提取页面并创建A3 PDF

使用FOP从A4 PDF中提取页面并创建A3 PDF
EN

Stack Overflow用户
提问于 2016-08-16 12:12:46
回答 1查看 599关注 0票数 0

我希望有人能帮助我。

目前,我使用FOP和XSLT创建A4文档。我被要求把这些A4 (肖像画)页缝成A3小册子。例如,我有一个4页的A4文档,我需要把它转换成一个2边的A3小册子,它可以使用第4页和第1页(并排)命令第一边,然后是第2页和第3页。

我查看了PDFBOX,看看它是否能做到这一点,但没有取得成功。

有人知道我怎样才能得到我所需要的结果吗?

感谢所有的帮助!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-16 13:36:28

如果你愿意的话,如果你想要安装PDF图片插件用于FOP,你可以用FOP来做这件事。

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <fo:layout-master-set>
        <fo:simple-page-master master-name="a3" margin-right="0mm" margin-left="0mm" margin-bottom="0mm" margin-top="0mm" page-width="42cm" page-height="29.7cm">
            <fo:region-body margin-left="0mm" margin-top="0mm" margin-bottom="0mm" margin-right="0mm"/>
        </fo:simple-page-master>
        <fo:page-sequence-master master-name="a3n">
            <fo:repeatable-page-master-alternatives>
                <fo:conditional-page-master-reference master-reference="a3" page-position="any"/>
            </fo:repeatable-page-master-alternatives>
        </fo:page-sequence-master>
    </fo:layout-master-set>
    <fo:page-sequence master-reference="a3n">
        <fo:flow flow-name="xsl-region-body">
            <fo:block-container height="29.7cm" width="20.9cm" top="0mm" left="0mm" position="absolute">
                <fo:block>
                    <fo:external-graphic content-height="29.7cm" content-width="21cm" height="29.7cm" width="21cm" src="yourpathdoc.pdf#page=2"/>
                </fo:block>
            </fo:block-container>
            <fo:block-container height="29.7cm" width="20.9cm" top="0mm" left="209mm" position="absolute">
                <fo:block>
                    <fo:external-graphic content-height="29.7cm" content-width="21cm" height="29.7cm" width="21cm" src="yourpathdoc.pdf#page=3"/>
                </fo:block>
            </fo:block-container>
            <fo:block-container>
                <fo:block font-size="0.1pt" page-break-after="always" break-after="page"> </fo:block>
            </fo:block-container>
            <fo:block-container height="29.7cm" width="20.9cm" top="0mm" left="0mm" position="absolute">
                <fo:block>
                    <fo:external-graphic content-height="29.7cm" content-width="21cm" height="29.7cm" width="21cm" src="yourpathdoc.pdf#page=4"/>
                </fo:block>
            </fo:block-container>
            <fo:block-container height="29.7cm" width="20.9cm" top="0mm" left="209mm" position="absolute">
                <fo:block>
                    <fo:external-graphic content-height="29.7cm" content-width="21cm" height="29.7cm" width="21cm" src="yourpathdoc.pdf#page=1"/>
                </fo:block>
            </fo:block-container>
        </fo:flow>
    </fo:page-sequence>
</fo:root>

编辑

如果您想让它更容易打印,只需切换简单页母版的页宽和页高,并将包含position=“绝对”的四条块容器线替换为

代码语言:javascript
复制
            <fo:block-container height="29.7cm" width="21cm" top="0mm" left="0mm" position="absolute" reference-orientation="270">
...
            <fo:block-container height="29.7cm" width="21cm" top="210mm" left="0mm" position="absolute"  reference-orientation="270">
...
            <fo:block-container height="29.7cm" width="21cm" top="0mm" left="0mm" position="absolute" reference-orientation="270">
...
            <fo:block-container height="29.7cm" width="21cm" top="210mm" left="0mm" position="absolute"  reference-orientation="270">

如果您的页面超过两页,请不要忘记插入

代码语言:javascript
复制
            <fo:block-container>
                <fo:block font-size="0.1pt" page-break-after="always" break-after="page"> </fo:block>
            </fo:block-container>

中间到处都是(在每秒钟的图像之后)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38974672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档