ReportLab is one of the most popular libaries for creating PDF files. The next package we’ll discuss is ReportLab. om_string(table_html, output_path = "sample_table.pdf", configuration = config)Ĭreating PDF files with Python and ReportLab Let’s do another example, but this time, we’ll create a table using HTML and CSS. You simply need to pass the HTML as a string or store it in a file that can be passed to pdfkit. You can also create PDF files with more complex HTML / CSS, as well. om_file("sample_html_file.html", output_path = "new_file2.pdf", configuration = config) om_string(s, output_path = "new_file.pdf", configuration = config)Īdditionally, pdfkit can create PDF files by reading HTML files. One of the nicest features of pdfkit is that you can use it to create PDF files from HTML, including from HTML strings that you pass it directly in Python. om_url("", output_path = False, configuration = config) You can also set the output path to False, which will return a binary version of the PDF into Python, rather than downloading the webpage to an external file. om_url("", "sample_url_pdf.pdf", configuration = config) # download Wikipedia main page as a PDF file # configure pdfkit to point to our installation of wkhtmltopdfĬonfig = nfiguration(wkhtmltopdf = r"C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe") To get pdfkit working, you’ll need to either add wkhtmltopdf to your PATH, or configure pdfkit to point to where the executable is stored (the latter option is used below). In the example below, we download Wikipedia’s main page as a PDF file. Once you’re set up, you can start using pdfkit. To get started, you’ll need to install it along with a utility called wkhtmltopdf. A nice feature of pdfkit is that you can use it to create PDF files from URLs. Pdfkit was the first library I learned for creating PDF files. This post will cover two packages used to create PDF files with Python, including pdfkit and ReportLab. In a previous article we talked about several ways to read PDF files with Python.
0 Comments
Leave a Reply. |