Add pdf-invoice module: one invoice in OpenPDF 3.0.5, iText Core 9.8.0 and Flying Saucer 10.7.0, Devanagari shaping checked by rendering, streamed vs buffered download, subset sizes and timings

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017ic4b6Kg9RWSTJzyz6KP9X
This commit is contained in:
2026-10-30 16:46:25 +00:00
co-authored by Claude Sonnet 5.5
parent 9b1da079c6
commit 3a30194459
54 changed files with 1906 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
# in-process timing, openjdk version "25.0.5" 2026-10-20 LTS | 2 vCPU | 8027 MB RAM
# indicative: shared sandbox, one JVM, one run per line
# n=500 invoices per engine after 100 warm-up, one JVM, engines run one after another
# OpenJDK 64-Bit Server VM 25.0.5 | 2 vCPU
engine first_ms mean_ms p95_ms total_s pdf_bytes
openpdf 377.0 7.93 18.89 3.96 20034
itext 330.9 15.88 36.38 7.94 23338
flyingsaucer 1163.4 28.05 57.66 14.02 20008
openpdf-jdk-actualtext 423.5 42.89 107.47 21.45 22281
flyingsaucer-shaped 107.5 49.99 93.45 24.99 21537
# subset=false (whole font embedded), same invoice, one render each
openpdf subset=20025 bytes, whole font=186300 bytes
itext subset=23330 bytes, whole font=200149 bytes
flyingsaucer subset=19996 bytes, whole font=186308 bytes
openpdf-jdk-actualtext subset=22268 bytes, whole font=187399 bytes
flyingsaucer-shaped subset=21525 bytes, whole font=186691 bytes