当前位置:  开发笔记 > 运维 > 正文

使用ImageMagick或Ghostscript(或其他东西)来缩放PDF以适合页面?

如何解决《使用ImageMagick或Ghostscript(或其他东西)来缩放PDF以适合页面?》经验,为你挑选了4个好方法。

我一直在反对这一点,但无济于事.

我需要缩小一些大型PDF以在8.5x11英寸(标准字母)页面上打印.ImageMagick/Ghostscript可以处理这类事情,还是因为我使用错误的工具来解决这个问题?

仅仅依靠客户端打印对话框中的"缩小到页面"选项不是一种选择,因为我们希望这对最终用户来说易于使用.



1> Kurt Pfeifle..:

我不会用convert.它在后台使用Ghostscript,但速度要慢得多.我直接使用Ghostscript,因为它给了我更多的直接控制(以及对设置更难实现的一些控制convert).对于转换为PDF到PDF转换的工作,您无论如何都会安装Ghostscript:

  gs \
    -o /path/to/resized.pdf \
    -sDEVICE=pdfwrite \
    -dPDFFitPage \
    -r300x300 \
    -g2550x3300 \
    /path/to/original.pdf



2> danieltalsky..:

ImageMagick的mogrify/convert命令确实可以完成这项工作.Stephen Page有一个正确的想法,但你确实需要设置文件的dpi,否则你将无法完成工作.

假设你有一个300 dpi的文件,并且已经具有与8.5 x 11相同的宽高比,那么命令将是:

// 300dpi x 8.5 -2550, 300dpi x 11 -3300
convert original.pdf -density "300" -resize "2550x3300" resized.pdf

如果纵横比不同,那么你需要做一些稍微复杂的裁剪.



3> danio..:

使用ImageMagick的问题在于您要转换为栅格图像格式,增加文件大小并降低页面上任何矢量元素的质量.

多价将保留PDF的矢量信息.尝试:

java -cp Multivalent.jar tool.pdf.Impose -dim 1x1 -paper "8.5x11in" myFile.pdf

创建输出文件myFile-up.pdf


原来这个软件的最新版本不包括pdf工具!您必须找到并使用Multivalent20060102.jar文件.

4> 小智..:

Ghostscript方法对我很有用.(我将我的文件从我的Windows PC移动到Linux计算机并在那里运行.)我对Ghostscript命令做了一个小改动,因为上面的Ghostscript resize命令完全填充了8.5 x 11英寸的页面.但是,我的打印机无法打印到边缘,因此每页边缘丢失了几毫米.为了解决这个问题,我将我的PDF文档缩放到了完全8.5 x 11英寸的0.92.这样,我看到所有内容都集中在页面上并略有差异.因为0.92*(2550x3300)=(2346x3036),我运行了以下Ghostscript命令:

  gs -sDEVICE=pdfwrite \
     -dPDFFitPage \
     -r300x300 \
     -g2346x3036 \
     /home/user/path/original.pdf \
     -o /home/user/path/resized.pdf

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有