mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-25 18:27:02 -06:00
M4.82: PDF export writes top-level layers as PDF layers
Create PDF layers from top-level layers (document.exportPdf createLayers, the Save PDF dialog's General option) now writes an optional content group per top-level layer (template layers are left out): named as the layer, off when the layer is hidden, /PrintState /OFF when its Print option is off, locked when it is locked, listed top first, with a print auto-state (not under a standard). The file reopens with those layers. The PDF writer has no optional content, so each layer is drawn as a form of its own (no transparency group, so it draws as in place) starting with a mark; after writing, the uses of the layers' forms are wrapped in /OC ... BDC/EMC and the catalog gets /OCProperties (crates/pdf/src/forms.rs, through the shared patch writer and the PDF syntax reader of encrypt.rs). PDF 1.4 and a knockout page group write plain page content with a warning; the dialog greys the option at 1.4. The "not written yet" warning is gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d7e9f2a47a
commit
0e4d3f6871
@@ -223,6 +223,9 @@ permissions; either password opens it (`document.open {password}`), and a passwo
|
||||
Pattern fills and strokes are written as their tiles clipped to the area they paint (a stroke's outline, with its
|
||||
dashes, caps, profile, arrowheads and alignment), and freeform gradients as an image of their colour field at the
|
||||
document's raster effects resolution, clipped the same way.
|
||||
`createLayers` writes each top-level layer (template layers are left out) as a PDF layer, an optional content group
|
||||
named as the layer: hidden layers are off, non-printing ones have `/PrintState /OFF` and locked ones are locked. It needs
|
||||
PDF 1.5 or later (at 1.4 it warns), and the file reopens with those layers.
|
||||
Images follow the `compression` settings of their kind (`color`, `gray`, or `mono` for black-and-white images): above
|
||||
`abovePpi` as placed they are resampled (`downsample`: `average`, `subsample` or `bicubic`) to `ppi`, and compressed
|
||||
with `zip`, `jpeg` (at `quality`; images with transparency stay lossless) or `auto` (JPEGs stay JPEG, the others
|
||||
|
||||
Reference in New Issue
Block a user