有一个bug in Inkscape,当导出为PDF文件时,SVG文档中包含的JPEG图像嵌入为位图而不是JPEG。
结果是文件大小大幅增加。例如,我有一个简单的SVG绘图,其中包含一个2 MB的JPEG图像;导出为PDF会产生14 MB的文件。
我正在寻找解决方法。有没有办法通过插入正确编码的JPG图像修复生成的PDF ,可能是通过某种pdftk技巧?
(在我的情况下,生成的PDF将作为使用pdflatex呈现的LaTeX文档中的图形包含在内,因此除了直接修复由Inkscape生成的PDF之外,可能还有其他解决方法。)
答案 0 :(得分:3)
一个问题是使用pdf2ps
后跟ps2pdf
,它会将位图数据重新编码为JPEG:
pdf2ps made-by-inkscape.pdf foo.ps
ps2pdf foo.ps smaller-file.pdf
对于我的测试用例,文件大小为:
original JPEG 2.1M
made-by-inkscape.pdf 15M
foo.ps 104M
smaller-file.pdf 1.5M
但当然,这涉及重新编码JPEG数据,最好避免使用。
答案 1 :(得分:1)
我发现,将Inkscape 0.48.1导出为EPS,并将生成的EPS文件传递给epstopdf script,会产生良好的效果。 PNG / JPG文件在PDF文件中保留PNG / JPG,字体看起来不错等等。