我正在使用(PDF)LaTeX制作文档,我还需要在其中嵌入已有的PDF文档。问题是我有几种不同页面大小的PDF文档(字母,a4等),我想将它们全部编译成一个b5 PDF文档。
如果我使用CTAN的pdfpages
包,则会删除原始PDF中的所有超链接。所以我试着用GhostScript做到这一点。
这听起来像是正常的事情,但我找不到合适的解决方案。 与此同时,我读了几个问题和答案,但未能弄清楚我做错了什么以及我错过了什么。
This doesn't seem to address my problem of scaling
This seems to go in the right direction但我无法使用这些信息: - (。
为了简化问题,让我们尝试调整单个PDF的大小,以便:
听起来很简单,而且很容易做到,例如使用pdfjam
:
pdfjam --outfile b5-foo.pdf --paper b5paper foo.pdf
现在问题是pdfjam
抛弃了超链接。来自its website:
pdfjam和基于它的其他脚本的潜在缺点是源PDF中的任何超链接都会丢失。
这一定是因为它似乎使用了上面提到的pdfpages
。
与pdfjam
不同,GhostScript保留超链接。但是,它要么:
这就是我安装的内容:
$ gs --version
9.21
(安装在Linux上)
这就是我可以使用GhostScript裁剪内容的方法:
gs -dBATCH -dNOPAUSE \
-sDEVICE=pdfwrite -dFIXEDMEDIA -sPAPERSIZE=isob5 \
-o b5-foo.pdf foo.pdf
...以下是我如何使用-dPDFFitPage
缩放内容,同时保持原始页面大小的宽高比:
gs -dBATCH -dNOPAUSE \
-sDEVICE=pdfwrite -dFIXEDMEDIA -sPAPERSIZE=isob5 -dPDFFitPage \
-o b5-foo.pdf foo.pdf
更清楚:我似乎得到一个缩放的页面,以便它适合我要求的b5,但它不是b5:它仍然具有原始(字母)的H / W比率!
如果只使用开关可以做到这一点,我会很高兴,但如果我需要使用完全正常的PostScript。
答案 0 :(得分:1)
解决方案似乎是使用-dPSFitPage
而不是-dPDFFitPage
。这可能与我试图调整大小的PDF文件有关。不幸的是,我不能分享那些:-(。当我尝试使用我生成的文件重现这个并且问题不能重现。我不知道为什么会这样或者我应该怎么做知道它。
总结一下,使用PDF文件输入和输出:
-dFitPage
和-dPDFFitPage
为我提供了原始宽高比的缩放页面-dPSFitPage
为我提供了使用-sPAPERSIZE="$PAPERSIZE"
这似乎违背了文档所说的内容。