YSS

YSS

What are the options to create PDF Files?

We upgraded our servers from Debian12 to Debian13 and woops, wkhtmltopdf is not there anymore, the project closed down, is not being updated anymore and wkhtmltopdf uses an very old Qt4 library.

Now what? I really do not want to go installing headless chrome on these containers and take up so many resources to create PDF files?

What are you guys now using to create PDF files? I’m probably not the only one with this issue right?

Thanks for helping!

Most Liked

kevinschweikert

kevinschweikert

Haven’t used it myself but had it on my list to check it out sometime https://gotenberg.dev/

lukeses

lukeses

Sometime ago at my company, we were also using wkhtmltopdf. We didn’t like that it was run on the same machine as our Elixir app. We also faced some challenges with PDF styling.

At first, we switched to client side rendering of PDF. At that period of time, we used: html2pdf.js | Client-side HTML-to-PDF rendering using pure JS. This also resulted with some issues, as sometimes, depending on the customer browser, PDF differed depending on used browser.

In the end, our go-to solution was an external solution: https://pdfmonkey.io/. I’m not in any way associated with them, just really liking their support, when we were starting a co-operation with them. The pricing is pretty decent, if you don’t generate thousands of PDF.

We’re using PDF Monkey together with: https://pagedjs.org/, which allowed us to use some features, like Table of Content, headers, footers, etc.

Where Next?

Popular in Questions Top

Kagamiiiii
Student & New to elixir. Nice language. I want to convert a english character, e.g. “a”, which is stored in a variable, to it’s asci...
New
fireproofsocks
I’m working on defining a simple Ecto schema for a table (in PostGres), but I don’t see where I can define a column as NOT NULL. Conside...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
gonzofish
I’m currently trying to understand how to join three tables using Ecto. All the examples I’ve seen use 2, so maybe I’m just missing somet...
New
LegitStack
I’m trying to make a websocket server in Phoenix or raw Elixir. I heard about gun, I think I could use cowboy, but since I’m not that sma...
New
Patoshizzle
After calling mix ecto.create I get this error: 17:00:32.162 [error] GenServer #PID<0.412.0> terminating ** (Postgrex.Error) FATAL...
New
Exadra37
Sometimes I want to check if the input into a function is not a blank string. My first approach: defmodule Example do def do_stuff(s...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
wernerlaude
In AR this is so simple @articles = current_user.articles How to do in Ecto? def index(conn, _params) do current_user = conn.assig...
New

Other popular topics Top

JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
977 41022 311
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
dotdotdotPaul
Okay, I'm having a heck of a time trying to figure out how to best handle the validation of belongs_to associations in Ecto. I'm sure I'...
New
AstonJ
You’re a programmer, so you don’t need spoon feeding with the conventional drivel about “this is an integer.” No. You need to know what’s...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
myronmarston
The Elixir Typespec docs show the following syntax for keyword lists in typespecs: # ... | [key: type] # keyword lis...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? https://hexdocs.pm/ecto/Ecto.Repo.h...
New
msaraiva
Surface is an experimental library built on top of Phoenix LiveView and its new LiveComponent API that aims to provide a more declarative...
564 42633 214
New

We're in Beta

About us Mission Statement