2011-07-14 20 views
5

Có một ảnh bug in Inkscape nơi ảnh JPEG được bao gồm trong tài liệu SVG được nhúng dưới dạng bitmap thay vì JPEG khi xuất sang tệp PDF.Nhúng dữ liệu JPG đúng cách trong các tệp PDF được tạo bởi Inkscape

Kết quả là sự gia tăng lớn về kích thước tệp. Ví dụ: tôi có bản vẽ SVG đơn giản bao gồm hình ảnh JPEG 2 MB; xuất sang PDF dẫn đến tệp 14 MB.

Tôi đang tìm cách giải quyết. Có cách nào để sửa tệp PDF kết quả bằng cách chèn hình ảnh JPG được mã hóa chính xác, có lẽ thông qua một số loại thủ thuật pdftk?

(Trong trường hợp của tôi, kết quả PDF sẽ được đưa vào như một nhân vật trong một tài liệu LaTeX render với pdflatex, vì vậy có thể có cách giải quyết khác hơn là trực tiếp sửa PDF được tạo ra bởi Inkscape.)

+1

Cuối cùng được khắc phục trong Inkscape 0,91. –

Trả lời

3

Một kludge là sử dụng pdf2ps tiếp theo ps2pdf, mà sẽ tái mã hóa các dữ liệu bitmap như JPEG:

pdf2ps made-by-inkscape.pdf foo.ps 
ps2pdf foo.ps smaller-file.pdf 

Đối với trường hợp thử nghiệm của tôi, các kích thước tập tin là:

original JPEG   2.1M 
made-by-inkscape.pdf 15M 
foo.ps    104M 
smaller-file.pdf  1.5M 

Nhưng tất nhiên, điều này liên quan đến việc mã hóa lại dữ liệu JPEG, tốt nhất nên tránh.

+0

Lưu ý rằng ps2pdf có thể lấy pdf làm đầu vào, trước tiên bạn không cần tạo một tệp ps. – Maxim

1

Tôi thấy rằng với Inkscape 0.48.1 xuất sang EPS thay vào đó và chuyển tệp EPS kết quả đến epstopdf script, tạo ra kết quả tốt. Tệp PNG/JPG giữ nguyên PNG/JPG trong tệp PDF, phông chữ trông ổn, v.v.

+0

Điều này không hoạt động tốt đối với tôi trên Inkscape 0.48.4 (cổ phiếu trong Ubuntu 14.04). Đã tạo SVG tầm thường với JPEG 305604 byte. Xuất khẩu sang PDF mang lại 2414085 byte, 'pdfimages -j' trích xuất một PPM 2904016 byte. Xuất khẩu EPS đạt 28295129 byte. epstopdf (Trong gói Ubuntu texlive-font-utils) tạo ra 1223973 byte PDF. 'pdfimages -j' trích xuất một ảnh JPEG 821634 byte. Kết luận: nó đã được reencoded. –

Các vấn đề liên quan