Package: reportbro-fpdf2
This is a fork offpdf2which contains some changes needed for integration
inreportbro-lib, a reporting framework to generate pdf and xlsx
reports based on report templates. The report template is created visually with a Javascript plugin.
Changes include a setting forencode_error_handling, image alignment options and an optimized method
to split text into lines.fpdf2fpdf2is a PDF creation library for Python:fromfpdfimportFPDFpdf=FPDF()pdf.add_page()pdf.set_font('helvetica',size=12)pdf.cell(text="hello world")pdf.output("hello_world.pdf")Go try itnowonline in a Jupyter notebook:orCompared with other PDF libraries,fpdf2isfast, versatile, easy to learn and to extend(example).
It is also entirely written in Python and has very few dependencies:Pillow,defusedxml, &fontTools. It is a fork and the successor ofPyFPDF(cf.history).Development status: this project ismatureandactively maintained.We are looking for contributing developers: if you want to get involved but don't know how,
or would like to volunteer helping maintain this lib,open a discussion!Installation Instructionspipinstallfpdf2To get the latest, unreleased, development version straight from the development branch of this repository:pipinstallgit+https://github.com/py-pdf/fpdf2.git@masterFeaturesPython 3.7+ supportUnicode(UTF-8) TrueType font subset embeddingInternal / externallinksEmbedding images, including transparency and alpha channelArbitrary path drawing and basicSVGimportEmbeddingbarcodes,charts & graphs,emojis, symbols & dingbatsTablesand alsocell / multi-cell / plaintext writing, withautomatic page breaks, line break and text justificationChoice of measurement unit, page format & margins. Optional page header and footerBasicconversion from HTML to PDFAtemplating systemto render PDFs in batchesImages & links alternative descriptions, for accessibilityTable of contents &document outlineDocument encryption&document signingAnnotations, including text highlights, andfile attachmentsPresentation modewith control over page display duration & transitionsOptional basic Markdown-like styling:**bold**, __italics__Can rendermathematical equations & chartsUsage examples withDjango,Flask,FastAPI,streamlit, AWS lambdas... :Usage in web APIs1000+ unit tests running under Linux & Windows, withqpdf-based PDF diffing, timing & memory usage checks, and a high code coverageOur 350+ reference PDF test files, generated byfpdf2, are validated using 3 different checkers:Please show the valueChoosing a project dependency can be difficult. We need to ensure stability and maintainability of our projects.
Surveys show that GitHub stars count play an important factor when assessing library quality.⭐ Please give this repository a star. It takes seconds and will help your fellow developers! ⭐Please share with the communityThis library relies on community interactions. Please consider sharing a post aboutfpdf2and the value it provides 😊DocumentationDocumentation HomeTutorial in several languages:English-Deutsch-español-हिंदी-português-Русский-Italian-français-Ελληνικά-עברית-简体中文-বাংলা-ភាសខ្មែរ-日本語-DutchRelease notes:CHANGELOG.mdA series of blog posts:fpdf2 tag @ ludochaordicYou can also have a look at thetests/, they're great usage examples!DevelopementPlease check thededicated documentation page.Contributors ✨This library could only exist thanks to the dedication of many volunteers around the world:Mariano Reingart💻David Ankin🐛💻📖🚧💬👀⚠️Alex Pavlovich🐛💻📖💬👀⚠️Lucas Cimon📝💻📖🚇🚧💬Miroslav Šedivý💻⚠️Florian Bernhart💻⚠️Edwood Ocasio💻⚠️Marcelo Duarte💻Roman Kharin💻🤔Christopher Frost🐛💻Michael Kalbermatten🐛💻Yanone💻Leo Zhu💻Abishek Goda💻Arthur Moore💻⚠️🐛Bogdan Cuza💻Craig Hobbs💻xitrushiy🐛💻José L. Redrejo Rodríguez💻Jürgen Gmach💻Larivact💻Leonel Câmara💻Mark Steadman🐛💻Sergey💻Stan-C421💻Viraj Shah💻cornicis💻moe-25💻👀🔬🐛Simone Bizzotto💻Boonyawe Sirimaha🐛T💻🎨AubsUK💬Georg Mischler🐛💻🎨📖🤔💬⚠️ping🐛Portfedh📖✅Tabarnhack💻Mridul Birla🌍digidigital🌍Xit🌍Alexander Burchenko🌍André Assunção🌍Quentin Brault🌍Paula Campigotto🐛💻👀bettman-latin💻oleksii-shyman💻🎨🤔lcomrade📖🐛💻pwt🐛💻Martin Cerveny🐛💻Spenhouet🐛👀mtkumar123💻Davide Consalvo💻💬🎨Bruno Santos🐛cgkoutzigiannis⚠️I Wayan Kurniawan📖Sven Eliasson📖gonzalobarbaran💻Nuttapat Koonarangsri📖🐛Sokratis Vasiliou🌍semaeostomea📖💻Josué Millán Zamora💻me-suzy🐛dmail00🐛💻Gerardo Allende💻Nicholas Jin🐛Yusuke💻Tillrzhtgrfho🐛Dario Ackermann🐛Tzvi Greenfeld📖🌍devdev29📖💻Johan Bonneau📖Jesús Alberto Muñoz Mesa⚠️📖🌍Jaydeep Das💬Sean💻Anderson Herzogenrath da Costa💬💻🔬🐛📖🤔Yi Wei Lan⚠️CpDong💻🐛🌍CY-Qiu🐛Markovvn1💻Elad Rapaport💻SfinxV🐛bramantoleksono🐛TheNerdy907🐛Elie Roux🐛🤔💻💬msalem📖Manuel Ruiz🐛Noel🐛Avik Sarkar🌍📖💬aeris07🐛KamarulAdha📖Valerus5685🐛Sebastian Tia💻Eugene Selifonov🐛Kuth🌍Ruben de Bruin🐛💻📖stenci🐛alcnaka🌍Tolker-KU💻lfavole💻Nicolai Wolfrom🐛Sandra🤔💻navitho🐛Sai Harsha Kottapalli💻Rakesh N J📖rodos🐛Ted Brookings💻Andy Friedman💻Matt📖matipos2📖lry12138🌍Martijn Jasperse🐛💻demiurgepy🐛Marek Tovlin💻Polderrider🌍This project follows theall-contributorsspecification
(emoji key).
Contributions of any kind welcome!(screenshot from January 2023, click on the map above to access an up-to-date online version)Community, related tools, alternative librariesMore about those inthe documentation.