13 releases

0.1.12 Nov 20, 2023
0.1.11 Nov 13, 2023
0.1.8 Sep 16, 2022

#217 in Graphics APIs

Used in rustweb2


662 lines

This crate implements minimal conversion from HTML to PDF.

ToDo: Proper parsing of tag attibutes. Font sizing, html tables. A whole lot more.

Test example

   use pdf_min::*;
   let source = format!("
  <title>Rust is Great</title>
<h1>Important Notice&excl;</h1>
<p>Hello <b>something bold</b> ok</p>
<p>Hi <i>italic test</i>
<p>Hi <i><b>bold italic test</b> ok</i>
<p>Hi <sup>sup test</sup> ok
<p>Hi <sub>sub text</sub> ok
","Some words to cause Line and Page wrapping ".repeat(200));
   let mut w = Writer::default();
   w.b.nocomp = true;
   w.line_pad = 8; // Other Writer default values could be adjusted here.
   html(&mut w, source.as_bytes());

   use std::fs::File;
   use std::io::prelude::*;

   let mut file = File::create("test.pdf").unwrap();


~158K SLoC