cee*_*yoz 13 pdf resize imagemagick ghostscript
我一直在反对这一点,但无济于事.
我需要缩小一些大型PDF以在8.5x11英寸(标准字母)页面上打印.ImageMagick/Ghostscript可以处理这类事情,还是因为我使用错误的工具来解决这个问题?
仅仅依靠客户端打印对话框中的"缩小到页面"选项不是一种选择,因为我们希望这对最终用户来说易于使用.
Kur*_*fle 17
我不会用convert.它在后台使用Ghostscript,但速度要慢得多.我直接使用Ghostscript,因为它给了我更多的直接控制(以及对设置更难实现的一些控制convert).对于转换为PDF到PDF转换的工作,您无论如何都会安装Ghostscript:
gs \
-o /path/to/resized.pdf \
-sDEVICE=pdfwrite \
-dPDFFitPage \
-r300x300 \
-g2550x3300 \
/path/to/original.pdf
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
如果纵横比不同,那么你需要做一些稍微复杂的裁剪.
使用ImageMagick的问题在于您要转换为栅格图像格式,增加文件大小并降低页面上任何矢量元素的质量.
多价将保留PDF的矢量信息.尝试:
java -cp Multivalent.jar tool.pdf.Impose -dim 1x1 -paper "8.5x11in" myFile.pdf
Run Code Online (Sandbox Code Playgroud)
创建输出文件myFile-up.pdf
小智 6
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
Run Code Online (Sandbox Code Playgroud)