hpdf
hpdf

Shard to create PDF documents with crystal using libharu/libhpdf.
Example renderings of the example files and specs:
Installation
-
Add the dependency to your
shard.yml:dependencies: hpdf: github: threez/hpdf.cr -
Run
shards install
Usage
require "hpdf"
pdf = Hpdf::Doc.build do
page do
draw_rectangle 50, 50, width - 100, height - 110
text Hpdf::Base14::Helvetica, 70 do
text_out :center, :center, "Hello World"
end
end
end
pdf.save_to_file "hello.pdf"
C library dependencies
Requires libharu ≥ 2.4.6, which depends on libpng and zlib.
-
macOS —
brew install libharu(ships ≥ 2.4.6) -
Alpine —
apk add libharu(check version; build from submodule if < 2.4.6) -
Arch Linux —
pacman -S libharu -
FreeBSD —
pkg install libharu -
OpenBSD —
pkg_add libharu -
Debian/Ubuntu —
aptships libhpdf 2.3 (too old). Build from the bundled submodule instead:git clone https://github.com/threez/hpdf.cr cd hpdf.cr make libharu # initialises submodule and builds a static lib; no system install neededThe shard's
@[Link]detects and links the built static library automatically.
Development
Use the examples to write demos. Read about libharu here:
- http://libharu.sourceforge.net/index.html
- https://github.com/libharu/libharu/wiki
Contributing
- Fork it (https://github.com/threez/hpdf.cr/fork)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- Vincent Landgraf - creator and maintainer
