pdfgen alternatives and similar packages
Based on the "Miscellaneous" category.
Alternatively, view pdfgen alternatives based on common mentions on social networks and blogs.
-
go-restful-api
An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture -
ghorg
Quickly clone an entire org/users repositories into one directory - Supports GitHub, GitLab, Bitbucket, and more 🥚 -
container
A lightweight yet powerful IoC dependency injection container for the Go programming language -
gountries
Gountries provides: Countries (ISO-3166-1), Country Subdivisions(ISO-3166-2), Currencies (ISO 4217), Geo Coordinates(ISO-6709) as well as translations, country borders and other stuff exposed as struct data. -
go-starter
An opinionated production-ready SQL-/Swagger-first RESTful JSON API written in Go, highly integrated with VSCode DevContainers by allaboutapps. -
countries
Countries - ISO-639, ISO-3166 countries codes with subdivisions and names, ISO-4217 currency designators, ITU-T E.164 IDD phone codes, countries capitals, UN M.49 codes, IANA ccTLD countries domains, FIPS, IOC/NOC and FIFA codes, VERY VERY FAST, compatible with Databases/JSON/BSON/GOB/XML/CSV, Emoji countries flags and currencies, Unicode CLDR.
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of pdfgen or a related project?
Popular Comparisons
README
pdfgen
HTTP service to generate PDF from Json requests
Install and run
The recommended method is to use the docker container by mounting your template
directory (here with the provided example template
directory):
docker run --rm -it -p 8888:8888 \
--mount src=my_templates/,target=/etc/pdfgen/templates,type=bind \
hyperboloide/pdfgen
If you rather not using Docker, you need to install wkhtmltopdf first, then run:
go install github.com/hyperboloide/pdfgen
PDFGEN_TEMPLATES=./templates pdfgen
Once installed you can test with something like this:
curl -H "Content-Type: application/json" -X POST -d @my_json_file.json \
http://localhost:8888/invoice > result.pdf
Note that the rendering may differ depending on your os (especially OSX) and installed fonts, that's why it is recommended to test and develop on the Docker environment to get the same result in production.
Templates
The PDF are generated from HTML templates. These templates closely ressemble Django Templates.
the following template:
<h1>Hello, {{ user }}</h1>
can be generated with a application/json
POST request:
{"user": "fred"}
The response is of type application/pdf
and contains the resulting PDF.
Each PDF template should be in it's own directory under the root directory
defined in the PDFGEN_TEMPLATES
environment variable.
The urls endpoints will be generated from these directories names. For example a template
in the directory invoice
will be a reachable at a url that look like that: http://host:port/invoice
The template directory must contain an index.html
file and optionnaly
a footer.html
file. Other assets like images and CSS should be in
that directory too.
Note that each PDF is generated in isolation and so
your templates should use absolutes paths.
For example if you use bower and have a path like that:
invoices/bower_components/
you should have:
<link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css" media='screen,print'>
Finally don't forget to set the PDFGEN_TEMPLATES
env variable to the path of
your templates parent directory
Alternatively you copy your templates to either :
/etc/pdfgen/templates
or ~/.templates
.
Adding fonts
You could just create a new container with your fonts and rebuild the cache. Bellow an example Dockerfile.
FROM hyperboloide/pdfgen
COPY my_fonts /usr/local/share/fonts/
RUN fc-cache -f -v