如何使用Java将PDF转换为PS / EPS?

时间:2018-06-11 13:56:40

标签: java ghostscript postscript eps

我正在尝试使用ghost4j库将PDF转换为eps但是我没有得到预期的结果。

PDFDocument document = new PDFDocument();
document.load(new File("input.pdf"));
fos = new FileOutputStream(new File("rendition.ps"));

PSConverter converter = new PSConverter();
converter.convert(document, fos);

最终图像格式标准应包含以下参数:

I - 宽度为8,12或25厘米;

II - 身高不超过38.5厘米;

III - 黑白和/或灰色阴影(灰度);

IV - 分辨率为200 dpi(每英寸点数);

V-8位EPS显示,72 dpis。 (Arial字体),字体大小(正文7),内联(8 pt),无字距; VI - EPS类型扩展(封装的PostScript);

如何使用Java按照上述图像格式将PDF转换为PS?

1 个答案:

答案 0 :(得分:1)

PostScript不是位图图像格式。对于PostScript或EPS,分辨率一般没有意义。 PostScript或EPS中包含的图像可以具有分辨率,但这取决于输出的任何缩放,尤其是对于经常缩放的EPS。

假设忠实转换,EPS的宽度和高度将取决于PDF文件中原始页面的宽度和高度。输出的颜色同样会反映输入的颜色。

我不知道“72 dpis的8位EPS显示”是什么意思,也不知道你对特定字体和磅值的坚持。当然你想要忠实再现输入?如果您的意思是想要预览,那么这是一个单独的问题。

文件扩展名肯定是一件小事。

我无法向您提供有关Ghost4J的任何信息,但Ghostscript可以使用eps2write设备生成EPS输出。输出将忠实于输入PDF的再现,就像2级PostScript一样。

如果要从颜色输入创建灰度EPS,则可以使用-sColorConversionStrategy。

可以使用-dDEVICEWIDTHPOINTS = -dDEVICEHEIGHTPOINTS =和-dFIXEDMEDIA以及-dPDFFitPage来修复宽度和高度。请注意,输出在x和y方向上的缩放比例相同。

eps2write设备无法创建预览。

如果您打算使用Ghostscript从PDF创建EPS,那么您需要阅读 Ghostscript 的文档,该文档可在线获取。

请注意(因为这有商业用途的感觉)Ghostscript根据AGPL版本3获得许可.Ghost4J必须使用相同的许可证绑定,您应该在决定是否可以使用Ghostscript之前阅读它。