mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-27 03:06:57 -06:00
PDF export: an image that can't be decoded is left out with a note instead of failing the export
When the PDF writer keeps a PNG, GIF or WebP image as it is, it accepts the image once its header reads, and it reports pixel data that it can't decode only when it finishes the file. An image whose pixel data was cut short or damaged therefore failed the whole export with "PDF writer error: Image(...)", and nothing was written. This happened in Save as PDF, .ai saves, Save a Copy, Print, Export for Screens and native files with PDF compatibility, and with On Copy: PDF turned on, Copy left the PDF off the clipboard. When the writer fails on an image's pixel data, the export now runs again with that image left out. Its warnings hold the note that raster exports give, once: "an image couldn't be decoded and is missing from the picture". This note replaces the writer's "image '<key>' could not be decoded and was skipped", which named the image by an internal key. An export without such an image runs once, as before. A .ai file keeps the image in its editing data and reopens with it. Docs: docs/mcp.md (PDF options).
This commit is contained in:
+5
-3
@@ -562,9 +562,11 @@ Long-tail commands:
|
||||
PDF files take the Save PDF dialog's options: `preset`, `standard`, `compatibility`, the General toggles and the
|
||||
`compression`, `marks`, `bleed`, `output`, `advanced` and `security` sections (`list_commands` with filter `exportPdf`
|
||||
documents every field). `document.exportPdf` and `export` (format `pdf`, the options in `options`) return `warnings`:
|
||||
options accepted but not applied yet, and features approximated or left out. A standard with a PDF version it doesn't
|
||||
allow is refused (PDF/A-2b at 1.3 or 2.0, PDF/X-4 above 1.6, PDF/X-1a and PDF/X-3 above 1.4); choosing a
|
||||
standard without giving `compatibility` sets its version (PDF 1.3 for PDF/X-1a and PDF/X-3).
|
||||
options accepted but not applied yet, and features approximated or left out. An image whose pixel data can't be
|
||||
decoded (a PNG cut short) is left out of the pages, and `warnings` holds the note "an image couldn't be decoded and
|
||||
is missing from the picture" once, as raster exports give it; `.ai` saves and `file.print` do the same. A standard with a
|
||||
PDF version it doesn't allow is refused (PDF/A-2b at 1.3 or 2.0, PDF/X-4 above 1.6, PDF/X-1a and PDF/X-3 above 1.4);
|
||||
choosing a standard without giving `compatibility` sets its version (PDF 1.3 for PDF/X-1a and PDF/X-3).
|
||||
A `security` password encrypts the file (RC4 40-bit at PDF 1.3, RC4 128-bit at 1.4–1.5, AES-128 at 1.6, AES-256 at
|
||||
1.7 and 2.0) with its permissions; either password opens it (`document.open {password}`), and a password with PDF/A or PDF/X is refused.
|
||||
Pattern fills and strokes are written as their tiles clipped to the area they paint (a stroke's outline, with its
|
||||
|
||||
Reference in New Issue
Block a user