Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 1.06 KB

README.md

File metadata and controls

33 lines (23 loc) · 1.06 KB

Typst as Library

As of March 15th, 2024 (typst version 0.11.0) it has finally been published to crates.io, so there is no more need for git dependencies.

This repository shows how to use typst as a library in Rust.

fn main() {
    let content = "= Hello, World!";

    // All the abstraction needed is here (!)
    let world = TypstWrapperWorld::new("./examples".to_owned(), content.to_owned());

    // Render document
    let document = typst::compile(&world)
        .output
        .expect("Error compiling typst");

    // Output to pdf
    let pdf = typst_pdf::pdf(&document, &PdfOptions::default()).expect("Error exporting PDF");
    fs::write("./output.pdf", pdf).expect("Error writing PDF.");
}

You can run the example above via cargo run --example readme


Acknowledgment

Code has been inspired by