github storytold/pdfcraft v0.21.0
PdfCraft v0.21.0

one hour ago

What's Changed

  • Fix main's Windows build: xtask's temp folder builder is mutable only on Unix by @bflatastic in #6712
  • Land renderer patches, layer auto state, auto-tag artifacts, export clips and print page lookup (#3969, #4393, #4396, #4410, #4433, #4459, #4159, #5075, #5973) by @bflatastic in #6711
  • fix(a11y): mark vector graphics and images as artifacts in autotag_text (#4080) by @jonathanwxh-cell in #4159
  • M2: an Indexed image with a short lookup table or an out-of-range hival is drawn as most readers draw it, and one with no table is skipped with a warning (view.render-pages) by @mtlcl410 in #4393
  • M2: layers open in the state the view auto state sets, and the Layers panel follows /Order (view.layers-panel) by @mtlcl410 in #4396
  • fix(render): degenerate subpaths, all-zero dash arrays and negative line widths stroke as the spec says (hayro-interpret patch 61) by @mtlcl410 in #4410
  • M2: zero-area fills and clips mark the pixels they touch (view.render-pages) by @mtlcl410 in #4433
  • M2: the standard 14 fonts fit the Euro to its standard width (view.render-pages) by @mtlcl410 in #4459
  • fix(edit): Office export respects a form's /BBox and a page's re/W/n clip by @MichaelMuClaude in #5075
  • fix(print,engine): read the page tree once when finding which pages' text reads up by @dylanmtaylor in #5973
  • Land forms, links, find and redaction-save fixes (#4496, #4532, #3567, #3773, #4470, #4474, #4497, #5658) by @bflatastic in #6710
  • M9: empty signature fields show a Sign tab, sized to the field by @EricKaden in #3773
  • M3: relative links resolve against the document's base URI, and a link is active only in its QuadPoints (view.follow-links) by @mtlcl410 in #4474
  • M6: list boxes show and pick the option /I names, and a single-select list shows one value (#4531) by @mtlcl410 in #4532
  • M5: the text selection bar stays inside the pages' area (#5577) by @Lcoding15 in #5658
  • Land comment groups, appearance defaults, callout parts, pop-ups and stamp lines (#4358, #4365, #4094, #2137, #2345) by @bflatastic in #6713
  • M6: custom stamps can carry a line filled in when they are placed (#1741) by @mtlcl410 in #2345
  • Windows gate: the owner-rights test allows an elevated run by @bflatastic in #6729
  • Land XFA layout, scripting and form fixes (#3589, #4336, #4359, #4517, #4537, #4608, #4662, #4664, #4784, #4791, #5010, #5122, #5124, #5153, #5225, #5368, #5369, #5370, #5393) by @bflatastic in #6716
  • M12: screen-only and print-only XFA objects are shown and printed as the form says by @EricKaden in #4336
  • M12: XFA enter and exit scripts run whenever a field gains or loses focus by @EricKaden in #4359
  • M12: run an XFA signature field's preSign scripts before it is signed and postSign after by @EricKaden in #4517
  • XFA: fields and exclusion groups that must be filled in are Required by @EricKaden in #4537
  • fix(xfa): AcroForm field walks read each field once and bound what they queue by @lowtide-lab in #5122
  • Land print production, viewer, attachment and optimizer changes (#1918, #1998, #2539, #2348, #2701, #3806, #4139, #4378, #4401, #4763, #5259, #5508, #5316, #4434, #4440, #6092, #6098) by @bflatastic in #6714
  • Allow Ctrl+wheel zoom in an unfocused window (#3736) by @MarekSpodBiedry in #3806
  • M10: landscape sheets stay landscape on CUPS, with a test at each print path (rebases #3068; @zdblazer) by @EricKaden in #4763
  • M12: a PDF portfolio opens on its initial document and shows its files (#1652) by @EricKaden in #5259
  • M12: edit attachment descriptions by @Harrison-Booth in #5508
  • fix(a11y): annotation checks and form tagging stop copying shared annotation data by @dylanmtaylor in #6092
  • fix(forms): AFSimple_Calculate folds field values as it reads them, within an allowance by @dylanmtaylor in #6098
  • Search: keep the match in the middle while a zoom is still on (#3530, builds on #3547) by @Lcoding15 in #4139
  • M3: a password prompt keeps a place in the open queue for its retry by @bflatastic in #6731
  • Align stream decode cap with renderer at 256 MiB by @eliets2 in #6585
  • M10: the Print dialog remembers two-sided, grayscale, collate, sizing, comments & forms and Print as image (#2001, #6392) by @mtlcl410 in #2103
  • feat(print): add Folio and Folio / F4 paper presets (#4777) by @YusufMntm in #4953
  • fix(print): fall back to the lpoptions listing when the PPD is unreadable (#4699) by @lordwotton29 in #4703
  • M10: grayscale with Print as image prints on a driver that keeps no grayscale (#5806) by @austin62jake in #5882
  • M10: each printer keeps its paper, sizing and two-sided choice across restarts; the last printer is preselected (#2001) by @FredApps in #6779
  • FormCalc: a script its own clock stops is abandoned, as when the wait runs out first (flaky hostile_formcalc test) by @FredApps in #6783
  • fix(print): M10 — Windows ya no cambia las letras de las fuentes TrueType incrustadas (#3132) by @j7121994 in #4098
  • fix: cap print dialog height to the screen so it can't overflow top/b… by @desingtorres-eng in #6223
  • Print: list printers without asking drivers; ask only about the one picked (#2192) by @art804 in #3554
  • M10 #5130: resolve Windows printer-default duplex before spooling by @robertobulltech in #5180
  • M10: Windows prints at the printer's resolution, not ~96 dpi; Canon and Toshiba ticket fixes (craft-print 0e4943cb) (#4941) by @FredApps in #6793
  • fix(preflight): handle typeless annotations, indexed colour, and indirect filters by @jonathanwxh-cell in #5279
  • Updates: Restart to Update with unsaved changes opens the save prompt by @dotCooCoo in #6726
  • Zeroize key material, KDF buffers, and UI password drafts (#3928) by @jonathanwxh-cell in #4427
  • fix(ui): keep added image corner resize responsive and clip out-of-bounds drag preview (#4477, #3938) by @jonathanwxh-cell in #4625
  • Booklet printing: creep compensation by @KenM76 in #6790
  • M6: the Calculate tab shows and edits a field's custom calculation script (#6630) by @ljkx in #6717
  • fix(annot,ui-egui): guard comment edits against non-comments and stale state (#3916) by @jonathanwxh-cell in #4673
  • M10: preserve printable Link appearances (#5022) by @robertobulltech in #5028
  • M6: form buttons open the files attached to their document (exportDataObject) by @EricKaden in #3575
  • fix(ui): All tools ▸ Edit a PDF turns on Edit text & images at once by @meethere in #4605
  • fix(export): skip empty HTML runs and clamp heading levels to h6 by @jonathanwxh-cell in #6136
  • Updates test: answer the startup prompt before clicking in Preferences by @bflatastic in #6799
  • M12: XFA forms with many repeated rows lay out in linear time (form.xfa-dynamic) by @mtlcl410 in #6776
  • M2: a JBIG2 mask with a large symbol dictionary draws, and one a decoder limit refuses takes its picture with it (#6722) by @Piohrun in #6784
  • M7: a font's metrics can be read within a caller's decode allowance (#6239, merged with main) by @bflatastic in #6800
  • M7: a font's metrics can be read within a caller's decode allowance by @Piohrun in #6239
  • M7: paragraph edits keep the advance of the text they drop (edit.text-edit) by @mtlcl410 in #2968
  • M12: dynamic XFA forms tab in their template's traversal order by @EricKaden in #4149
  • fix(ui): keys under a dialog or a menu leave the pages alone (keyboard routing, part 1) by @alehel in #6608
  • fix(edit): preserve source fonts in mixed-script paragraphs (#2778, merged with main) by @bflatastic in #6806
  • M8: redaction keeps an image a form without resources still draws (#6341, merged with main) by @bflatastic in #6805
  • M8: redaction keeps an image a form without resources still draws by @Piohrun in #6341
  • Windows: Tesseract and the --control tools start without a console window (#6732) by @ljkx in #6735
  • M3: a file named with open parameters opens at their destination (#3425) by @hazeliscoding in #5049
  • fix(redact): a shared JBIG2 dictionary leaves with whatever used it, by any route by @Piohrun in #5698
  • Find and replace text in Edit text mode: a Replace row in the Find box, Replace all as one undo step by @regendorf-ux in #2467
  • M10: Windows prints a large image whole: drawn as tiles under Windows.Data.Pdf's cap (#5131) by @austin62jake in #5897
  • Print: custom paper sizes, kept per printer with its setup (re-lands #2381) by @FredApps in #6830
  • fix(annot): drop Apple Markup's stale copy when a page's annotations change by @Kiwi-Kwi in #2829
  • M10: Recognize text no longer clips the first and last letters of a line by @huppiflupp in #5058
  • Bump storytold/egui to 725a39fc (lands #6699) by @bflatastic in #6824
  • Print a selected area from Take a Snapshot (lands #2491) by @bflatastic in #6820
  • M10: preserve annotation placement precision in vector prints by @KyleKassen in #5002
  • fix(forms): ignore print requests from automatic field scripts by @enriquemelzer-bit in #4166
  • M10: retain printed artwork with indirect annotation metadata (lands #4668) by @FredApps in #6855
  • fix(print): keep the localized reset label off the properties panel title by @lordwotton29 in #5550
  • fix(ui-egui): keep hotbar picker stationary while resizing by @patel-vansh in #6513
  • M10: a booklet's both sides follow a driver that keeps its own two-sided setting (#5772) by @austin62jake in #5903
  • M10: preserve NoRotate appearance geometry in vector printing by @KyleKassen in #5036
  • Print in grayscale prints on a Windows driver with no grey option (#5806) by @FredApps in #6863
  • Do not send duplex to printers without two-sided support by @eliets2 in #6673
  • Render: an isolated CMYK group of any size blends in CMYK, in bands by @FredApps in #6885
  • fix(print): auto-detect printer paper size and add page setup sync (fixes #5861) by @Combiler01 in #6100
  • M10: preserve annotation layers in vector print output by @KyleKassen in #5019
  • Print: a printer's remembered paper wins over its driver's default paper by @FredApps in #6906
  • fix: Continuous Scrolling toggle not working in Preference tab (#6780) by @Combiler01 in #6889
  • macOS: a job that names no paper tray asks for Auto Select (craft-print 1ee01a4c, #3752) by @FredApps in #6905
  • M4: bind property drafts with edit-session and replay UI scenarios by @PerchAnton in #4594
  • Test: the non-UTF-8 output-name probe test doesn't run on macOS by @FredApps in #6913
  • fix(platform): preserve visibility when saving files to network paths (#5001) by @YusufMntm in #5048
  • feat(js): expose document page boxes by @Harrison-Booth in #5501
  • Test: at the minimum width on macOS the main menu may be the folded Menu button by @FredApps in #6920
  • CI: the workspace's tests on macOS each night (and on demand) by @FredApps in #6921
  • Fix #5211: make calculateNow synchronous by @Harrison-Booth in #5304
  • Test: wait for the paper row before clicking Custom… while discovery is pending by @FredApps in #6925
  • Add JavaScript push-button caption methods by @Harrison-Booth in #5505
  • Fix #5211: persist JavaScript field colours by @Harrison-Booth in #5499
  • fix(optimize): bound each unused-resource decode by the remaining shared budget by @dylanmtaylor in #6046
  • cos: drop the duplicate decoded_strict_within that breaks main by @dylanmtaylor in #6933
  • fix(cos): remove duplicate decoded_strict_within that broke main by @dylanmtaylor in #6934
  • packaging: use [[ for bash tests (SonarCloud S7688) by @dylanmtaylor in https://github.com//pull/6932
  • M7: replacing a line keeps both of two dropped quote copies' line move and spacing (edit.text-edit) by @mtlcl410 in #2961
  • fix(cos): cap the total entries a materialized xref-stream chain merges (#5082) by @Higgs32584 in #5090
  • fix(engine, automation): Action Wizard and doc_batch honour JavaScript being off (#5080) by @Higgs32584 in #5088
  • Print: the printer's own paper sizes in the Paper list, named as the job's media by @MaxFairwinds in #2672
  • fix(render): bound the objects lopdf's fallback parses from object streams and arrays (#5083) by @Higgs32584 in #5095
  • fix: anchor comments to highlighted text by @DevSidd2006 in #3763
  • fix(js): follow every reading of a script in the nesting guard, so a regex can't put it out of phase (#5079) by @Higgs32584 in #5087
  • Print: flatten transparent sheets for GDI (v3) printer drivers (#6155, #5838, #5940) by @FredApps in #6955
  • fix: integrate persistent AcroForm script workflows with native prompts and appearance writeback by @Doom666DE in #5699
  • feat(prc): PrcFile::units, the model's unit from its model file by @KenM76 in #6919
  • perf(organize): decode the XMP packet once for repeated document-information reads by @KenM76 in #6918
  • fix(cos): a clone that edits an object stream or a /Length stops reading what other clones cached by @KenM76 in #6910
  • fix(crypt, engine): refuse page extraction when Protect allows any change except extracting pages (#5081) by @Higgs32584 in #5089
  • M10: open Word, Excel and PowerPoint files through LibreOffice by @max1e6 in #3059
  • feat(forms): open, Will Save and Will Print actions, widget pointer/focus scripts, setItems/setAction/toSource (port of #344) by @FredApps in #6969
  • M7: a font's metrics are past their allowance only when it refused a read by @Piohrun in #6813
  • M11: Optimize stores a picture's one-bit masks as monochrome images by @Piohrun in #6825
  • M8: the Type 3 cleanup charges the page only when there is a Type 3 font by @Piohrun in #6860
  • M8: the redaction walk reads a form's /Matrix entries by reference by @Piohrun in #6886
  • M8: redaction reads an operator's operands from the end, as the renderer does by @Piohrun in #6927
  • M11: Optimize stores one-bit images and masks past 80 million pixels as monochrome images by @Piohrun in #6935
  • M8: redaction refuses a page whose content it can't fully parse by @Piohrun in #6882
  • fix(redact): apply marks with an indirect /Subtype and judge inline annotations by @dylanmtaylor in #5849
  • fix(forms): deleting a field removes ancestors it leaves without kids by @dylanmtaylor in #6997
  • fix(redact): a covered clip-and-paint path leaves an empty clip, not its outline by @dylanmtaylor in #6996
  • Release: PdfCraft v0.21.0 by @FredApps in #6995

New Contributors

Full Changelog: v0.20.0...v0.21.0

Don't miss a new pdfcraft release

NewReleases is sending notifications on new releases.