Repository navigation
v1.0.0
gopdfrab 1.0.0 is the first release with a stable API. PDF/A-1b verification and
conversion are complete.
Highlights
- PDF/A-1b verification and conversion, with a verify/fix loop and a raster
fallback that reports what it could not draw rather than dropping it. - Generic ISO 32000 object-model checks off the Arlington model, in both
verification and conversion: thePDFprofile,ObjectModellevel, and
VerifyObjectModel/ConvertObjectModel. - Encryption: Standard security handler (RC4 40/128, AES-128, AES-256) with
user, owner and empty passwords. - Damage recovery: a missing
startxrefrebuilds the table by full-file
scan; an object that fails at its recorded offset is re-located or degraded to
null, and reported either way. - Context and batch APIs:
...Contextcounterparts of every entry point,
ConvertEach/ConvertEachContext, andOptions.Workers. - Large files: output over 8 MB spills to a temp file, content streams
tokenize past the resident budget, andLimits/SetLimitsplus
--max-decoded-mb/--max-resident-mbmake the caps settable. - Fidelity reporting:
Options.CheckFidelityfillsConvertResult.Fidelity
with per-page similarity and ink coverage;BlankedPages,OverpaintedPages,
RasterizedPages,RasterDropsandLostObjectseach report their own fact. - A CLI under
cmd/gopdfrab:verify/convert,--json, recursive input,
exit codes 0/1/2, SIGINT cancellation. - A WebAssembly build under
wasm/, registeringgopdfrabVerifyand
gopdfrabConvertas JavaScript globals. - 15 to 160 times faster than veraPDF and PDFBox Preflight depending on the metric.
Breaking changes since v0.7.0
ConvertResult.Outputis now the methodOutput() ([]byte, error), and
ConvertResult.Close()releases a spilled output.- Renamed for Go convention:
A_1BtoA1B,PDFA_1BtoPDFA1B,Legacy_1Bto
Legacy1B, andGetPageCount/GetVersion/GetMetadatato
PageCount/Version/Metadata. - The default decode budget drops from 256 MB to 64 MB. Raise it with
SetLimitsor--max-decoded-mb. - The declared minimum Go version is 1.24.
Install
go get github.com/voidrab/gopdfrab@v1.0.0
go install github.com/voidrab/gopdfrab/cmd/gopdfrab@v1.0.0
Or download a CLI binary below. They are static, built with CGO_ENABLED=0;
verify with sha256sum -c checksums.txt.
The full list of additions, changes and fixes is in
CHANGELOG.md.