DOCX interpretation
A forked dxpdf layer reads WordprocessingML and produces the document layout used by the bridge.
Rust document renderer
A DOCX-to-PDF renderer combining dxpdf layout with an enhanced Krilla backend and PDF Logical Unit V4 for Unicode text semantics, complex-script shaping, and high-fidelity output.
Rendering architecture
A forked dxpdf layer reads WordprocessingML and produces the document layout used by the bridge.
The Typsastra bridge translates layout into a dedicated rendering intermediate representation.
Enhanced Krilla shapes complex scripts and writes visual PDF content with logical Unicode semantics.
Data flow
The architecture separates document interpretation, layout bridging, rendering intent, and PDF serialization so each boundary can be tested independently.
# Rust stable toolchain required git clone https://github.com/Sovichea/typsastra-docx.git cd typsastra-docx cargo build -p typsastra-docx # Convert a document cargo run -p typsastra-docx -- input.docx output.pdf // Or call the Rust API let pdf = typsastra_docx::convert(&docx_bytes)?;
Quick start
Clone the repository, build the command-line package, and provide input and output paths. Cargo fetches the pinned dependencies on the first build.
For developers
Review the workspace architecture, supported behavior, fixtures, and current limitations in the repository.