如何将PS图像转换为PNG并适合页面或多页

时间:2017-03-08 20:49:31

标签: ghostscript postscript

我正在分析一个模型(用-pg选项编译,因此它会生成" gmon.out")然后生成一个PS文件(使用gprof2dot.py并管道到" dot&# 34;)表示每个子程序花费了多少时间。当我使用ghostscript转换为PDF时,它会切断图中的一些右侧。所以我测试了输出到多个页面,但第一页仍然有右侧切断,第二页是空白。

这是我尝试过的两个命令: gs -dBATCH -dNOPAUSE -dPDFFitPage -sOutputFile = myfile.pdf -sDEVICE = pdfwrite output.ps gs -dBATCH -dNOPAUSE -dPDFFitPage -sOutputFile = out%d.pdf -sDEVICE = pdfwrite output.ps

如果您有任何建议,请与我们联系。谢谢!

1 个答案:

答案 0 :(得分:0)

你的标题说你想要一个PNG(并且一个PostScript程序渲染到PNG,而不是"转换一个PostScript图像",PostScript是一种编程语言而不是图像格式)但是你的描述说你正在创建PDF文件。那么它是PNG还是PDF?

使用PDFFitPage缩放请求的媒体大小以适合实际(已设置,已修复)的媒体大小,因为您还没有在命令行上设置固定的媒体大小,没有缩放将会进行。

那么,你得到的媒体大小,为什么这不正确?我会猜测'如果你的PostScript程序没有请求媒体大小,那么pdfwrite会创建一个具有相同媒体大小的PDF。

在没有媒体请求的情况下,pdfwrite设备使用默认设置。取决于您的系统和配置,很可能是A4或US Letter。然后,它通过渲染到位图或使用该媒体大小作为PDF页面描述来再现PostScript绘图程序。如果原始PostScript需要不同的介质尺寸,则会剪切位。

由于你没有提供一个例子,我当然不可能做更多的事情。

但是,你应该尝试将-sPAPERSIZE设置为类似A3的东西。或者使用-dDEVICEWIDTHPOINTS和-dDEVICEHEIGHTPOINTS设置特定的介质尺寸。

如果您提供了一个示例,我可能会更具体。

提及你正在使用的Ghostscript版本也是一个不错的主意。