Thanks to visit codestin.com
Credit goes to lib.rs

2 releases

0.1.1 Feb 20, 2025
0.1.0 Feb 17, 2025

#1321 in Cryptography

Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App Codestin Search App

63 downloads per month
Used in 2 crates

MIT and GPL-3.0 licenses

8MB
24K SLoC

NiPdf

Nipdf is a PDF file reader and tools written in Rust. It is still in development, lack some features, but it can view most PDF files without problem.

Workspace structure

  • nipdf: The core library.
  • nipdf-macro: The macro library for nipdf library.
  • nipdf-render: Render library using tiny-skia library.
  • nipdf-dump: The command line interface tool to extract, dump and convert PDF file to png image.
  • nipdf-reader: The GUI viewer using iced gui library.
  • nipdf-viewer: The GUI viewer using gtk gui library.
  • prescript: Postscript virtual machine, to handle postscript function, type1 font, cmap, etc.
  • cff-parser: CFF font parser.

Start

Run cargo run -p nipdf-reader -- path-of-pdf-file

Screenshot

screenshot

TODO

  • PDF 2.0 support
  • Annotation render
  • Interactive Form
  • Wasm
  • Pure Rust
  • Shadings
    • Radius shading with two circles
    • Free-form Gouraud-shaded triangle meshes (Type 4)
    • Lattice-form Gouraud-shaded triangle meshes (Type 5)
    • Coons patch meshes (Type 6)
    • Tensor-product patch meshes (Type 7)
  • Stable core API

Pure Rust

Fowling C/C++ lib used because of no equivalent rust crates or has missing some feature or bug.

  1. zlib, rust version failed handle some deflate cases
  2. freetype, ttf-parser can not render type1 font, and failed render some cjk glyphs

Dependencies

~36MB
~718K SLoC