v0.3.55 | Ruby + PHP language bindings + multi-line heading reading-order fix
Added
- Ruby binding (9th language) — full PDF toolkit for Ruby. Install
withgem install pdf_oxide. Prebuilt native gems for linux-x86_64,
linux-aarch64, darwin-x86_64, darwin-arm64, windows-x64 plus a
source gem. API mirrors the Java binding's 9-class shape
(PdfDocument,Pdf,PdfPage,PdfPolicy,PdfSigner,
PdfValidator,DocumentEditor,AutoExtractor,
MarkdownConverter) so docs and examples are uniform across
languages. Full feature parity with Python / Java including
auto-extraction, PAdES B/T/LT signing, destructive redaction,
office round-trip, and split-by-bookmarks. (#545) - PHP binding (10th language) — full PDF toolkit for PHP. Install
withcomposer require oxide/pdf-oxide. PHP 8.2 / 8.3 / 8.4 / 8.5
on Linux / macOS / Windows. Same 9-class API shape as Ruby and
Java. Composer post-install hook fetches the matching prebuilt
libpdf_oxideper platform with SHA-256 verification. Full feature
parity with Python / Java. Requiresext-ffi. (#546)
Fixed
- #543 — Long subsection titles in multi-column academic papers
no longer split when they wrap across column boundaries.
Discovered while regression-testing v0.3.54 on a 75-PDF corpus. - #537 (follow-up) — Markdown output now emits Unicode
bidi-isolation markers around RTL runs detected by the v0.3.54
Hebrew / RTL detector, so extracted Hebrew / Arabic text renders
correctly inside mixed-direction paragraphs. Original report by
alexagr; this completes the markdown emission half deferred
from v0.3.54. - #535 (follow-up) — Type 1 built-in encodings, CFF charset,
and/Differences-array glyph lookups now go through the same
Adobe Glyph List fallback chain as v0.3.54's main extractor, with
variant-suffix stripping (A.sc→A,bullet.alt→•,
fi.001→fi). Resolves replacement-character (�) leakage on
PDFs using simple-font encodings without a ToUnicode CMap.
Installation
Rust (crates.io)
cargo add pdf_oxidePython (PyPI)
pip install pdf_oxideJavaScript/WASM (npm)
npm install pdf-oxide-wasmCLI (Homebrew)
brew install yfedoseev/tap/pdf-oxideCLI (Scoop — Windows)
scoop bucket add pdf-oxide https://github.com/yfedoseev/scoop-pdf-oxide
scoop install pdf-oxideCLI (Shell installer)
curl -fsSL https://raw.githubusercontent.com/yfedoseev/pdf_oxide/main/install.sh | shCLI (cargo-binstall)
cargo binstall pdf_oxide_cliMCP Server (for AI assistants)
cargo install pdf_oxide_mcpPre-built Binaries
Download archives for Linux, macOS, and Windows from the assets below. Each archive includes both pdf-oxide (CLI) and pdf-oxide-mcp (MCP server).
Platform Support
| Platform | Architecture | Archive |
|---|---|---|
| Linux | x86_64 (glibc) | pdf_oxide-linux-x86_64-*.tar.gz |
| Linux | x86_64 (musl) | pdf_oxide-linux-x86_64-musl-*.tar.gz |
| Linux | ARM64 | pdf_oxide-linux-aarch64-*.tar.gz |
| macOS | x86_64 (Intel) | pdf_oxide-macos-x86_64-*.tar.gz |
| macOS | ARM64 (Apple Silicon) | pdf_oxide-macos-aarch64-*.tar.gz |
| Windows | x86_64 | pdf_oxide-windows-x86_64-*.zip |
Changelog
See CHANGELOG.md for full details.