lopdf

Crates.io

A Rust library for PDF document manipulation.

Example Code

```rust extern crate lopdf; use lopdf::{Document, Object, Dictionary, Stream, StringFormat}; use Object::{Null, Integer, Name, String, Reference};

let mut doc = Document::new(); doc.version = "1.5".tostring(); doc.addobject(Null); doc.addobject(true); doc.addobject(3); doc.addobject(0.5); doc.addobject(String("text".asbytes().tovec(), StringFormat::Literal)); doc.addobject(Name("name".tostring())); doc.addobject(Reference((1,0))); doc.addobject(vec![Integer(1), Integer(2), Integer(3)]); doc.addobject(Stream::new(Dictionary::new(), vec![0x41; 100])); let mut dict = Dictionary::new(); dict.set("A", Null); dict.set("B", false); dict.set("C", Name("name".tostring())); doc.add_object(dict); doc.compress(); doc.save("test.pdf").unwrap(); ```

rust let mut doc = Document::load("test.pdf").unwrap();