mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-01 05:58:12 -06:00
* M5: stamp_custom places a picture fitted inside a rect stamp_custom only centred a PDF page or image at its natural size, at most 200 pt, so a vector diagram could not be placed at a text column's width. It now takes rect [x0, y0, x1, y1] (displayed-page points, like at) as an alternative to at: the picture is scaled to fit inside the box, keeping its shape, and centred in it. A PDF page stays a form XObject, so it remains vector. - Engine: Edit::AddCustomStamp fits the picture inside a non-point rect instead of stretching it (fit_picture). A box already of the picture's shape is kept exactly, so signatures and other callers that size the box themselves are unchanged. The displayed sides are swapped on quarter-turned pages, as for the natural size. - Automation: rect is validated (four finite numbers, each side at least 1 pt and at most 14400 pt, the largest PDF page; not clipped to the page, like at); passing both at and rect, or neither, is refused. path still goes through the read root. - Tool schema and description, parity note and evidence. Fixes #4077 * M14: update ctutils to 0.4.5 for RUSTSEC-2026-0385 The dependency-advisory gate rejects ctutils 0.4.2 (non-constant-time mask generation and u128 comparisons, fixed in 0.4.4). It comes in through crypto-bigint for the signing crates. Only its version and checksum change in Cargo.lock. (cherry picked from commit 8a687ee2c6012e3d18399633d2fb9fb3742f02ae)
This commit is contained in:
@@ -4136,8 +4136,8 @@ milestone = "M5"
|
||||
status = "shipped"
|
||||
commands = ["comment.stamp"]
|
||||
tools = ["stamp_custom"]
|
||||
evidence = ["crates/ui-egui/tests/it/stamps.rs::creating_placing_and_keeping_custom_stamps", "crates/automation/tests/it/automation.rs::stamps_through_tools", "crates/engine/src/tests.rs::explicit_image_stamps_keep_displayed_orientation_on_rotated_pages", "crates/engine/src/tests.rs::pdf_page_stamps_keep_displayed_orientation_on_rotated_pages"]
|
||||
notes = "Create custom stamp from a PDF page or an image (category and name), kept in the app's settings; placed at natural size (at most 200 pt) keeping its shape; resizable (appearance redrawn from /PCPicture); delete from the palette. Natural-size and explicit-rectangle images, and PDF-page stamps, read upright on a rotated page (#1398)"
|
||||
evidence = ["crates/ui-egui/tests/it/stamps.rs::creating_placing_and_keeping_custom_stamps", "crates/automation/tests/it/automation.rs::stamps_through_tools", "crates/engine/src/tests.rs::explicit_image_stamps_keep_displayed_orientation_on_rotated_pages", "crates/engine/src/tests.rs::pdf_page_stamps_keep_displayed_orientation_on_rotated_pages", "crates/engine/src/tests.rs::pdf_page_stamps_fit_inside_an_explicit_box", "crates/automation/tests/it/automation.rs::custom_stamps_fit_a_pdf_page_inside_a_rect"]
|
||||
notes = "Create custom stamp from a PDF page or an image (category and name), kept in the app's settings; placed at natural size (at most 200 pt) keeping its shape; stamp_custom also takes rect, fitting the picture inside the box keeping its shape and centred, so a PDF page (a form XObject, still vector) can be placed at any size such as a full text column (#4077; the UI places by click only, at natural size, then resizes); resizable (appearance redrawn from /PCPicture); delete from the palette. Natural-size and explicit-rectangle images, and PDF-page stamps, read upright on a rotated page (#1398)"
|
||||
|
||||
[[feature]]
|
||||
id = "comment.stamps-manage"
|
||||
|
||||
Reference in New Issue
Block a user