mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-28 11:47:21 -06:00
M4.83: overprinting fills and strokes overprint in PDF
Advanced > Overprint: Preserve (the default; document.exportPdf advanced.overprint) writes each overprinting fill and stroke (an object's own, a character's, a type object's) with a graphics state of /OP true /op true /OPM 1 (/OPM 0 in PDF/A); Discard writes none. White ones knock out when Document Setup's Discard White Overprint is on, as in print. Mask art never overprints. File > Print's composite PDF honours Print > Advanced > Overprints: Preserve the same way (separations keep multiplying plates). Each overprinting fill or stroke is drawn as a form marked to overprint (crates/pdf/src/forms.rs); after writing, its content starts by setting the overprinting graphics state, and the PDF/X self-check runs on the result. The engine's "overprint is not written to PDF yet" warning and print's "overprints print as knockouts in composite output" warning are gone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
0e4d3f6871
commit
a09cbe58c8
+6
-2
@@ -451,6 +451,9 @@ of knocking them out. `object.setOverprint {fill?, stroke?, item?, ids?}` sets i
|
||||
characters too; `item` aims at one appearance item) and `attributes.info {ids?}` reads it back (`null` where the
|
||||
objects differ). Overprint Preview (`view.overprintPreview`) and Separations Preview show it; rendering approximates
|
||||
it by multiplying. Older files that listed Overprint Black objects in the document get the flags on load.
|
||||
PDF export writes them with `advanced.overprint: "preserve"` (the default): each overprinting fill and stroke sets a
|
||||
graphics state with `/OP true /op true /OPM 1` (`/OPM 0` in PDF/A). With `discardWhiteOverprint` (`document.setup`, on by
|
||||
default) white ones knock out instead; `"discard"` writes none.
|
||||
|
||||
```json
|
||||
{"name":"run_command","arguments":{"command":"object.setOverprint","params":{"ids":[12],"stroke":true}}}
|
||||
@@ -1303,7 +1306,7 @@ documents every field:
|
||||
with; without preserveNumbers CMYK colours are separated again).
|
||||
|
||||
Halftone screens and a fixed flatness are not written to the PDF (the output device's apply): the warnings say so,
|
||||
as they do for art larger than the imageable area and for overprints in composite output.
|
||||
as they do for art larger than the imageable area.
|
||||
|
||||
```json
|
||||
{"name":"run_command","arguments":{"command":"print.setup","params":{"settings":{"media":"a4","scaling":"fit","marks":{"trim":true}}}}}
|
||||
@@ -1614,7 +1617,8 @@ the placement then shows as placed by the tool, with a Reset button; dragging th
|
||||
|
||||
The Print dialog's Advanced section and the printer profile are print settings too (`print.setup`, `print.preview`,
|
||||
`file.print`): `advanced: {printAsBitmap, overprints: preserve|discard|simulate, flattenerPreset}` and `color:
|
||||
{profile}`. In composite output, `discard` makes overprinting fills and strokes knock out and `simulate` prints them
|
||||
{profile}`. In composite output, `preserve` writes overprinting fills and strokes with an overprinting graphics state
|
||||
(`/OP`, as PDF export does), `discard` makes overprinting fills and strokes knock out and `simulate` prints them
|
||||
as Overprint Preview shows them (multiplied); either way the file has no overprint left. Separations always keep
|
||||
overprints. `flattenerPreset` (High Resolution, Medium Resolution, Low Resolution or a saved preset,
|
||||
`flattener.presets.list`) flattens transparency before printing, as Object → Flatten Transparency does; empty, a
|
||||
|
||||
Reference in New Issue
Block a user