5

Inkscape中存在一个错误,其中包含在 SVG 文档中的 JPEG 图像在导出为 PDF 文件时嵌入为位图而不是 JPEG。

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

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

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

4

2 回答 2

3

一个 kludge 是使用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 数据,最好避免这种情况。

于 2011-07-14T23:03:14.790 回答
1

我发现使用 Inkscape 0.48.1 导出到 EPS 并将生成的 EPS 文件传递​​给epstopdf 脚本会产生良好的结果。PNG/JPG 文件在 PDF 文件中保留 PNG/JPG,字体看起来不错,等等。

于 2011-12-21T09:37:40.633 回答