使用 gs 更改 pdf 图像 dpi
Posted
技术标签:
【中文标题】使用 gs 更改 pdf 图像 dpi【英文标题】:Changing pdf image dpi using gs 【发布时间】:2012-03-08 22:20:16 【问题描述】:我正在尝试在 Linux/Ubuntu 11.10 中使用 gs
更改 .pdf 图像 (myPic.pdf) 的 dpi
这是我的做法,但我得到了错误:
gs -q -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -dPDFSETTINGS=/printer \
-sOutputFile=fileout.pdf \
myPic.pdf`
在这里,我正在尝试根据this将 dpi 更改为 300
我尝试上述命令时收到的错误是:
**** Unable to open the initial device, quitting.
什么给了?
可能的解决方案:
签出this。
【问题讨论】:
【参考方案1】:您的初始 Ghostscript 命令应该可以工作。
但是,如果您所在的目录对于运行该命令的用户而言是不可写的,您将收到类似的消息!
mbp:/$密码 / mbp:/$ ls -ld 。 drwxr-xr-x 38 根轮 1360 Mar 10 16:20 . mbp:/$ whoami 皮皮塔 mbp:/$ gs -o a.pdf -sDEVICE=pdfwrite -c 显示页 GPL Ghostscript 9.05 (2012-02-08) 版权所有 (C) 2010 Artifex Software, Inc. 保留所有权利。 此软件不提供任何担保:有关详细信息,请参阅文件 PUBLIC。 GPL Ghostscript 9.05:**** 无法打开文件 a.pdf。 **** 无法打开初始设备,退出。 mbp:/$ cd ~ mbp:/$密码 /用户/pipitas mbp:~$ ls -ld 。 drwxr-xr-x+ 3010 pipitas 员工 102340 Mar 13 22:01 。 mbp:~$ gs -o a.pdf -sDEVICE=pdfwrite -c showpage GPL Ghostscript 9.05 (2012-02-08) 版权所有 (C) 2010 Artifex Software, Inc. 保留所有权利。 此软件不提供任何担保:有关详细信息,请参阅文件 PUBLIC。【讨论】:
我在一个读/写目录中。所以它不起作用是相当奇怪的。我会再次检查。谢谢! 这张支票的结果是什么?! 很遗憾我不太记得了。对不起。【参考方案2】:成功了!
convert -units PixelsPerInch myPic.pdf -density 300 fileout.pdf
【讨论】:
Ummm...然而,这会给出一个看起来很粗糙的图像文件。convert
来自 ImageMagick。它不会原生处理 PDF,而是保留其可能的矢量图形内容。它仅本地处理像素图像。为了“阅读”PDF,它使用 Ghostscript 作为 delegate,将(矢量)PDF 的页面转换为(像素)图像。一旦它是像素图像,地狱中的 ImageMagick 就无法返回基于矢量的 PDF。 (这就像你不能逆转牛排->肉末的过程。你不能从汉堡回到炸肉排,对吗?)。这就是为什么 ImageMagick 生成的 PDF 只是嵌入到薄 PDF 结构中的全页图像......
-- 最后,PDF 本身没有“分辨率”。只有嵌入在 PDF 页面中的像素图像才具有“分辨率”。因此,您的命令convert -units PixelsPerInch myPic.pdf -density 300 fileout.pdf
告诉 ImageMagick:'获取我的 PDF 文件并将其中包含的所有内容(无论是像素图像还是矢量对象)转换为一个 300dpi 图像并将该图像放回 PDF 页面! '
您需要将-density 200
放在输入文件名之前。以上是关于使用 gs 更改 pdf 图像 dpi的主要内容,如果未能解决你的问题,请参考以下文章
适用于 iPad 的 PDF 页面大小 (dpi) 是多少?
Cocos2d 2.x:我似乎无法更改 3GS 的启动图像!它仍然显示 Cocos2d 橙色默认图像