Zhihui Song
b334ebbbfe
fix: read PDF jobs on demand through a read-only file stream
2026-11-07 15:05:34 +08:00
Zhihui Song
17f5f1e3c5
fix: load Windows PDF print jobs through a stream
2026-11-07 14:12:05 +08:00
skylar taylor-barrick
64e7afd4d1
Merge pull request #11 from cart2notasmn-ops/fix/d2d-multithreaded-factory
...
fix: create the Direct2D factory multi-threaded for Windows.Data.Pdf
2026-11-05 00:29:00 +01:00
cart2notasmn-ops and Claude Opus 5.5
f256775bec
fix: create the Direct2D factory multi-threaded for Windows.Data.Pdf
...
Windows.Data.Pdf renders a page on several worker threads that share the
device context passed to RenderPageToDeviceContext. With a single-threaded
factory Direct2D takes no locks, so those threads race inside d2d1.dll:
access violations reading near null (d2d1.dll+0x93fd4, address 0x338) or
executing freed memory (BEX64), mostly on long jobs of scanned pages.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-27 12:31:35 -03:00
skylar taylor-barrick
d1dc3c2089
Merge pull request #1 : safe shared RGB/GDI driver transport
...
Expose safe shared RGB/GDI driver transport
2026-10-13 22:20:17 -06:00
skylartaylor
0fc13c0708
Run adapter qualification on the review branch
2026-10-13 03:19:54 +02:00
skylartaylor
417ac3c4d1
Respect driver validity flags when checking manual copies
2026-10-13 02:29:57 +02:00
skylartaylor
c32b8e7172
Add safe shared Windows RGB driver transport
2026-10-13 02:11:56 +02:00
skylar taylor-barrick
5f80b9baf6
feat: report PDF page total before processing
2026-10-12 23:08:56 +02:00
skylar taylor-barrick
3c60c53482
fix: propagate DXGI terminal failures and report PDF page processing
2026-10-12 23:08:35 +02:00
ArcticLampyrid
406ed733f1
release: v0.2.1
v0.2.1
2026-06-01 18:13:53 +08:00
ArcticLampyrid and Copilot
049b90e1c9
perf(test-utils): prefer to use -InputObject instead of -Name, avoiding double searching
...
Co-authored-by: Copilot <copilot@github.com >
2026-04-26 03:44:06 +08:00
ArcticLampyrid
40210f4872
fix(test-utils): canonicalize file path
2026-04-26 03:44:06 +08:00
ArcticLampyrid
cf83253d8f
test: add visual regression test
2026-04-26 03:44:06 +08:00
ArcticLampyrid
68fb7b3acb
fix(test-in-windows-vm): collect exit code correctly
2026-04-26 03:44:06 +08:00
ArcticLampyrid
cc4826764d
chore: upgrade dependencies
2026-04-25 03:20:33 +08:00
ArcticLampyrid
fba35cfc91
feat(test_utils): file printer device ( #11 )
2026-04-25 02:13:39 +08:00
ArcticLampyrid
774996a59b
feat: add Chromium-style safe EMF playback
2026-04-22 03:21:29 +08:00
ArcticLampyrid and TATSUNO “Taz” Yasuhiro
a61a99ff11
feat: align with Chromium's behavior for GDI printing initialization
...
Co-authored-by: TATSUNO “Taz” Yasuhiro <ytatsuno.jp@gmail.com >
2026-04-21 02:18:15 +08:00
ArcticLampyrid
4b280cad03
chore: configure target in vscode
2026-04-21 02:05:14 +08:00
ArcticLampyrid
d91ffac4b8
build: verify pdfium downloads with sigstore
2026-04-21 02:05:14 +08:00
ArcticLampyrid and Claude Sonnet 4.6
b303b9f0ad
fix: avoid TOCTOU race in printer enumeration by retrying on insufficient buffer
...
Replace the probe-then-fetch pattern with a grow-on-demand loop: start with a
null buffer and reallocate whenever EnumPrintersW returns ERROR_INSUFFICIENT_BUFFER,
so a printer list change between the two calls no longer causes a failure.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-21 02:05:14 +08:00
ArcticLampyrid
1646ac4be9
feat: add utils powered by KVM & Vagrant for testing in Windows VM
2026-04-21 02:05:14 +08:00
TATSUNO “Taz” Yasuhiro
80f9285ff4
feat: allow overriding pdfium build_id via WINPRINT_PDFIUM_BUILD_ID env var ( #9 )
2026-04-16 00:48:42 +08:00
ArcticLampyrid
a80430d175
release: v0.2.0
v0.2.0
2024-08-30 02:03:13 +08:00
ArcticLampyrid
8ebd2a2593
feat: add PageImageableSize for fetching imageable size
2024-08-29 05:17:49 +08:00
ArcticLampyrid
b96fa1ec44
feat: fetch capabilities for given ticket
2024-08-29 04:33:33 +08:00
ArcticLampyrid
6d92ece705
feat: add utility to specify copies ( #1 )
2024-08-16 00:09:29 +08:00
ArcticLampyrid
a4c7fee2f0
feat!: remove listing DocumentDuplex as I never fetch it.
...
.NET do not provide support for listing it either.
2024-08-15 23:47:40 +08:00
ArcticLampyrid
fd85c2eedd
feat: image printer
2024-08-15 16:22:34 +08:00
ArcticLampyrid
4ab5855fcc
refactor: move dxgi print logic into seperated mod for reusage
2024-08-15 16:20:01 +08:00
ArcticLampyrid
84f1daa394
fix: set proper dpi for DirectX render
2024-07-10 18:19:27 +08:00
ArcticLampyrid
562466caca
feat: add Windows.Data.Pdf backend for pdf printing
2024-07-08 07:27:53 +08:00
ArcticLampyrid
39241a7247
chore: migrate lazy_static to OnceLock
2024-06-22 07:23:07 +08:00
ArcticLampyrid
e63c0c7e51
chore: update dependencies
2024-06-22 07:10:37 +08:00
ArcticLampyrid
4747cc7dbd
fix!: use plural form in capabilities for option packs listing
2024-06-22 02:34:30 +08:00
ArcticLampyrid
b0f26c2e92
feat: add option pack for page resolution
2024-06-22 02:31:38 +08:00
ArcticLampyrid
eec259b661
feat: add option pack for page output color
2024-06-22 01:44:15 +08:00
ArcticLampyrid
4bf1165cc8
feat: add option pack for duplex type
2024-06-21 22:46:45 +08:00
ArcticLampyrid
91fbf3f762
feat!: include feature option pack to reuse code
2024-06-21 20:18:32 +08:00
ArcticLampyrid
9026208a0d
feat: add helper for PageOrientation
2024-06-21 18:36:48 +08:00
ArcticLampyrid
36d3fbc14c
feat: add display_name to PageMediaSize
2024-06-21 18:36:32 +08:00
ArcticLampyrid
895caf9b8b
docs: add example to extract print capabilities as xml
2024-06-21 18:20:21 +08:00
ArcticLampyrid
681b6fd8bd
fix: do not include that source error in its own Display representation
...
Link: https://alampy.com/2024/05/14/a-brief-of-error-chain-in-rust/
Link: https://github.com/rust-lang/api-guidelines/pull/210
2024-06-21 15:05:07 +08:00
ArcticLampyrid
4c835c39a0
perf: make initializer for NULL_DEVICE value const
2024-06-21 15:00:52 +08:00
ArcticLampyrid
c65922577f
style: avoid warning when pdfium is disabled
v0.1.0
2024-03-14 17:51:47 +08:00
ArcticLampyrid
58c1170707
fix: ensure port and driver exist for null device
2024-03-14 17:51:47 +08:00
ArcticLampyrid
675a33c06e
ci: add test job
2024-03-14 17:51:36 +08:00
ArcticLampyrid
20db327a84
docs: add basic metadata for crate
2024-03-14 16:35:29 +08:00
ArcticLampyrid
3e067c1499
feat: (re-)export the OwnedName type
2024-03-14 16:07:47 +08:00