Skip to content

bertramdesigns/poppler-utils-rs

Repository files navigation

Poppler Utils in Rust

This is a std::process wrapper for the utilities in Poppler PDF rendering library.

This library is build to align with Frazer Smith's node-poppler. The goal is to provide a Rust alternative to the node wrapper.

Poppler version: 23.12.0 The Poppler executables are compiled from source for Mach-O, ELF, and PE formats. Data encoding for CJK and Cyrillic is included. NSS signatures & Curl are currently not supported.

For more complex needs:

It would be best to rebuild the utils and supporting functionality directly in Rust. A good starting point is the poppler-rs package.

Check out Amos to see documention of the journey to build poppler-rs with the GIR tooling.

TODO

  • Unix Poppler compile

  • Windows Poppler compile

  • pdfattach

    • module
    • tests
    • docs
  • pdfdetach

    • module
    • tests
    • docs
  • pdffonts

    • module
    • tests
    • docs
  • pdfimages

    • module
    • tests
    • docs
  • pdfinfo

    • module
    • [-] tests
    • docs
  • pdfseparate

    • module
    • tests
    • docs
  • pdfsig

    • module
    • tests
    • docs
  • pdftocairo

    • module
    • tests
    • docs
  • pdftohtml

    • module
    • [-] tests
    • [-] docs
  • pdftoppm

    • module
    • tests
    • docs
  • pdftops

    • module
    • tests
    • docs
  • pdftotext

    • module
    • [-] tests
    • docs
  • pdfunite

    • module
    • tests
    • docs

Usage

PDF to HTML

    fn pdf_to_html() {
        let file_path: &str = "test.pdf"; // can be Vec<u8>, &Path, PathBuf, &str, String
        let file: PopplerFile = file_path.as_poppler_path(); // or as_poppler_buffer() for Vec<u8>

        // Uses builder pattern to set options
        let mut config = poppler_utils::PdfToHtmlConfig::default();
        config.zoom = 1.5;

        poppler_utils::pdf_to_html(file, config);
    }

About

(in progress) Rust wrapper for Poppler PDF Utilities

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published