mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-25 10:39:01 -06:00
47 lines
2.1 KiB
Markdown
47 lines
2.1 KiB
Markdown
# hayro
|
|
|
|
[](https://crates.io/crates/hayro)
|
|
[](https://docs.rs/hayro)
|
|
|
|
<!-- cargo-rdme start -->
|
|
|
|
A crate for rendering PDF files.
|
|
|
|
This crate allows you to render pages of a PDF file into bitmaps. It is supposed to be relatively
|
|
lightweight, since we do not have any dependencies on the GPU. All the rendering happens on the CPU.
|
|
|
|
The ultimate goal of this crate is to be a *feature-complete* and *performant* PDF rasterizer.
|
|
With that said, we are currently still very far away from reaching that goal: So far, no effort
|
|
has been put into performance optimizations, as we are still working on implementing missing features.
|
|
However, this crate is currently the most comprehensive and feature-complete
|
|
implementation of a PDF rasterizer in pure Rust. This claim is supported by the fact that we currently
|
|
include over 1000 PDF files in our regression test suite. The majority of those have been scraped
|
|
from the `pdf.js` and `PDFBOX` test suites and therefore represent a very large and diverse sample
|
|
of PDF files.
|
|
|
|
As mentioned, there are still some serious limitations, including lack of support for
|
|
encrypted/password-protected PDF files, blending and isolation, knockout groups as well as a range
|
|
of smaller features such as color key masking. But you should be able to render the vast majority
|
|
of PDF files without too many issues.
|
|
|
|
### Safety
|
|
This crate forbids unsafe code via a crate-level attribute.
|
|
|
|
### Examples
|
|
For usage examples, see the [example](https://github.com/LaurenzV/hayro/tree/master/hayro/examples) in
|
|
the GitHub repository.
|
|
|
|
### Cargo features
|
|
This crate has one optional feature:
|
|
- `embed-fonts`: See the description of [`hayro-interpret`](https://docs.rs/hayro-interpret/latest/hayro_interpret/#cargo-features) for more information.
|
|
|
|
<!-- cargo-rdme end -->
|
|
|
|
## License
|
|
Licensed under either of
|
|
|
|
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or <http://www.apache.org/licenses/LICENSE-2.0>)
|
|
- MIT license ([LICENSE-MIT](LICENSE-MIT) or <http://opensource.org/licenses/MIT>)
|
|
|
|
at your option.
|