gutenex alternatives and similar packages
Based on the "PDF" category.
Alternatively, view gutenex alternatives based on common mentions on social networks and blogs.
-
pdf_generator
Create PDFs with wkhtmltopdf or puppeteer/chromium from Elixir. -
chromic_pdf
Convenient HTML to PDF/A rendering library for Elixir based on Chrome & Ghostscript -
pdf2htmlex
Convert PDF docs to beautiful HTML files without losing text or format.
Tired of breaking your main and manually rebasing outdated pull requests?
Do you think we are missing an alternative of gutenex or a related project?
README
Gutenex
PDF generation!
So weird that it's still a thing for murderers in horror movies to keep clippings of their crimes. PDF that shit! — Julieanne Smolinkski
What started out as a wrapper for the Erlang erlguten library has turned into a full rewrite in Elixir.
Plan
Rewriting the basic PDF functionality means:
- [x] text
- [x] fonts
- [x] images
- [x] rendering/exporting
- [ ] parsing existing PDFs
- [ ] templating
- [ ] documentation
Usage
# Load image, get alias
{alpaca_alias, alpaca_rendition} = Gutenex.PDF.Images.load("./test/support/images/alpaca.png")
{:ok, pid} = Gutenex.start_link
Gutenex.add_image(pid, alpaca_alias, alpaca_rendition) |>
Gutenex.begin_text |>
Gutenex.set_font("Helvetica", 48) |>
Gutenex.text_position(40, 180) |>
Gutenex.text_render_mode(:fill) |>
Gutenex.write_text("ABC") |>
Gutenex.set_font("Courier", 32) |>
Gutenex.text_render_mode(:stroke) |>
Gutenex.write_text("xyz") |>
Gutenex.end_text |>
Gutenex.move_to(400, 20) |>
Gutenex.draw_image(alpaca_alias, %{
translate_x: 300,
translate_y: 500,
}) |>
Gutenex.export("./tmp/alpaca.pdf") |>
Gutenex.stop
Now open up that file and you should see some text near the bottom and a picture of what I believe to be an alpaca. Could also be a llama.
By default, coordinates are in units of 1/72 inch as per the PDF spec. Origin is in lower left corner of the page. This is roughly 1 point in printing terms.
Gutenex.line_width(pid, 0.01) # very fine line
|> Gutenex.line({{0, 0}, {500, 500}}) # up and to the right