mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 09:46:59 -06:00
PDF/X-1a and X-3: flattening keeps a CMYK document's inks where it rasterizes (#2160)
Exporting a CMYK document to PDF/X-1a or PDF/X-3 flattens transparency first. Where the flattener has no single colour (an image with see-through pixels over a flat fill, gradients, masks, raster effects) it renders the area into an image, and that image was always an RGB PNG. The PDF writer then separated it back to CMYK, so CMYK art behind the image came back with other inks: a C100 M6 Y41 K3 panel printed C75 M14 Y35 K5 under a transparent logo, with a hard edge against the rest of the panel, and K moved into C, M and Y. For files without transparency the flattener's images are opaque and clipped to their regions anyway, so in a CMYK document it now draws them as ink amounts over the paper (Renderer::render_region_inks) and stores a CMYK TIFF, which the PDF writer keeps as DeviceCMYK samples. An area too large for a CMYK image falls back to the PNG it made before. In-app Flatten Transparency and other flattening, whose images keep alpha, are unchanged. Test: tests_pdfx::pdfx_1a_flattening_keeps_the_inks_behind_an_image_in_a_cmyk_document exports a CMYK panel under a half see-through PNG to PDF/X-1a, opens the file again and checks the inks behind the see-through half. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
committed by
bflatastic
co-authored by
Claude Opus 5.5
parent
5a258e4c73
commit
945fa338d0
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user