From 0b1a4b7d13577ca1e8b0ad3f4ad4b1ff375d8db7 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 10 Apr 2023 22:31:41 +0000 Subject: automatic import of python-fpdf2 --- .gitignore | 1 + python-fpdf2.spec | 849 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 3 files changed, 851 insertions(+) create mode 100644 python-fpdf2.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..92a10a7 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/fpdf2-2.7.3.tar.gz diff --git a/python-fpdf2.spec b/python-fpdf2.spec new file mode 100644 index 0000000..f179f21 --- /dev/null +++ b/python-fpdf2.spec @@ -0,0 +1,849 @@ +%global _empty_manifest_terminate_build 0 +Name: python-fpdf2 +Version: 2.7.3 +Release: 1 +Summary: Simple & fast PDF generation for Python +License: LGPLv3+ +URL: https://pyfpdf.github.io/fpdf2/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ef/bb/b21a7e92f2085f3a97d4da194cc18dded2f4b35aafedde8407a8e23b655b/fpdf2-2.7.3.tar.gz +BuildArch: noarch + +Requires: python3-defusedxml +Requires: python3-Pillow +Requires: python3-fonttools + +%description +[![Pypi latest version](https://img.shields.io/pypi/v/fpdf2.svg)](https://pypi.org/pypi/fpdf2#history) +[![Python Support](https://img.shields.io/pypi/pyversions/fpdf2.svg)](https://pypi.org/project/fpdf2/) +[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) + +[![build status](https://github.com/PyFPDF/fpdf2/workflows/build/badge.svg)](https://github.com/PyFPDF/fpdf2/actions?query=branch%3Amaster) +[![codecov](https://codecov.io/gh/PyFPDF/fpdf2/branch/master/graph/badge.svg)](https://codecov.io/gh/PyFPDF/fpdf2) +![security: bandit, pylint, semgrep](https://img.shields.io/badge/linters-bandit,pylint,semgrep-yellow.svg) + +[![Dependents](https://img.shields.io/librariesio/dependents/pypi/fpdf2)](https://libraries.io/pypi/fpdf2/dependents) +[![Downloads per month](https://pepy.tech/badge/fpdf2/month)](https://pepy.tech/project/fpdf2) +[![Contributors](https://img.shields.io/github/contributors/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/graphs/contributors) +[![GitHub last commit](https://img.shields.io/github/last-commit/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/commits/master) + +[![issues closed](https://img.shields.io/github/issues-closed/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/issues) +[![PRs closed](https://img.shields.io/github/issues-pr-closed/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/pulls) +[![Pull Requests Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com) +[![first-timers-only Friendly](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](http://www.firsttimersonly.com/) +โ†’ come look at our [good first issues](https://github.com/PyFPDF/fpdf2/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) + +# fpdf2 + +![fpdf2 logo](https://pyfpdf.github.io/fpdf2/fpdf2-logo.png) + +`fpdf2` is a PDF creation library for Python: + +```python +from fpdf import FPDF + +pdf = FPDF() +pdf.add_page() +pdf.set_font('helvetica', size=12) +pdf.cell(txt="hello world") +pdf.output("hello_world.pdf") +``` + +Go try it **now** online in a Jupyter notebook: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/PyFPDF/fpdf2/blob/master/tutorial/notebook.ipynb) or [![Open In nbviewer](https://img.shields.io/badge/Open_In-nbviewer-blue?logo=jupyter)](https://nbviewer.org/github/PyFPDF/fpdf2/blob/master/tutorial/notebook.ipynb) + +Compared with other PDF libraries, `fpdf2` is **fast, versatile, easy to learn and to extend** ([example](https://github.com/digidigital/Extensions-and-Scripts-for-pyFPDF-fpdf2)). +It is also entirely written in Python and has very few dependencies: +[Pillow](https://pillow.readthedocs.io/en/stable/), [defusedxml](https://pypi.org/project/defusedxml/), & [fontTools](https://fonttools.readthedocs.io/en/latest/index.html). It is a fork and the successor of `PyFPDF` (_cf._ [history](https://pyfpdf.github.io/fpdf2/Development.html#history)). + +**Development status**: this project is **mature** and **actively 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](https://github.com/PyFPDF/fpdf2/discussions)! + +## Installation Instructions + +```bash +pip install fpdf2 +``` + +To get the latest, unreleased, development version straight from the development branch of this repository: + +```bash +pip install git+https://github.com/PyFPDF/fpdf2.git@master +``` + +## Features + + * Python 3.7+ support + * [Unicode](https://pyfpdf.github.io/fpdf2/Unicode.html) (UTF-8) TrueType font subset embedding + * Internal / external [links](https://pyfpdf.github.io/fpdf2/Links.html) + * Embedding images, including transparency and alpha channel + * Arbitrary path drawing and basic [SVG](https://pyfpdf.github.io/fpdf2/SVG.html) import + * Embedding [barcodes](https://pyfpdf.github.io/fpdf2/Barcodes.html), [charts & graphs](https://pyfpdf.github.io/fpdf2/Maths.html), [emojis, symbols & dingbats](https://pyfpdf.github.io/fpdf2/EmojisSymbolsDingbats.html) + * [Tables](https://pyfpdf.github.io/fpdf2/Tables.html) and also [cell / multi-cell / plaintext writing](https://pyfpdf.github.io/fpdf2/Text.html), with [automatic page breaks](https://pyfpdf.github.io/fpdf2/PageBreaks.html), line break and text justification + * Choice of measurement unit, page format & margins. Optional page header and footer + * Basic [conversion from HTML to PDF](https://pyfpdf.github.io/fpdf2/HTML.html) + * A [templating system](https://pyfpdf.github.io/fpdf2/Templates.html) to render PDFs in batchs + * Images & links alternative descriptions, for accessibility + * Table of contents & [document outline](https://pyfpdf.github.io/fpdf2/DocumentOutlineAndTableOfContents.html) + * [Document encryption](https://pyfpdf.github.io/fpdf2/Encryption.html) & [document signing](https://pyfpdf.github.io/fpdf2/Signing.html) + * [Annotations](https://pyfpdf.github.io/fpdf2/Annotations.html), including text highlights, and [file attachments](https://pyfpdf.github.io/fpdf2/FileAttachments.html) + * [Presentation mode](https://pyfpdf.github.io/fpdf2/Presentations.html) with control over page display duration & transitions + * Optional basic Markdown-like styling: `**bold**, __italics__` + * Can render [mathematical equations & charts](https://pyfpdf.github.io/fpdf2/Maths.html) + * Usage examples with [Django](https://www.djangoproject.com/), [Flask](https://flask.palletsprojects.com), [streamlit](https://streamlit.io/), AWS lambdas... : [Usage in web APIs](https://pyfpdf.github.io/fpdf2/UsageInWebAPI.html) + * 1000+ unit tests running under Linux & Windows, with `qpdf`-based PDF diffing, timing & memory usage checks, and a high code coverage + +Our 350+ reference PDF test files, generated by `fpdf2`, are validated using 3 different checkers: + +[![QPDF logo](https://pyfpdf.github.io/fpdf2/qpdf-logo.svg)](https://github.com/qpdf/qpdf) +[![PDF Checker logo](https://pyfpdf.github.io/fpdf2/pdfchecker-logo.png)](https://www.datalogics.com/products/pdf-tools/pdf-checker/) +[![VeraPDF logo](https://pyfpdf.github.io/fpdf2/vera-logo.jpg)](https://verapdf.org) + +## Please show the value + +Choosing 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 community + +This library relies on community interactions. Please consider sharing a post about `fpdf2` and the value it provides ๐Ÿ˜Š + +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-reddit-red?logo=reddit)](https://reddit.com/submit?url=https://github.com/PyFPDF/fpdf2&title=fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-hacker%20news-orange?logo=ycombinator)](https://news.ycombinator.com/submitlink?u=https://github.com/PyFPDF/fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-twitter-03A9F4?logo=twitter)](https://twitter.com/share?url=https://github.com/PyFPDF/fpdf2&t=fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-facebook-1976D2?logo=facebook)](https://www.facebook.com/sharer/sharer.php?u=https://github.com/PyFPDF/fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-linkedin-3949AB?logo=linkedin)](https://www.linkedin.com/shareArticle?url=https://github.com/PyFPDF/fpdf2&title=fpdf2) + +## Documentation + +- [Documentation Home](https://pyfpdf.github.io/fpdf2/) +- Tutorial in several languages: [English](https://pyfpdf.github.io/fpdf2/Tutorial.html) - [Deutsch](https://pyfpdf.github.io/fpdf2/Tutorial-de.html) - [espaรฑol](https://pyfpdf.github.io/fpdf2/Tutorial-es.html) - [เคนเคฟเค‚เคฆเฅ€](https://pyfpdf.github.io/fpdf2/Tutorial-เคนเคฟเค‚เคฆเฅ€.html) - [portuguรชs](https://pyfpdf.github.io/fpdf2/Tutorial-pt.html) - [ะ ัƒััะบะธะน](https://pyfpdf.github.io/fpdf2/Tutorial-ru.html) - [Italian](https://pyfpdf.github.io/fpdf2/Tutorial-it.html) - [franรงais](https://pyfpdf.github.io/fpdf2/Tutorial-fr.html) - [ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ](https://pyfpdf.github.io/fpdf2/Tutorial-gr.html) - [ืขื‘ืจื™ืช](https://pyfpdf.github.io/fpdf2/Tutorial-he.html) - [็ฎ€ไฝ“ไธญๆ–‡](https://pyfpdf.github.io/fpdf2/Tutorial-zh.html) - [เฆฌเฆพเฆ‚เฆฒเฆพ](https://pyfpdf.github.io/fpdf2/Tutorial-เฆฌเฆพเฆ‚เฆฒเฆพ.html) +- Release notes: [CHANGELOG.md](https://github.com/PyFPDF/fpdf2/blob/master/CHANGELOG.md) +- A series of blog posts: [fpdf2 tag @ ludochaordic](https://chezsoi.org/lucas/blog/tag/fpdf2.html) + +You can also have a look at the `tests/`, they're great usage examples! + +## Developement + +Please check the [dedicated documentation page](https://pyfpdf.github.io/fpdf2/Development.html). + +## Contributors โœจ + +This library could only exist thanks to the dedication of many volunteers around the world: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mariano Reingart
Mariano Reingart

๐Ÿ’ป
David Ankin
David Ankin

๐Ÿ› ๐Ÿ’ป ๐Ÿ“– ๐Ÿšง ๐Ÿ’ฌ ๐Ÿ‘€ โš ๏ธ
Alex Pavlovich
Alex Pavlovich

๐Ÿ› ๐Ÿ’ป ๐Ÿ“– ๐Ÿ’ฌ ๐Ÿ‘€ โš ๏ธ
Lucas Cimon
Lucas Cimon

๐Ÿ“ ๐Ÿ’ป ๐Ÿ“– ๐Ÿš‡ ๐Ÿšง ๐Ÿ’ฌ
Miroslav ล edivรฝ
Miroslav ล edivรฝ

๐Ÿ’ป โš ๏ธ
Florian Bernhart
Florian Bernhart

๐Ÿ’ป โš ๏ธ
Edwood Ocasio
Edwood Ocasio

๐Ÿ’ป โš ๏ธ
Marcelo Duarte
Marcelo Duarte

๐Ÿ’ป
Roman Kharin
Roman Kharin

๐Ÿ’ป ๐Ÿค”
Christopher Frost
Christopher Frost

๐Ÿ› ๐Ÿ’ป
Michael Kalbermatten
Michael Kalbermatten

๐Ÿ› ๐Ÿ’ป
Yanone
Yanone

๐Ÿ’ป
Leo Zhu
Leo Zhu

๐Ÿ’ป
Abishek Goda
Abishek Goda

๐Ÿ’ป
Arthur Moore
Arthur Moore

๐Ÿ’ป โš ๏ธ ๐Ÿ›
Bogdan Cuza
Bogdan Cuza

๐Ÿ’ป
Craig Hobbs
Craig Hobbs

๐Ÿ’ป
xitrushiy
xitrushiy

๐Ÿ› ๐Ÿ’ป
Josรฉ L. Redrejo Rodrรญguez
Josรฉ L. Redrejo Rodrรญguez

๐Ÿ’ป
Jรผrgen Gmach
Jรผrgen Gmach

๐Ÿ’ป
Larivact
Larivact

๐Ÿ’ป
Leonel Cรขmara
Leonel Cรขmara

๐Ÿ’ป
Mark Steadman
Mark Steadman

๐Ÿ› ๐Ÿ’ป
Sergey
Sergey

๐Ÿ’ป
Stan-C421
Stan-C421

๐Ÿ’ป
Viraj Shah
Viraj Shah

๐Ÿ’ป
cornicis
cornicis

๐Ÿ’ป
moe-25
moe-25

๐Ÿ’ป ๐Ÿ‘€ ๐Ÿ”ฌ ๐Ÿ›
Simone Bizzotto
Simone Bizzotto

๐Ÿ’ป
Boonyawe Sirimaha
Boonyawe Sirimaha

๐Ÿ›
T
T

๐Ÿ’ป ๐ŸŽจ
AubsUK
AubsUK

๐Ÿ’ฌ
Georg Mischler
Georg Mischler

๐Ÿ› ๐Ÿ’ป ๐ŸŽจ ๐Ÿ“– ๐Ÿค” ๐Ÿ’ฌ โš ๏ธ
ping
ping

๐Ÿ›
Portfedh
Portfedh

๐Ÿ“– โœ…
Tabarnhack
Tabarnhack

๐Ÿ’ป
Mridul Birla
Mridul Birla

๐ŸŒ
digidigital
digidigital

๐ŸŒ
Xit
Xit

๐ŸŒ
Alexander Burchenko
Alexander Burchenko

๐ŸŒ
Andrรฉ Assunรงรฃo
Andrรฉ Assunรงรฃo

๐ŸŒ
Quentin Brault
Quentin Brault

๐ŸŒ
Paula Campigotto
Paula Campigotto

๐Ÿ› ๐Ÿ’ป ๐Ÿ‘€
bettman-latin
bettman-latin

๐Ÿ’ป
oleksii-shyman
oleksii-shyman

๐Ÿ’ป ๐ŸŽจ ๐Ÿค”
lcomrade
lcomrade

๐Ÿ“– ๐Ÿ› ๐Ÿ’ป
pwt
pwt

๐Ÿ› ๐Ÿ’ป
Martin Cerveny
Martin Cerveny

๐Ÿ› ๐Ÿ’ป
Spenhouet
Spenhouet

๐Ÿ› ๐Ÿ‘€
mtkumar123
mtkumar123

๐Ÿ’ป
Davide Consalvo
Davide Consalvo

๐Ÿ’ป ๐Ÿ’ฌ ๐ŸŽจ
Bruno Santos
Bruno Santos

๐Ÿ›
cgkoutzigiannis
cgkoutzigiannis

โš ๏ธ
I Wayan Kurniawan
I Wayan Kurniawan

๐Ÿ“–
Sven Eliasson
Sven Eliasson

๐Ÿ“–
gonzalobarbaran
gonzalobarbaran

๐Ÿ’ป
Nuttapat Koonarangsri
Nuttapat Koonarangsri

๐Ÿ“– ๐Ÿ›
Sokratis Vasiliou
Sokratis Vasiliou

๐ŸŒ
semaeostomea
semaeostomea

๐Ÿ“– ๐Ÿ’ป
Josuรฉ Millรกn Zamora
Josuรฉ Millรกn Zamora

๐Ÿ’ป
me-suzy
me-suzy

๐Ÿ›
dmail00
dmail00

๐Ÿ›
Gerardo Allende
Gerardo Allende

๐Ÿ’ป
Nicholas Jin
Nicholas Jin

๐Ÿ›
Yusuke
Yusuke

๐Ÿ’ป
Tillrzhtgrfho
Tillrzhtgrfho

๐Ÿ›
Dario Ackermann
Dario Ackermann

๐Ÿ›
Tzvi Greenfeld
Tzvi Greenfeld

๐Ÿ“–
devdev29
devdev29

๐Ÿ“–
Johan Bonneau
Johan Bonneau

๐Ÿ“–
Jesรบs Alberto Muรฑoz Mesa
Jesรบs Alberto Muรฑoz Mesa

โš ๏ธ ๐Ÿ“–
Jaydeep Das
Jaydeep Das

๐Ÿ’ฌ
Sean
Sean

๐Ÿ’ป
Anderson Herzogenrath da Costa
Anderson Herzogenrath da Costa

๐Ÿ’ฌ ๐Ÿ’ป ๐Ÿ”ฌ ๐Ÿ›
Yi Wei Lan
Yi Wei Lan

โš ๏ธ
CpDong
CpDong

๐Ÿ’ป ๐Ÿ› ๐ŸŒ
CY-Qiu
CY-Qiu

๐Ÿ›
Markovvn1
Markovvn1

๐Ÿ’ป
Elad Rapaport
Elad Rapaport

๐Ÿ’ป
SfinxV
SfinxV

๐Ÿ›
bramantoleksono
bramantoleksono

๐Ÿ›
TheNerdy907
TheNerdy907

๐Ÿ›
Elie Roux
Elie Roux

๐Ÿ› ๐Ÿค” ๐Ÿ’ป ๐Ÿ’ฌ
msalem
msalem

๐Ÿ“–
Manuel Ruiz
Manuel Ruiz

๐Ÿ›
Noel
Noel

๐Ÿ›
Avik Sarkar
Avik Sarkar

๐ŸŒ ๐Ÿ“–
aeris07
aeris07

๐Ÿ›
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification +([emoji key](https://allcontributors.org/docs/en/emoji-key)). +Contributions of any kind welcome! + +[![Contributors map](https://pyfpdf.github.io/fpdf2/contributors-map-small.png)](https://pyfpdf.github.io/fpdf2/contributors.html) + +_(screenshot from January 2023, click on the map above to access an up-to-date online version)_ + +## Community, related tools, alternative libraries + +More about those in [the documentation](https://pyfpdf.github.io/fpdf2/#community). + + +%package -n python3-fpdf2 +Summary: Simple & fast PDF generation for Python +Provides: python-fpdf2 +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-fpdf2 +[![Pypi latest version](https://img.shields.io/pypi/v/fpdf2.svg)](https://pypi.org/pypi/fpdf2#history) +[![Python Support](https://img.shields.io/pypi/pyversions/fpdf2.svg)](https://pypi.org/project/fpdf2/) +[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) + +[![build status](https://github.com/PyFPDF/fpdf2/workflows/build/badge.svg)](https://github.com/PyFPDF/fpdf2/actions?query=branch%3Amaster) +[![codecov](https://codecov.io/gh/PyFPDF/fpdf2/branch/master/graph/badge.svg)](https://codecov.io/gh/PyFPDF/fpdf2) +![security: bandit, pylint, semgrep](https://img.shields.io/badge/linters-bandit,pylint,semgrep-yellow.svg) + +[![Dependents](https://img.shields.io/librariesio/dependents/pypi/fpdf2)](https://libraries.io/pypi/fpdf2/dependents) +[![Downloads per month](https://pepy.tech/badge/fpdf2/month)](https://pepy.tech/project/fpdf2) +[![Contributors](https://img.shields.io/github/contributors/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/graphs/contributors) +[![GitHub last commit](https://img.shields.io/github/last-commit/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/commits/master) + +[![issues closed](https://img.shields.io/github/issues-closed/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/issues) +[![PRs closed](https://img.shields.io/github/issues-pr-closed/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/pulls) +[![Pull Requests Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com) +[![first-timers-only Friendly](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](http://www.firsttimersonly.com/) +โ†’ come look at our [good first issues](https://github.com/PyFPDF/fpdf2/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) + +# fpdf2 + +![fpdf2 logo](https://pyfpdf.github.io/fpdf2/fpdf2-logo.png) + +`fpdf2` is a PDF creation library for Python: + +```python +from fpdf import FPDF + +pdf = FPDF() +pdf.add_page() +pdf.set_font('helvetica', size=12) +pdf.cell(txt="hello world") +pdf.output("hello_world.pdf") +``` + +Go try it **now** online in a Jupyter notebook: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/PyFPDF/fpdf2/blob/master/tutorial/notebook.ipynb) or [![Open In nbviewer](https://img.shields.io/badge/Open_In-nbviewer-blue?logo=jupyter)](https://nbviewer.org/github/PyFPDF/fpdf2/blob/master/tutorial/notebook.ipynb) + +Compared with other PDF libraries, `fpdf2` is **fast, versatile, easy to learn and to extend** ([example](https://github.com/digidigital/Extensions-and-Scripts-for-pyFPDF-fpdf2)). +It is also entirely written in Python and has very few dependencies: +[Pillow](https://pillow.readthedocs.io/en/stable/), [defusedxml](https://pypi.org/project/defusedxml/), & [fontTools](https://fonttools.readthedocs.io/en/latest/index.html). It is a fork and the successor of `PyFPDF` (_cf._ [history](https://pyfpdf.github.io/fpdf2/Development.html#history)). + +**Development status**: this project is **mature** and **actively 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](https://github.com/PyFPDF/fpdf2/discussions)! + +## Installation Instructions + +```bash +pip install fpdf2 +``` + +To get the latest, unreleased, development version straight from the development branch of this repository: + +```bash +pip install git+https://github.com/PyFPDF/fpdf2.git@master +``` + +## Features + + * Python 3.7+ support + * [Unicode](https://pyfpdf.github.io/fpdf2/Unicode.html) (UTF-8) TrueType font subset embedding + * Internal / external [links](https://pyfpdf.github.io/fpdf2/Links.html) + * Embedding images, including transparency and alpha channel + * Arbitrary path drawing and basic [SVG](https://pyfpdf.github.io/fpdf2/SVG.html) import + * Embedding [barcodes](https://pyfpdf.github.io/fpdf2/Barcodes.html), [charts & graphs](https://pyfpdf.github.io/fpdf2/Maths.html), [emojis, symbols & dingbats](https://pyfpdf.github.io/fpdf2/EmojisSymbolsDingbats.html) + * [Tables](https://pyfpdf.github.io/fpdf2/Tables.html) and also [cell / multi-cell / plaintext writing](https://pyfpdf.github.io/fpdf2/Text.html), with [automatic page breaks](https://pyfpdf.github.io/fpdf2/PageBreaks.html), line break and text justification + * Choice of measurement unit, page format & margins. Optional page header and footer + * Basic [conversion from HTML to PDF](https://pyfpdf.github.io/fpdf2/HTML.html) + * A [templating system](https://pyfpdf.github.io/fpdf2/Templates.html) to render PDFs in batchs + * Images & links alternative descriptions, for accessibility + * Table of contents & [document outline](https://pyfpdf.github.io/fpdf2/DocumentOutlineAndTableOfContents.html) + * [Document encryption](https://pyfpdf.github.io/fpdf2/Encryption.html) & [document signing](https://pyfpdf.github.io/fpdf2/Signing.html) + * [Annotations](https://pyfpdf.github.io/fpdf2/Annotations.html), including text highlights, and [file attachments](https://pyfpdf.github.io/fpdf2/FileAttachments.html) + * [Presentation mode](https://pyfpdf.github.io/fpdf2/Presentations.html) with control over page display duration & transitions + * Optional basic Markdown-like styling: `**bold**, __italics__` + * Can render [mathematical equations & charts](https://pyfpdf.github.io/fpdf2/Maths.html) + * Usage examples with [Django](https://www.djangoproject.com/), [Flask](https://flask.palletsprojects.com), [streamlit](https://streamlit.io/), AWS lambdas... : [Usage in web APIs](https://pyfpdf.github.io/fpdf2/UsageInWebAPI.html) + * 1000+ unit tests running under Linux & Windows, with `qpdf`-based PDF diffing, timing & memory usage checks, and a high code coverage + +Our 350+ reference PDF test files, generated by `fpdf2`, are validated using 3 different checkers: + +[![QPDF logo](https://pyfpdf.github.io/fpdf2/qpdf-logo.svg)](https://github.com/qpdf/qpdf) +[![PDF Checker logo](https://pyfpdf.github.io/fpdf2/pdfchecker-logo.png)](https://www.datalogics.com/products/pdf-tools/pdf-checker/) +[![VeraPDF logo](https://pyfpdf.github.io/fpdf2/vera-logo.jpg)](https://verapdf.org) + +## Please show the value + +Choosing 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 community + +This library relies on community interactions. Please consider sharing a post about `fpdf2` and the value it provides ๐Ÿ˜Š + +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-reddit-red?logo=reddit)](https://reddit.com/submit?url=https://github.com/PyFPDF/fpdf2&title=fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-hacker%20news-orange?logo=ycombinator)](https://news.ycombinator.com/submitlink?u=https://github.com/PyFPDF/fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-twitter-03A9F4?logo=twitter)](https://twitter.com/share?url=https://github.com/PyFPDF/fpdf2&t=fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-facebook-1976D2?logo=facebook)](https://www.facebook.com/sharer/sharer.php?u=https://github.com/PyFPDF/fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-linkedin-3949AB?logo=linkedin)](https://www.linkedin.com/shareArticle?url=https://github.com/PyFPDF/fpdf2&title=fpdf2) + +## Documentation + +- [Documentation Home](https://pyfpdf.github.io/fpdf2/) +- Tutorial in several languages: [English](https://pyfpdf.github.io/fpdf2/Tutorial.html) - [Deutsch](https://pyfpdf.github.io/fpdf2/Tutorial-de.html) - [espaรฑol](https://pyfpdf.github.io/fpdf2/Tutorial-es.html) - [เคนเคฟเค‚เคฆเฅ€](https://pyfpdf.github.io/fpdf2/Tutorial-เคนเคฟเค‚เคฆเฅ€.html) - [portuguรชs](https://pyfpdf.github.io/fpdf2/Tutorial-pt.html) - [ะ ัƒััะบะธะน](https://pyfpdf.github.io/fpdf2/Tutorial-ru.html) - [Italian](https://pyfpdf.github.io/fpdf2/Tutorial-it.html) - [franรงais](https://pyfpdf.github.io/fpdf2/Tutorial-fr.html) - [ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ](https://pyfpdf.github.io/fpdf2/Tutorial-gr.html) - [ืขื‘ืจื™ืช](https://pyfpdf.github.io/fpdf2/Tutorial-he.html) - [็ฎ€ไฝ“ไธญๆ–‡](https://pyfpdf.github.io/fpdf2/Tutorial-zh.html) - [เฆฌเฆพเฆ‚เฆฒเฆพ](https://pyfpdf.github.io/fpdf2/Tutorial-เฆฌเฆพเฆ‚เฆฒเฆพ.html) +- Release notes: [CHANGELOG.md](https://github.com/PyFPDF/fpdf2/blob/master/CHANGELOG.md) +- A series of blog posts: [fpdf2 tag @ ludochaordic](https://chezsoi.org/lucas/blog/tag/fpdf2.html) + +You can also have a look at the `tests/`, they're great usage examples! + +## Developement + +Please check the [dedicated documentation page](https://pyfpdf.github.io/fpdf2/Development.html). + +## Contributors โœจ + +This library could only exist thanks to the dedication of many volunteers around the world: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mariano Reingart
Mariano Reingart

๐Ÿ’ป
David Ankin
David Ankin

๐Ÿ› ๐Ÿ’ป ๐Ÿ“– ๐Ÿšง ๐Ÿ’ฌ ๐Ÿ‘€ โš ๏ธ
Alex Pavlovich
Alex Pavlovich

๐Ÿ› ๐Ÿ’ป ๐Ÿ“– ๐Ÿ’ฌ ๐Ÿ‘€ โš ๏ธ
Lucas Cimon
Lucas Cimon

๐Ÿ“ ๐Ÿ’ป ๐Ÿ“– ๐Ÿš‡ ๐Ÿšง ๐Ÿ’ฌ
Miroslav ล edivรฝ
Miroslav ล edivรฝ

๐Ÿ’ป โš ๏ธ
Florian Bernhart
Florian Bernhart

๐Ÿ’ป โš ๏ธ
Edwood Ocasio
Edwood Ocasio

๐Ÿ’ป โš ๏ธ
Marcelo Duarte
Marcelo Duarte

๐Ÿ’ป
Roman Kharin
Roman Kharin

๐Ÿ’ป ๐Ÿค”
Christopher Frost
Christopher Frost

๐Ÿ› ๐Ÿ’ป
Michael Kalbermatten
Michael Kalbermatten

๐Ÿ› ๐Ÿ’ป
Yanone
Yanone

๐Ÿ’ป
Leo Zhu
Leo Zhu

๐Ÿ’ป
Abishek Goda
Abishek Goda

๐Ÿ’ป
Arthur Moore
Arthur Moore

๐Ÿ’ป โš ๏ธ ๐Ÿ›
Bogdan Cuza
Bogdan Cuza

๐Ÿ’ป
Craig Hobbs
Craig Hobbs

๐Ÿ’ป
xitrushiy
xitrushiy

๐Ÿ› ๐Ÿ’ป
Josรฉ L. Redrejo Rodrรญguez
Josรฉ L. Redrejo Rodrรญguez

๐Ÿ’ป
Jรผrgen Gmach
Jรผrgen Gmach

๐Ÿ’ป
Larivact
Larivact

๐Ÿ’ป
Leonel Cรขmara
Leonel Cรขmara

๐Ÿ’ป
Mark Steadman
Mark Steadman

๐Ÿ› ๐Ÿ’ป
Sergey
Sergey

๐Ÿ’ป
Stan-C421
Stan-C421

๐Ÿ’ป
Viraj Shah
Viraj Shah

๐Ÿ’ป
cornicis
cornicis

๐Ÿ’ป
moe-25
moe-25

๐Ÿ’ป ๐Ÿ‘€ ๐Ÿ”ฌ ๐Ÿ›
Simone Bizzotto
Simone Bizzotto

๐Ÿ’ป
Boonyawe Sirimaha
Boonyawe Sirimaha

๐Ÿ›
T
T

๐Ÿ’ป ๐ŸŽจ
AubsUK
AubsUK

๐Ÿ’ฌ
Georg Mischler
Georg Mischler

๐Ÿ› ๐Ÿ’ป ๐ŸŽจ ๐Ÿ“– ๐Ÿค” ๐Ÿ’ฌ โš ๏ธ
ping
ping

๐Ÿ›
Portfedh
Portfedh

๐Ÿ“– โœ…
Tabarnhack
Tabarnhack

๐Ÿ’ป
Mridul Birla
Mridul Birla

๐ŸŒ
digidigital
digidigital

๐ŸŒ
Xit
Xit

๐ŸŒ
Alexander Burchenko
Alexander Burchenko

๐ŸŒ
Andrรฉ Assunรงรฃo
Andrรฉ Assunรงรฃo

๐ŸŒ
Quentin Brault
Quentin Brault

๐ŸŒ
Paula Campigotto
Paula Campigotto

๐Ÿ› ๐Ÿ’ป ๐Ÿ‘€
bettman-latin
bettman-latin

๐Ÿ’ป
oleksii-shyman
oleksii-shyman

๐Ÿ’ป ๐ŸŽจ ๐Ÿค”
lcomrade
lcomrade

๐Ÿ“– ๐Ÿ› ๐Ÿ’ป
pwt
pwt

๐Ÿ› ๐Ÿ’ป
Martin Cerveny
Martin Cerveny

๐Ÿ› ๐Ÿ’ป
Spenhouet
Spenhouet

๐Ÿ› ๐Ÿ‘€
mtkumar123
mtkumar123

๐Ÿ’ป
Davide Consalvo
Davide Consalvo

๐Ÿ’ป ๐Ÿ’ฌ ๐ŸŽจ
Bruno Santos
Bruno Santos

๐Ÿ›
cgkoutzigiannis
cgkoutzigiannis

โš ๏ธ
I Wayan Kurniawan
I Wayan Kurniawan

๐Ÿ“–
Sven Eliasson
Sven Eliasson

๐Ÿ“–
gonzalobarbaran
gonzalobarbaran

๐Ÿ’ป
Nuttapat Koonarangsri
Nuttapat Koonarangsri

๐Ÿ“– ๐Ÿ›
Sokratis Vasiliou
Sokratis Vasiliou

๐ŸŒ
semaeostomea
semaeostomea

๐Ÿ“– ๐Ÿ’ป
Josuรฉ Millรกn Zamora
Josuรฉ Millรกn Zamora

๐Ÿ’ป
me-suzy
me-suzy

๐Ÿ›
dmail00
dmail00

๐Ÿ›
Gerardo Allende
Gerardo Allende

๐Ÿ’ป
Nicholas Jin
Nicholas Jin

๐Ÿ›
Yusuke
Yusuke

๐Ÿ’ป
Tillrzhtgrfho
Tillrzhtgrfho

๐Ÿ›
Dario Ackermann
Dario Ackermann

๐Ÿ›
Tzvi Greenfeld
Tzvi Greenfeld

๐Ÿ“–
devdev29
devdev29

๐Ÿ“–
Johan Bonneau
Johan Bonneau

๐Ÿ“–
Jesรบs Alberto Muรฑoz Mesa
Jesรบs Alberto Muรฑoz Mesa

โš ๏ธ ๐Ÿ“–
Jaydeep Das
Jaydeep Das

๐Ÿ’ฌ
Sean
Sean

๐Ÿ’ป
Anderson Herzogenrath da Costa
Anderson Herzogenrath da Costa

๐Ÿ’ฌ ๐Ÿ’ป ๐Ÿ”ฌ ๐Ÿ›
Yi Wei Lan
Yi Wei Lan

โš ๏ธ
CpDong
CpDong

๐Ÿ’ป ๐Ÿ› ๐ŸŒ
CY-Qiu
CY-Qiu

๐Ÿ›
Markovvn1
Markovvn1

๐Ÿ’ป
Elad Rapaport
Elad Rapaport

๐Ÿ’ป
SfinxV
SfinxV

๐Ÿ›
bramantoleksono
bramantoleksono

๐Ÿ›
TheNerdy907
TheNerdy907

๐Ÿ›
Elie Roux
Elie Roux

๐Ÿ› ๐Ÿค” ๐Ÿ’ป ๐Ÿ’ฌ
msalem
msalem

๐Ÿ“–
Manuel Ruiz
Manuel Ruiz

๐Ÿ›
Noel
Noel

๐Ÿ›
Avik Sarkar
Avik Sarkar

๐ŸŒ ๐Ÿ“–
aeris07
aeris07

๐Ÿ›
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification +([emoji key](https://allcontributors.org/docs/en/emoji-key)). +Contributions of any kind welcome! + +[![Contributors map](https://pyfpdf.github.io/fpdf2/contributors-map-small.png)](https://pyfpdf.github.io/fpdf2/contributors.html) + +_(screenshot from January 2023, click on the map above to access an up-to-date online version)_ + +## Community, related tools, alternative libraries + +More about those in [the documentation](https://pyfpdf.github.io/fpdf2/#community). + + +%package help +Summary: Development documents and examples for fpdf2 +Provides: python3-fpdf2-doc +%description help +[![Pypi latest version](https://img.shields.io/pypi/v/fpdf2.svg)](https://pypi.org/pypi/fpdf2#history) +[![Python Support](https://img.shields.io/pypi/pyversions/fpdf2.svg)](https://pypi.org/project/fpdf2/) +[![License: LGPL v3](https://img.shields.io/badge/License-LGPL%20v3-blue.svg)](https://www.gnu.org/licenses/lgpl-3.0) + +[![build status](https://github.com/PyFPDF/fpdf2/workflows/build/badge.svg)](https://github.com/PyFPDF/fpdf2/actions?query=branch%3Amaster) +[![codecov](https://codecov.io/gh/PyFPDF/fpdf2/branch/master/graph/badge.svg)](https://codecov.io/gh/PyFPDF/fpdf2) +![security: bandit, pylint, semgrep](https://img.shields.io/badge/linters-bandit,pylint,semgrep-yellow.svg) + +[![Dependents](https://img.shields.io/librariesio/dependents/pypi/fpdf2)](https://libraries.io/pypi/fpdf2/dependents) +[![Downloads per month](https://pepy.tech/badge/fpdf2/month)](https://pepy.tech/project/fpdf2) +[![Contributors](https://img.shields.io/github/contributors/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/graphs/contributors) +[![GitHub last commit](https://img.shields.io/github/last-commit/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/commits/master) + +[![issues closed](https://img.shields.io/github/issues-closed/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/issues) +[![PRs closed](https://img.shields.io/github/issues-pr-closed/PyFPDF/fpdf2)](https://github.com/PyFPDF/fpdf2/pulls) +[![Pull Requests Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat)](http://makeapullrequest.com) +[![first-timers-only Friendly](https://img.shields.io/badge/first--timers--only-friendly-blue.svg)](http://www.firsttimersonly.com/) +โ†’ come look at our [good first issues](https://github.com/PyFPDF/fpdf2/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) + +# fpdf2 + +![fpdf2 logo](https://pyfpdf.github.io/fpdf2/fpdf2-logo.png) + +`fpdf2` is a PDF creation library for Python: + +```python +from fpdf import FPDF + +pdf = FPDF() +pdf.add_page() +pdf.set_font('helvetica', size=12) +pdf.cell(txt="hello world") +pdf.output("hello_world.pdf") +``` + +Go try it **now** online in a Jupyter notebook: [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/PyFPDF/fpdf2/blob/master/tutorial/notebook.ipynb) or [![Open In nbviewer](https://img.shields.io/badge/Open_In-nbviewer-blue?logo=jupyter)](https://nbviewer.org/github/PyFPDF/fpdf2/blob/master/tutorial/notebook.ipynb) + +Compared with other PDF libraries, `fpdf2` is **fast, versatile, easy to learn and to extend** ([example](https://github.com/digidigital/Extensions-and-Scripts-for-pyFPDF-fpdf2)). +It is also entirely written in Python and has very few dependencies: +[Pillow](https://pillow.readthedocs.io/en/stable/), [defusedxml](https://pypi.org/project/defusedxml/), & [fontTools](https://fonttools.readthedocs.io/en/latest/index.html). It is a fork and the successor of `PyFPDF` (_cf._ [history](https://pyfpdf.github.io/fpdf2/Development.html#history)). + +**Development status**: this project is **mature** and **actively 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](https://github.com/PyFPDF/fpdf2/discussions)! + +## Installation Instructions + +```bash +pip install fpdf2 +``` + +To get the latest, unreleased, development version straight from the development branch of this repository: + +```bash +pip install git+https://github.com/PyFPDF/fpdf2.git@master +``` + +## Features + + * Python 3.7+ support + * [Unicode](https://pyfpdf.github.io/fpdf2/Unicode.html) (UTF-8) TrueType font subset embedding + * Internal / external [links](https://pyfpdf.github.io/fpdf2/Links.html) + * Embedding images, including transparency and alpha channel + * Arbitrary path drawing and basic [SVG](https://pyfpdf.github.io/fpdf2/SVG.html) import + * Embedding [barcodes](https://pyfpdf.github.io/fpdf2/Barcodes.html), [charts & graphs](https://pyfpdf.github.io/fpdf2/Maths.html), [emojis, symbols & dingbats](https://pyfpdf.github.io/fpdf2/EmojisSymbolsDingbats.html) + * [Tables](https://pyfpdf.github.io/fpdf2/Tables.html) and also [cell / multi-cell / plaintext writing](https://pyfpdf.github.io/fpdf2/Text.html), with [automatic page breaks](https://pyfpdf.github.io/fpdf2/PageBreaks.html), line break and text justification + * Choice of measurement unit, page format & margins. Optional page header and footer + * Basic [conversion from HTML to PDF](https://pyfpdf.github.io/fpdf2/HTML.html) + * A [templating system](https://pyfpdf.github.io/fpdf2/Templates.html) to render PDFs in batchs + * Images & links alternative descriptions, for accessibility + * Table of contents & [document outline](https://pyfpdf.github.io/fpdf2/DocumentOutlineAndTableOfContents.html) + * [Document encryption](https://pyfpdf.github.io/fpdf2/Encryption.html) & [document signing](https://pyfpdf.github.io/fpdf2/Signing.html) + * [Annotations](https://pyfpdf.github.io/fpdf2/Annotations.html), including text highlights, and [file attachments](https://pyfpdf.github.io/fpdf2/FileAttachments.html) + * [Presentation mode](https://pyfpdf.github.io/fpdf2/Presentations.html) with control over page display duration & transitions + * Optional basic Markdown-like styling: `**bold**, __italics__` + * Can render [mathematical equations & charts](https://pyfpdf.github.io/fpdf2/Maths.html) + * Usage examples with [Django](https://www.djangoproject.com/), [Flask](https://flask.palletsprojects.com), [streamlit](https://streamlit.io/), AWS lambdas... : [Usage in web APIs](https://pyfpdf.github.io/fpdf2/UsageInWebAPI.html) + * 1000+ unit tests running under Linux & Windows, with `qpdf`-based PDF diffing, timing & memory usage checks, and a high code coverage + +Our 350+ reference PDF test files, generated by `fpdf2`, are validated using 3 different checkers: + +[![QPDF logo](https://pyfpdf.github.io/fpdf2/qpdf-logo.svg)](https://github.com/qpdf/qpdf) +[![PDF Checker logo](https://pyfpdf.github.io/fpdf2/pdfchecker-logo.png)](https://www.datalogics.com/products/pdf-tools/pdf-checker/) +[![VeraPDF logo](https://pyfpdf.github.io/fpdf2/vera-logo.jpg)](https://verapdf.org) + +## Please show the value + +Choosing 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 community + +This library relies on community interactions. Please consider sharing a post about `fpdf2` and the value it provides ๐Ÿ˜Š + +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-reddit-red?logo=reddit)](https://reddit.com/submit?url=https://github.com/PyFPDF/fpdf2&title=fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-hacker%20news-orange?logo=ycombinator)](https://news.ycombinator.com/submitlink?u=https://github.com/PyFPDF/fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-twitter-03A9F4?logo=twitter)](https://twitter.com/share?url=https://github.com/PyFPDF/fpdf2&t=fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-facebook-1976D2?logo=facebook)](https://www.facebook.com/sharer/sharer.php?u=https://github.com/PyFPDF/fpdf2) +[![GitHub Repo stars](https://img.shields.io/badge/share%20on-linkedin-3949AB?logo=linkedin)](https://www.linkedin.com/shareArticle?url=https://github.com/PyFPDF/fpdf2&title=fpdf2) + +## Documentation + +- [Documentation Home](https://pyfpdf.github.io/fpdf2/) +- Tutorial in several languages: [English](https://pyfpdf.github.io/fpdf2/Tutorial.html) - [Deutsch](https://pyfpdf.github.io/fpdf2/Tutorial-de.html) - [espaรฑol](https://pyfpdf.github.io/fpdf2/Tutorial-es.html) - [เคนเคฟเค‚เคฆเฅ€](https://pyfpdf.github.io/fpdf2/Tutorial-เคนเคฟเค‚เคฆเฅ€.html) - [portuguรชs](https://pyfpdf.github.io/fpdf2/Tutorial-pt.html) - [ะ ัƒััะบะธะน](https://pyfpdf.github.io/fpdf2/Tutorial-ru.html) - [Italian](https://pyfpdf.github.io/fpdf2/Tutorial-it.html) - [franรงais](https://pyfpdf.github.io/fpdf2/Tutorial-fr.html) - [ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ](https://pyfpdf.github.io/fpdf2/Tutorial-gr.html) - [ืขื‘ืจื™ืช](https://pyfpdf.github.io/fpdf2/Tutorial-he.html) - [็ฎ€ไฝ“ไธญๆ–‡](https://pyfpdf.github.io/fpdf2/Tutorial-zh.html) - [เฆฌเฆพเฆ‚เฆฒเฆพ](https://pyfpdf.github.io/fpdf2/Tutorial-เฆฌเฆพเฆ‚เฆฒเฆพ.html) +- Release notes: [CHANGELOG.md](https://github.com/PyFPDF/fpdf2/blob/master/CHANGELOG.md) +- A series of blog posts: [fpdf2 tag @ ludochaordic](https://chezsoi.org/lucas/blog/tag/fpdf2.html) + +You can also have a look at the `tests/`, they're great usage examples! + +## Developement + +Please check the [dedicated documentation page](https://pyfpdf.github.io/fpdf2/Development.html). + +## Contributors โœจ + +This library could only exist thanks to the dedication of many volunteers around the world: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mariano Reingart
Mariano Reingart

๐Ÿ’ป
David Ankin
David Ankin

๐Ÿ› ๐Ÿ’ป ๐Ÿ“– ๐Ÿšง ๐Ÿ’ฌ ๐Ÿ‘€ โš ๏ธ
Alex Pavlovich
Alex Pavlovich

๐Ÿ› ๐Ÿ’ป ๐Ÿ“– ๐Ÿ’ฌ ๐Ÿ‘€ โš ๏ธ
Lucas Cimon
Lucas Cimon

๐Ÿ“ ๐Ÿ’ป ๐Ÿ“– ๐Ÿš‡ ๐Ÿšง ๐Ÿ’ฌ
Miroslav ล edivรฝ
Miroslav ล edivรฝ

๐Ÿ’ป โš ๏ธ
Florian Bernhart
Florian Bernhart

๐Ÿ’ป โš ๏ธ
Edwood Ocasio
Edwood Ocasio

๐Ÿ’ป โš ๏ธ
Marcelo Duarte
Marcelo Duarte

๐Ÿ’ป
Roman Kharin
Roman Kharin

๐Ÿ’ป ๐Ÿค”
Christopher Frost
Christopher Frost

๐Ÿ› ๐Ÿ’ป
Michael Kalbermatten
Michael Kalbermatten

๐Ÿ› ๐Ÿ’ป
Yanone
Yanone

๐Ÿ’ป
Leo Zhu
Leo Zhu

๐Ÿ’ป
Abishek Goda
Abishek Goda

๐Ÿ’ป
Arthur Moore
Arthur Moore

๐Ÿ’ป โš ๏ธ ๐Ÿ›
Bogdan Cuza
Bogdan Cuza

๐Ÿ’ป
Craig Hobbs
Craig Hobbs

๐Ÿ’ป
xitrushiy
xitrushiy

๐Ÿ› ๐Ÿ’ป
Josรฉ L. Redrejo Rodrรญguez
Josรฉ L. Redrejo Rodrรญguez

๐Ÿ’ป
Jรผrgen Gmach
Jรผrgen Gmach

๐Ÿ’ป
Larivact
Larivact

๐Ÿ’ป
Leonel Cรขmara
Leonel Cรขmara

๐Ÿ’ป
Mark Steadman
Mark Steadman

๐Ÿ› ๐Ÿ’ป
Sergey
Sergey

๐Ÿ’ป
Stan-C421
Stan-C421

๐Ÿ’ป
Viraj Shah
Viraj Shah

๐Ÿ’ป
cornicis
cornicis

๐Ÿ’ป
moe-25
moe-25

๐Ÿ’ป ๐Ÿ‘€ ๐Ÿ”ฌ ๐Ÿ›
Simone Bizzotto
Simone Bizzotto

๐Ÿ’ป
Boonyawe Sirimaha
Boonyawe Sirimaha

๐Ÿ›
T
T

๐Ÿ’ป ๐ŸŽจ
AubsUK
AubsUK

๐Ÿ’ฌ
Georg Mischler
Georg Mischler

๐Ÿ› ๐Ÿ’ป ๐ŸŽจ ๐Ÿ“– ๐Ÿค” ๐Ÿ’ฌ โš ๏ธ
ping
ping

๐Ÿ›
Portfedh
Portfedh

๐Ÿ“– โœ…
Tabarnhack
Tabarnhack

๐Ÿ’ป
Mridul Birla
Mridul Birla

๐ŸŒ
digidigital
digidigital

๐ŸŒ
Xit
Xit

๐ŸŒ
Alexander Burchenko
Alexander Burchenko

๐ŸŒ
Andrรฉ Assunรงรฃo
Andrรฉ Assunรงรฃo

๐ŸŒ
Quentin Brault
Quentin Brault

๐ŸŒ
Paula Campigotto
Paula Campigotto

๐Ÿ› ๐Ÿ’ป ๐Ÿ‘€
bettman-latin
bettman-latin

๐Ÿ’ป
oleksii-shyman
oleksii-shyman

๐Ÿ’ป ๐ŸŽจ ๐Ÿค”
lcomrade
lcomrade

๐Ÿ“– ๐Ÿ› ๐Ÿ’ป
pwt
pwt

๐Ÿ› ๐Ÿ’ป
Martin Cerveny
Martin Cerveny

๐Ÿ› ๐Ÿ’ป
Spenhouet
Spenhouet

๐Ÿ› ๐Ÿ‘€
mtkumar123
mtkumar123

๐Ÿ’ป
Davide Consalvo
Davide Consalvo

๐Ÿ’ป ๐Ÿ’ฌ ๐ŸŽจ
Bruno Santos
Bruno Santos

๐Ÿ›
cgkoutzigiannis
cgkoutzigiannis

โš ๏ธ
I Wayan Kurniawan
I Wayan Kurniawan

๐Ÿ“–
Sven Eliasson
Sven Eliasson

๐Ÿ“–
gonzalobarbaran
gonzalobarbaran

๐Ÿ’ป
Nuttapat Koonarangsri
Nuttapat Koonarangsri

๐Ÿ“– ๐Ÿ›
Sokratis Vasiliou
Sokratis Vasiliou

๐ŸŒ
semaeostomea
semaeostomea

๐Ÿ“– ๐Ÿ’ป
Josuรฉ Millรกn Zamora
Josuรฉ Millรกn Zamora

๐Ÿ’ป
me-suzy
me-suzy

๐Ÿ›
dmail00
dmail00

๐Ÿ›
Gerardo Allende
Gerardo Allende

๐Ÿ’ป
Nicholas Jin
Nicholas Jin

๐Ÿ›
Yusuke
Yusuke

๐Ÿ’ป
Tillrzhtgrfho
Tillrzhtgrfho

๐Ÿ›
Dario Ackermann
Dario Ackermann

๐Ÿ›
Tzvi Greenfeld
Tzvi Greenfeld

๐Ÿ“–
devdev29
devdev29

๐Ÿ“–
Johan Bonneau
Johan Bonneau

๐Ÿ“–
Jesรบs Alberto Muรฑoz Mesa
Jesรบs Alberto Muรฑoz Mesa

โš ๏ธ ๐Ÿ“–
Jaydeep Das
Jaydeep Das

๐Ÿ’ฌ
Sean
Sean

๐Ÿ’ป
Anderson Herzogenrath da Costa
Anderson Herzogenrath da Costa

๐Ÿ’ฌ ๐Ÿ’ป ๐Ÿ”ฌ ๐Ÿ›
Yi Wei Lan
Yi Wei Lan

โš ๏ธ
CpDong
CpDong

๐Ÿ’ป ๐Ÿ› ๐ŸŒ
CY-Qiu
CY-Qiu

๐Ÿ›
Markovvn1
Markovvn1

๐Ÿ’ป
Elad Rapaport
Elad Rapaport

๐Ÿ’ป
SfinxV
SfinxV

๐Ÿ›
bramantoleksono
bramantoleksono

๐Ÿ›
TheNerdy907
TheNerdy907

๐Ÿ›
Elie Roux
Elie Roux

๐Ÿ› ๐Ÿค” ๐Ÿ’ป ๐Ÿ’ฌ
msalem
msalem

๐Ÿ“–
Manuel Ruiz
Manuel Ruiz

๐Ÿ›
Noel
Noel

๐Ÿ›
Avik Sarkar
Avik Sarkar

๐ŸŒ ๐Ÿ“–
aeris07
aeris07

๐Ÿ›
+ + + + + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification +([emoji key](https://allcontributors.org/docs/en/emoji-key)). +Contributions of any kind welcome! + +[![Contributors map](https://pyfpdf.github.io/fpdf2/contributors-map-small.png)](https://pyfpdf.github.io/fpdf2/contributors.html) + +_(screenshot from January 2023, click on the map above to access an up-to-date online version)_ + +## Community, related tools, alternative libraries + +More about those in [the documentation](https://pyfpdf.github.io/fpdf2/#community). + + +%prep +%autosetup -n fpdf2-2.7.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-fpdf2 -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot - 2.7.3-1 +- Package Spec generated diff --git a/sources b/sources new file mode 100644 index 0000000..b22a161 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +25da99596b42494e3cf01bc21246a605 fpdf2-2.7.3.tar.gz -- cgit v1.2.3