缩放以适合和调整页面大小

时间:2017-04-15 11:17:15

标签: pdf ghostscript postscript tex

我正在使用(PDF)LaTeX制作文档,我还需要在其中嵌入已有的PDF文档。问题是我有几种不同页面大小的PDF文档(字母,a4等),我想将它们全部编译成一个b5 PDF文档。

如果我使用CTAN的pdfpages包,则会删除原始PDF中的所有超链接。所以我试着用GhostScript做到这一点。

这听起来像是正常的事情,但我找不到合适的解决方案。 与此同时,我读了几个问题和答案,但未能弄清楚我做错了什么以及我错过了什么。

This doesn't seem to address my problem of scaling

Neither does that

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。

1 个答案:

答案 0 :(得分:1)

解决方案似乎是使用-dPSFitPage而不是-dPDFFitPage。这可能与我试图调整大小的PDF文件有关。不幸的是,我不能分享那些:-(。当我尝试使用我生成的文件重现这个并且问题不能重现。我不知道为什么会这样或者我应该怎么做知道它。

总结一下,使用PDF文件输入和输出:

  • -dFitPage-dPDFFitPage为我提供了原始宽高比的缩放页面
  • -dPSFitPage为我提供了使用-sPAPERSIZE="$PAPERSIZE"
  • 请求的网页尺寸的缩放内容

这似乎违背了文档所说的内容。