mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-25 10:39:01 -06:00
* M10: exported TIFF and JPEG pages record the resolution they were drawn at A page exported as TIFF said 1 x 1 with no unit, whatever the dpi, and a JPEG export said nothing, so other programs showed and printed them at a default (a 300-dpi page shown at 72 dpi is four times too big). encode_image now takes the dpi: TIFF X/YResolution in inches, the JFIF density in dots per inch. PNG stays without pHYs. It counts pixels per metre, so 72 dpi would read back as 72.009, and a page made from an exported PNG (doc_create from images, as enhance_camera_image_through_tools does) would come out 0.01% small. Exporter records the resolution a page was actually drawn at (dpi_used), so a page too large for the renderer says the lower one. render records --dpi, since it refuses oversized pages. The TIFF is written with the tiff crate, already in the graph, because image's TiffEncoder can't set a resolution. * M10: TIFF page exports are LZW-compressed, as documented encode_tiff's comment said "LZW-compressed by the encoder's default", but the TIFF was written uncompressed: a Letter page at 300 dpi came to 25 MB. It is now LZW without a predictor, the compression TIFF readers support most widely after none. * Contributors: add my name for the About window
53 lines
1.9 KiB
TOML
53 lines
1.9 KiB
TOML
[package]
|
|
name = "pdfcraft-engine"
|
|
description = "PdfCraft engine façade: session, documents, command/tool catalogue"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
craft-docpath = { workspace = true }
|
|
pdfcraft-measure = { workspace = true }
|
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "tiff"] }
|
|
pdfcraft-render = { workspace = true }
|
|
pdfcraft-cos = { workspace = true }
|
|
pdfcraft-organize = { workspace = true }
|
|
pdfcraft-annot = { workspace = true }
|
|
pdfcraft-forms = { workspace = true }
|
|
pdfcraft-xfa = { workspace = true }
|
|
pdfcraft-edit = { workspace = true }
|
|
pdfcraft-audit = { workspace = true }
|
|
pdfcraft-redact = { workspace = true }
|
|
pdfcraft-print = { workspace = true }
|
|
pdfcraft-xfdf = { workspace = true }
|
|
pdfcraft-sign = { workspace = true }
|
|
pdfcraft-optimize = { workspace = true }
|
|
pdfcraft-a11y = { workspace = true }
|
|
pdfcraft-ocr = { workspace = true }
|
|
pdfcraft-js = { workspace = true }
|
|
pdfcraft-compare = { workspace = true }
|
|
pdfcraft-preflight = { workspace = true }
|
|
pdfcraft-export = { workspace = true }
|
|
pdfcraft-fonts = { workspace = true }
|
|
pdfcraft-create = { workspace = true }
|
|
pdfcraft-model = { workspace = true }
|
|
pdfcraft-geom = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
png = "0.18"
|
|
# Already in the graph (through image and pdfcraft-create): image's TiffEncoder can't set the
|
|
# resolution or the compression of an exported page.
|
|
tiff = "0.11"
|
|
# Already in the graph (url and idna through webbrowser, icu_properties through boa): they show
|
|
# the host of a document's link the way the browser reads it (links::display_host).
|
|
url = "2.5"
|
|
idna = "1.1"
|
|
icu_properties = "2.3"
|
|
unicode-segmentation = "1.13"
|
|
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
# Already in the graph through lopdf; used only for the local UTC offset ("today").
|
|
chrono = { version = "0.4", default-features = false, features = ["clock"] }
|