我正在尝试使用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?
答案 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之前阅读它。