Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pdf-rs/pdf
Rust library to read, manipulate and write PDF files.
https://github.com/pdf-rs/pdf
pdf pdf-files rust
Last synced: 16 days ago
JSON representation
Rust library to read, manipulate and write PDF files.
- Host: GitHub
- URL: https://github.com/pdf-rs/pdf
- Owner: pdf-rs
- License: mit
- Created: 2016-12-11T11:00:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-04-05T19:50:37.000Z (3 months ago)
- Last Synced: 2024-05-21T16:10:29.295Z (about 1 month ago)
- Topics: pdf, pdf-files, rust
- Language: Rust
- Homepage:
- Size: 3.33 MB
- Stars: 1,102
- Watchers: 25
- Forks: 110
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-stars - pdf-rs/pdf
- awesome-stars - pdf-rs/pdf - Rust library to read, manipulate and write PDF files. (Rust)
- my-awesome-stars - pdf-rs/pdf - Rust library to read, manipulate and write PDF files. (Rust)
- awesome-stars - pdf - rs | 604 | (Rust)
- awesome-from-stars - pdf-rs/pdf
- awesome-stars - pdf-rs/pdf - Rust library to read, manipulate and write PDF files. (Rust)
README
# pdf-rs [![test](https://github.com/pdf-rs/pdf/actions/workflows/test.yml/badge.svg)](https://github.com/pdf-rs/pdf/actions/workflows/test.yml) [![clippy&fmt](https://github.com/pdf-rs/pdf/actions/workflows/lint.yml/badge.svg)](https://github.com/pdf-rs/pdf/actions/workflows/lint.yml)
Read, alter and write PDF files.Modifying and writing PDFs is still experimental.
One easy way you can contribute is to add different PDF files to `tests/files` and see if they pass the tests (`cargo test`).
Feel free to contribute with ideas, issues or code! Please join [us on Zulip](https://type.zulipchat.com/#narrow/stream/209232-pdf) if you have any questions or problems.
# Workspace
This repository uses a Cargo Workspace and default members. This means by default only the `pdf` library is build.
To build additional parts, pass `--package=read` to build the subcrate you are interested in (here the `read` example).# Examples
Examples are located in `pdf/examples/` and can be executed using:```
cargo run --example {content,metadata,names,read,text} --
```# Renderer and Viewer
A library for rendering PDFs via [Pathfinder](https://github.com/servo/pathfinder) and minimal viewer can be found [here](https://github.com/pdf-rs/pdf_render).# Inspect
There is a tool for visualizing a PDF file as an interactive hierarchy of primitives at [inspect-prim](https://github.com/pdf-rs/inspect-prim). Just clone and `cargo run`.