2017-10-13 216 views
-1

我必须将svg,eps和ai文件转换为png才能显示缩略图。遵循ai和eps的命令支持,但不适用于svg。有什么办法可以使用相同的命令将这些文件格式转换为png。如何隐藏svg,eps和ai在ghostscript中的png

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -dDEVICEWIDTHPOINTS=1440 -dDEVICEHEIGHTPOINTS=960 -r300 -dGraphicsAlphaBits=4 -sOutputFile=outputfile.jpeg inputfile.eps 
+0

使用[imagemagick](http://www.imagemagick.org)及其'convert'实用程序 –

+0

感谢您的快速响应。 “imagemagick”和“convert”比ghostscript使用更多的内存和处理器。当我们转换多个文件“imagemagick”或“convert”不能使用 – jeewiya

+0

你可以在shell脚本中使用一些'for'循环来多次运行'convert' –

回答

1

您应该使用ImageMagick及其convert实用程序或找一些其他SVGPNG转换器(也许inkscape使用with--export-png=文件--without-gui),也见this,甚至花了一年时间研究SVG和PNG格式,编写你自己的转换器。

ghostscript是一个PostScript解释器。它可以处理.eps(这是Encapsulated PostScript)文件,因为它们在PostScript的某些变体中。由于PDF与PostScript相关,因此您可以要求gs输出PDF。但SVG与PostScript完全无关,因此gs无法处理.svg文件!

您不能使用gs转换SVG文件。

(迂腐,PostScript是一个Turing complete编程语言和具有File IO原语,所以理论上你可以花几年的PostScript写自己SVG至PNG转换器,并使用gs来运行它,你再也t想要这样做)

+0

我们不能将svg转换为pdf和pdf转换为使用“gs”的png – jeewiya

+0

但是,如何将SVG转换为PDF?大概也可以使用ImageMagick! –

+0

我不认为Ghostscript处理SVG文件。为此你需要Inkscape或RSVG。但这些可能不会输出PDF,可能只是栅格格式。 – fmw42