This project was created by a developer from Ukraine.

Russia has invaded Ukraine and already killed tens of thousands of civilians, with many more raped or tortured.

The death toll keeps climbing. It's a genocide. We need your help. Let's fight back against the Russian regime.

Support Ukraine

#StandWithUkraine

This project was created by a developer from Ukraine.

Russia has invaded Ukraine and already killed tens of thousands of civilians,

with many more raped or tortured. It's a genocide. We need your help.

Support Ukraine

#StandWithUkraine

hpdf.cr

Create PDF documents in crystal using libhpdf / libharu

hpdf .github/workflows/ci.yml https://threez.github.io/hpdf.cr/

Shard to create PDF documents with crystal using libharu/libhpdf.

Example renderings of the example files and specs:

montage.

Installation

  1. Add the dependency to your shard.yml:

    dependencies:
      hpdf:
        github: threez/hpdf.cr
    
  2. 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

Before usage you have to install the library libharu which depends on libpng and zlib:

SystemCommand
Alpineapk add libharu
Debian/Ubuntusudo apt install libhpdf-dev
Centossudo yum install libharu-devel
Fedora/Redhatsudo dnf install libharu-devel
FreeBSDpkg install libharu
OpenBSDpkg_add libharu
macOSbrew install libharu

Development

Use the examples to write demos. Read about libharu here:

Contributing

  1. Fork it (https://github.com/threez/hpdf.cr/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

Owner
github statistic
  • 10
  • 0
  • 0
  • 0
  • about 1 month ago
  • July 26, 2022
License

MIT License

Links
Synced at

Sun, 02 Oct 2022 16:58:17 GMT