将JPG数据正确嵌入Inkscape生成的PDF文件中

时间:2011-07-14 22:46:53

标签: pdf jpeg inkscape

有一个bug in Inkscape,当导出为PDF文件时,SVG文档中包含的JPEG图像嵌入为位图而不是JPEG。

结果是文件大小大幅增加。例如,我有一个简单的SVG绘图,其中包含一个2 MB的JPEG图像;导出为PDF会产生14 MB的文件。

我正在寻找解决方法。有没有办法通过插入正确编码的JPG图像修复生成的PDF ,可能是通过某种pdftk技巧?

(在我的情况下,生成的PDF将作为使用pdflatex呈现的LaTeX文档中的图形包含在内,因此除了直接修复由Inkscape生成的PDF之外,可能还有其他解决方法。)

2 个答案:

答案 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,字体看起来不错等等。