WeasyPrint
PyPDF2
WeasyPrint | PyPDF2 | |
---|---|---|
44 | 30 | |
7,117 | 8,142 | |
1.7% | 1.6% | |
9.7 | 9.4 | |
6 days ago | 1 day ago | |
Python | Python | |
BSD 3-clause "New" or "Revised" License | BSD 3-Clause |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
WeasyPrint
-
CSS Written in Pure Go
Also see a full web rendering engine (modern HTML+CSS the whole layout engine) made in pure Python, that can export to PDFs: https://github.com/Kozea/WeasyPrint
-
Launch HN: Onedoc (YC W24) – A better way to create PDFs
Is there a reason you didn't consider something like Weasyprint?
https://weasyprint.org
I've gone through a number of systems to convert CV's, business cards, and other docs and it hasn't let me down yet.
-
CSS for Printing to Paper
You don't _have_ to use a browser. I had very good results with Weasyprint [0]. And there's also PrinceXML [1] if you're willing to pay.
[0]: https://weasyprint.org/
-
Show HN: A new open-source library to design PDF using React
Thanks for your answer! I imagined you would be using PrinceXML behind the scenes since that is probably the gold standard in HTML+CSS rendering.
The only open source alternative I know of is WeasyPrint at https://weasyprint.org/. I'm not sure how well it fares against PrinceXML, though.
And thanks for the pointer to Taffy - I didn't know it before!
- 1.5M PDFs in 25 Minutes
-
Htmldocs: Typeset and Generate PDFs with HTML/CSS
Flexbox support has been [included][1] since 2018, although my use case was the prototypical one - a single row w/ 3 columns - so YMMV with how it handles more complex layouts.
[1]: https://github.com/Kozea/WeasyPrint/pull/579
-
How to Simply Generate a PDF From HTML in Symfony With WeasyPrint
Performance is not the strength of WeasyPrint, meaning that heavy HTML files will increase generation time. You should always compress images before attaching them, as they are not compressed by default. Generating a 50-page-long PDF may take up to a minute in extreme cases, although multi-page documents generated on my project take fewer than 2 seconds to generate.
-
Show HN: Invoice Dragon – An Open Source App to Create PDF Invoices for Free
For Python there is Weasyprint: you prepare the invoice as an HTML document, and Weasyprint turns it into a PDF
https://weasyprint.org/
-
The Gemini protocol seen by this HTTP client person (curl dev)
Well yes, but you can implement HTML+CSS. WeasyPrint did from scratch, and independent implementations of HTML+CSS are considerably more numerous than HTML+CSS+JS.
-
Library to convert HTML to pdf in Golang
In a recent project I used https://github.com/Kozea/WeasyPrint/ it is written in python, so you will need to use it like so:
PyPDF2
- Yara scanning PDF files
- I need help install PyPDF2 library on my computer
-
How to convert SVGs containing text to a PDF?
I still haven't needed to do that part in Rust yet, unfortunately. My mother is still using the pypdf-based concatenator I wrote for her years ago.
-
Recommendations for parsing text from .pdf files
I did an extremely quick search and am linking this without knowing anything about it.
-
Learning programming from the beginning to extract data from PDFs?
Pretty much study Python until this Github repo'd Readme makes sense!: https://github.com/py-pdf/PyPDF2
- Is there a GUI for PyPDF2?
-
Any good tutorials for working with pdfs in Rust?
As other posters have said, if you're just generating PDFs, that's doable with minor library support. If you want to open existing PDFs and do anything non-trivial with them, you'll want a mature, powerful PDF parsing library. PDFKit, which is part of macOS is pretty amazing. If you need portability, something like Python's PyPDF2 is probably the best bet. Knowing the Rust community, though, we'll probably get a library at least as good in Rust in a surprisingly short amount of time.
-
PyPDF4 merger not merging pdf's - what am I doing wrong?
Why are you using PyPDF4 which seems to have no active maintainer and no documentation instead of PyPDF2 which has both?
-
Print View
one of many options
-
The Pdfalyzer is a tool for visualizing the inner tree structure of a PDF in large and colorful diagrams as well as scanning its internals for suspicious content
Feel free. I poked around the PyPDF2 code and it seems like reading signatures is something it supports via xfa_form property (GitHub issue where this was discussed; seems to have been closed v. recently) . would probably be a very simple PR provided you knew where to look for that property.
What are some alternatives?
ReportLab
PDFMiner - Python PDF Parser (Not actively maintained). Check out pdfminer.six.
WKHTMLToPDF - Convert HTML to PDF using Webkit (QtWebKit)
QuestPDF - QuestPDF is a modern open-source .NET library for PDF document generation. Offering comprehensive layout engine powered by concise and discoverable C# Fluent API. Easily generate PDF reports, invoices, exports, etc.
pdfplumber - Plumb a PDF for detailed information about each char, rectangle, line, et cetera — and easily extract text and tables.
Camelot - A Python library to extract tabular data from PDFs
MathJax - Beautiful and accessible math in all browsers
borb - borb is a library for reading, creating and manipulating PDF files in python.
pdftabextract - A set of tools for extracting tables from PDF files helping to do data mining on (OCR-processed) scanned documents.
PyMuPDF - PyMuPDF is a high performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents.