| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: python313-fpdf2 | Distribution: openSUSE Tumbleweed |
| Version: 2.9.0 | Vendor: openSUSE |
| Release: 1.1 | Build date: Fri Oct 30 20:26:22 2026 |
| Group: Unspecified | Build host: reproducible |
| Size: 4845862 | Source RPM: python-fpdf2-2.9.0-1.1.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: https://py-pdf.github.io/fpdf2/ | |
| Summary: Simple & fast PDF generation for Python | |
Simple & fast PDF generation for Python.
LGPL-3.0-or-later
* Fri Oct 30 2026 Martin Hauke <mardnh@gmx.de>
- Update to version 2.9.0
Added
* support for transform, style, opacity, and
preserveAspectRatio="none" on SVG <image> tags.
* support for colored and uncolored tiling patterns with
FPDF.create_pattern() and FPDF.use_pattern(), including SVG
<pattern> elements and pattern fills and strokes on referenced
<use> shapes.
* support for unordered lists in multi_cell(markdown=True), using
* , - or + as bullet markers.
* documentation on generating rMQR Codes.
* Python 3.15 is now officially supported.
* Unicode font detection and enhanced error handling: when text
cannot be encoded with the current font, the
FPDFUnicodeEncodingException message now identifies the Unicode
script (Cyrillic, Arabic, Chinese, etc.) and suggests a suitable
font available on the system, via the new internal
UnicodeFontManager.
Fixed
* None values in PDF dictionaries are serialized as null instead
of an invalid Python literal.
* Homogeneous arrays of PDF string and name objects use their PDF
serialization, including encryption when applicable.
* PDF dates pad years below 1000 to four digits.
* FPDF.set_display_mode() rejects infinite numeric zoom values
instead of writing invalid PDF numbers.
* Page-count aliases honor center and right alignment with core
fonts when text shaping is enabled.
* 16-bit grayscale images, like 16-bit grayscale PNG files, are
scaled down to 8 bits instead of being converted to RGBA, which
made every value above 255 white, and keep the transparency of
their tRNS color key.
* Tables inside FPDF.unbreakable() are replayed with their rows
and cells intact when the block is moved to a new page.
* FPDF.table() raises a clear ValueError naming the column when
text_align is a tuple with fewer values than the table has
columns, like it does for col_widths, instead of an IndexError.
* FPDF.table(): a cell with a colspan below 1 spans one column,
like a rowspan below 1 already spans one row, instead of raising
ZeroDivisionError or FPDFException or breaking the column layout
* Synchronize font_style and emphasis setters with font selection
and state tracking - cf. issue #1223.
* FPDF.table() raises ValueError: ... is not a valid
TableBordersLayout for an unknown borders_layout name, like it
does for cell_fill_mode and v_align, instead of a bare
AttributeError.
* FPDF.set_font() and FPDF.add_font() treat a repeated style
letter as the same style: style="BB" is bold, instead of raising
FPDFException: Undefined font: helveticaBB.
* Document outlines count all visible descendants and link
siblings by parent, retaining bookmarks when the hierarchy
starts below the top level.
* Annotation colors and border widths are serialized as PDF
numbers without exponent notation.
* Checksums for compressed embedded files are calculated from the
original file bytes, as required by the PDF specification.
* Repeated annotation flags no longer change unrelated flag bits;
annotation flags are combined with bitwise OR.
* FPDF.ink_annotation() raises a clear ValueError for an empty
coords sequence, instead of ValueError: min() iterable argument
is empty.
* SVG images with a zero width or height disable rendering instead
of using viewport dimensions.
* FPDF.write_html() uses the first available font of a <font face>
list, like browsers, as in face="Arial, Helvetica, sans-serif",
with the generic serif, sans-serif and monospace families
rendered by the core fonts, instead of raising FPDFException:
Undefined font.
* SVG gradient stop-opacity accepts percentages, clamps
out-of-range values to 0-1, and combines with the color's alpha
channel instead of replacing it.
* SVG basic-shape coordinates and corner radii now accept absolute
length units.
* SVG transforms accept numbers written in scientific notation,
such as scale(1e-3), instead of silently ignoring the transform.
* SVG gradient stops honor inline style declarations of
stop-opacity over the corresponding presentation attribute.
* SVG length and angle attributes accept scientific notation, such
as width="1e2pt", instead of raising ValueError.
* Floating-point numbers in PDF arrays, dictionaries and
destinations are written without exponent notation, preserving
their values and allowing very small numeric zoom factors to be
read correctly.
* SVG byte strings and BytesIO inputs accept a UTF-8 BOM and XML
whitespace after <svg or <?xml, instead of being sent to the
raster image loader.
* SVG import: a <polygon> or <polyline> whose points has an error
(an invalid coordinate or an odd number of them) is drawn up to
the last complete point before it, and one with empty points
draws nothing, as the SVG specification says, instead of
raising IndexError.
* FPDF.write_html() ignores an unsupported align value on <td>,
<th> and <tr>, such as middle, like it already does for <p>,
instead of raising ValueError.
* FPDF.regular_polygon() raises ValueError: 'numSides' parameter
must be equal or greater than 1 for numSides below 1, instead of
silently writing a path with no points (a bare h S, which closes
a path that was never started).
* Bulleted text-column paragraphs now honor their top margins,
indented paragraphs retain the column's right boundary, and HTML
list items honor their TextStyle.t_margin - based on PR #1218.
* FPDF.text_columns() raises a clear ValueError for ncols below
1, like insert_toc_placeholder() does for pages, instead of a
ZeroDivisionError or an unrelated Not enough horizontal space
error when rendering.
* FPDF() and FPDF.add_page() raise FPDFPageFormatException: Width
and height must be positive numbers for a page format whose
width or height is zero or negative, such as (0, 0), instead of
writing a page with an empty or inverted /MediaBox.
* FPDF.write_html() now supports CSS length units (px, pt) and
surrounding whitespace in dimension attributes for <table>,
<td>, <th>, <hr>, and <img> elements without raising ValueError.
* FPDF.write_html() reads a CSS font-size on <font> with its unit,
like browsers, as in style="font-size: 14pt" or "12px", instead
of silently ignoring it; a number without a unit is still in
points.
* FPDF.write_html() supports <ul type="square">, the third
standard HTML bullet type, instead of raising
NotImplementedError: Unicode fonts use ▪ and core fonts fall
back to the bullet.
* FPDF.write_html() accepts the <ul type> keywords in any case,
like browsers: <ul type="CIRCLE"> and <ul type="Square"> no
longer raise NotImplementedError.
* FPDF.write_html() supports <ul type="none">, rendering the list
items without a marker like browsers do, instead of raising
NotImplementedError.
* FPDF.write_html() keeps the default bullet for an empty or
unknown <ul type>, such as type="" or a misspelled type="disk",
like browsers and like <ol> already does, instead of raising
NotImplementedError.
* SVG import: color keywords are case-insensitive (fill="RED"),
and fill / stroke accept transparent, painting nothing like
none, instead of raising ValueError
* FPDF.write_html() accepts css rgb(R, G, B) colors, and colors
with surrounding spaces, in color and bgcolor attributes
instead of raising ValueError.
* FPDF.write_html() accepts a legacy HTML color of six hex
digits without the leading #, like browsers do, as in
bgcolor="eeeeee" or <font color="ff0000">, instead of raising
ValueError.
* FPDF.write_html() ignores color="transparent" and
bgcolor="transparent" like browsers, keeping the inherited text
or background color, instead of raising ValueError.
* FPDF.write_html() ignores an invalid CSS color on a heading,
like browsers, as in <h1 style="color: nope">, keeping the color
attribute or the heading's default color, instead of raising
ValueError.
* FPDF.write_html() no longer raises IndexError on an
<ol type="a"> or <ol type="A"> list with more than 26 items:
like browsers, letters continue with aa, ab... and a start
below 1 shows as a number.
* FPDF.write_html() numbers an <ol> with an unknown type, such as
type="disc", as 1, 2, 3, like browsers, instead of raising
NotImplementedError.
* FPDF.write_html() supports <li value="N"> in ordered lists:
like browsers, the item is numbered N and the following ones
continue from it.
* FPDF.write_html() no longer raises KeyError: 'href' on an <a>
element without an href attribute, such as a named anchor (<a
name="intro">); its text is rendered as plain text.
* FPDF.set_display_mode() raises FPDFException: Incorrect zoom
display mode for a negative or non-numeric zoom, such as -50
or None, like it does for an unknown zoom name, instead of
writing an invalid /OpenAction zoom or failing later in
output().
* FPDF.write_html() no longer warns about a missing end tag for
the HTML void elements <meta>, <link>, <col>, <wbr>, <input>,
<base>, <area>, <embed>, <source> and <track>, which never
have one, as in the <head> of an HTML email.
* FPDF.write_html() treats an invalid colspan or rowspan on <td>
/ <th>, or one below 1, as 1 like browsers do, instead of
raising ValueError or ZeroDivisionError.
* FPDF.write_html() stops a rowspan that goes past the last row
of a <table> at the last row, like browsers, instead of
raising FPDFException: Rowspan extends beyond end of table.
* FPDF.write_html() renders a <table> whose width is wider than
the page, such as width="150%", at the page width with a
warning, and ignores a negative width like browsers, instead
of raising ValueError.
* FPDF.write_html() no longer raises ValueError: Invalid
.col_widths specified on a table whose first row gives a width
to only some of its cells, such as
<td width="50%">a</td><td>b</td>: like browsers, the other
cells share the remaining space, after the gaps of cellspacing;
a cell with a colspan gives each column it spans an equal part
of its width.
* warning detection during FPDFRecorder.replay() now correctly
identifies context managers (contextlib.AbstractContextManager,
@contextmanager, custom context managers) within unbreakable()
sections.
* SVG import: opacity, fill-opacity and stroke-opacity accept
percentages (50%), and an out-of-range opacity is clamped to
0-1 like the other two instead of raising ValueError.
* css rgb() colors accept percentages, as in rgb(100%, 0%, 50%)
(clamped to 0%-100%), in SVG import and FPDF.write_html()
instead of raising ValueError.
* hex color strings, such as in set_fill_color("#..."), must
contain only hexadecimal digits: "#1 2345" and "#+12345" were
silently read as #012345, and "#xyz" raised an unclear invalid
literal for int() error; all now raise ValueError: ... could
not be interpreted as a RGB(A) hex string.
* FPDF.ink_annotation() computes the horizontal position of the
annotation rectangle (/Rect) from the x coordinates of the path
instead of the y coordinates, so the rectangle encloses the
drawn path; it could previously lie outside the page.
* FPDF.set_auto_page_break() and FPDF.set_margin() raise
ValueError: Bottom margin must be zero or a positive number for
a negative margin, instead of placing the page break below the
bottom edge of the page, so that the last lines before each
break were written off the page and lost.
* FPDF.embed_file() accepts empty byte content and rejects
simultaneous path and byte sources even when the bytes are
empty.
* FPDF.set_line_width() raises ValueError: Line width must be
zero or a positive number for a negative width, like
set_dash_pattern() does for a negative dash length, instead of
writing a negative line width that the PDF specification does
not allow.
* FPDF.star() raises ValueError: 'corners' parameter must be
equal or greater than 1 for corners below 1, instead of a bare
ZeroDivisionError for corners=0 and silently drawing nothing
for a negative value.
* set_text_color(), set_fill_color() and set_draw_color() report
a component outside 0-255 as given: set_text_color(300) now
raises ValueError: color component 300 not in range [0, 255]
instead of 1.1764705882352942 not in range [0.0, 1.0].
* An internal link with an index that FPDF.add_link() did not
return now raises a clear ValueError, like a link without a
page number, instead of a bare AssertionError (or a KeyError
with python -O).
* FPDF.write_html() no longer writes the content of <style> and
<script> elements into the document as text, like browsers, so
an HTML page or email with a <style> block no longer shows its
CSS.
* FPDF.add_page() and FPDF.set_page_label() raise ValueError:
'label_start' parameter must be equal or greater than 1 for a
label_start below 1, instead of writing an invalid /St value
that the PDF specification requires to be 1 or greater.
* FPDF.set_stretching() raises ValueError: Stretching must be a
positive number for a stretching of zero or below, instead of
laying out text with no width: justified text was all put on a
single line, and other text raised an unrelated Not enough
horizontal space to render a single character error.
* FPDF.write_html() raises NotImplementedError: Unsupported
nested HTML tags inside <td> element: <table> for a <table>
nested in a table cell, like for the other unsupported nested
tags, instead of a bare AssertionError with no message.
Changed
* Updated the Portuguese tutorial, including tutorials 4 and 5
and the new PDF/A tutorial 7 - cf. PR #2038.
* Modernized type annotations for Python 3.11+, using union
syntax, standard collection types, and typing.Self
* Removed redundant trailing zeros from numbers in PDF
dictionaries and arrays outside content streams, preserving
existing numeric precision.
Removed
* Removed the defusedxml dependency: SVG parsing now relies on
the standard-library ElementTree parser and Expat amplification
limits; bounded internal entities are accepted, cf. issue #1793
* support for Python 3.10, that reached end-of-life.
* Mon Oct 12 2026 Martin Hauke <mardnh@gmx.de>
- Update to version 2.8.9
Added
* align parameter for FPDF.alias_nb_pages() to control horizontal
alignment (Align.L, Align.C, Align.R) of substitution text
inside reserved alias space.
* support for page number alias substitution with bidirectional
/ RTL text shaping.
* appearance parameter for FPDF.file_attachment_annotation(),
accepting FileAttachmentAppearance.HIDDEN to give the
annotation an empty appearance stream so its default icon is
not displayed while the file stays embedded and reachable.
* Turkish translation of the Tuto 7 - Creating PDF/A Documents
tutorial section, along with fixes for duplicated clauses and
mistranslations in the Tuto 2, 4 & 6 descriptions.
Fixed
* escaped Markdown markers adjacent to emphasis markers in link
labels no longer lose literal characters or apply unintended
styling.
* PDF serialization of boolean and null values: booleans in
arrays and dictionaries now use lowercase true and false,
including in mixed numeric/boolean arrays; None in arrays is
serialized as null; and filtering empty dictionary fields
preserves False and numeric zero values.
* SVG percentage width and height values with surrounding
whitespace (e.g. width="100% ") no longer raise ValueError.
* PDF/A-1 documents using TrueType or CFF-based CID fonts now
include a /CIDSet stream in each font descriptor, as required
by ISO 19005-1 (veraPDF rule 6.3.5-3).
* split font /ToUnicode and /Encoding CMap mappings into blocks
of at most 100 entries, as required by the PDF specification.
* visual gap in rendering subsequent text after {nb} page alias
when text shaping is enabled.
* FPDF.write_html() no longer raises IndexError: pop from empty
list when a <ul> or <ol> element carries a line-height that
is not a bare number (e.g. line-height: normal or line-height:
1.5em); such values are now ignored, and the default line
height is used, consistently with <p line-height="x">.
* FPDF.write_html() now renders list bullets with correct font
styling instead of inheriting preceding heading (e.g. <h1>)
styles.
* table cells landing in the wrong column when a row was covered
by several rowspans that did not start in column order.
* Padding.new() now accepts 1-element sequences per CSS shorthand
rules and preserves existing Padding instances without
redundant allocations.
- Update to version 2.8.8
Added
* Punjabi (pa) tutorial translation.
* FPDF.svg_limits and SVGLimits to configure SVG complexity
limits while rendering SVG images.
* resource_access_policy and Security considerations documentation
* FPDF.optional_content() context manager to mark content as
visible on screen only or in print only, using PDF Optional
Content Groups.
* basic support for SVG <symbol> elements in the SVG parser.
* basic support for SVG <switch> elements in the SVG parser.
* support for keeping aspect ratio for images in templates.
Fixed
* Addresses CVE-2026-114609 (bsc#1287182), CVE-2026-114610 (bsc#1287183)
* custom height passed to Paragraph.ln() in a text region is now
applied to the line it terminates instead of the first line of
the following paragraph.
* the optional numpy import in image_parsing.py no longer crashes
on CPUs unsupported by numpy's manylinux wheel baseline;
RuntimeError is now treated the same as ImportError, so numpy
degrades to unavailable instead of taking down import fpdf.
* font state (family, style, size, current font, and the
page-level "font is set" flag) no longer leaks back onto the
FPDF instance after a text_columns() / text_region() context
exits, so a subsequent pdf.cell() / pdf.write() renders at the
caller's font instead of the last paragraph's.
* text rendering when the first text on a page starts with a
fallback glyph.
* preserve boundary-neutral formatting during bidirectional text
preprocessing.
* transform application on user space gradients.
* dependency extras for camelot-py and endesive on pyproject.toml
* preserve link annotations during dry-run of FPDF.multi_cell.
* preserve two consecutive markdown links (without space
inbetween).
* support markdown style around markdown links.
* Reset gstate for ToC-rendering.
* preserve markdown format in FPDF.multi_cell in dry-run.
* fix page order after dry-run of FPDF.multi_cell in ToC.
* rendering SVG arcs with very small sweeps that previously
rounded to zero.
* spurious "Not enough horizontal space to render a single
character" error when text without break opportunities is
split into many small fragments, e.g. by a fallback font
alternating with the main fon
* number of surviving escape characters.
* leading spaces on new lines inside <pre> and <pre><code> blocks
are no longer dropped.
* FPDF.set_font() can restore current_font when the selected font
state diverged.
* embed CID-keyed CFF fonts as raw CFF programs so browser PDF
viewers render them correctly.
* fixed broken links on documentation not directly leading to the
API reference.
* reject SVG <use> cycles and excessive nested expansion to
prevent resource exhaustion in FPDF.image().
* count SVG <switch> elements in SVG complexity limits.
* declare the default base state and display order for Optional
Content Groups so PDF viewers can list layers correctly.
* Sat Apr 11 2026 Dirk Müller <dmueller@suse.com>
- update to 2.8.7:
* types on `FPDF.title`, `FPDF.add_font()` and `FPDF.output()`
* added missing files to navigation tree in mkdocs.yml - thanks
to @paulsuh
* reverted changes to `ImageInfo` that impacted user-facing API
* prefer outline glyphs over bitmap if the font has both
- update to 2.8.6:
* support for `FPDF.transform()` context manager to apply
geometric transformations (translation, rotation, scaling,
skewing) to the current graphics state
* support for SVG `` and `` elements - _cf._ issue #1580 -
* mypy and pyright checks in the CI pipeline to enforce strict
typing
* support WOFF and WOFF2 fonts
* TTC/OTC face selection via `collection_font_number` in
`add_font()`
* CID-keyed CFF font embedding support
* Microsoft Symbol font remapping for non-Unicode cmaps
* support for EBDT/EBLC bitmap fonts
* the `A5` value that could be specified as page `format` to
the `FPDF` constructor was slightly incorrect, and the
corresponding page dimensions have been fixed. This could
lead to a minor change in your documents dimensions if you
used this `A5` page format. - _cf._ issue #1699
* a bug when rendering empty tables with `INTERNAL` layout,
that caused an extra border to be rendered due to an
erroneous use of `list.index()` - _cf._ issue #1669
* edge cases where tiny floating-point drift could trigger
incorrect behaviour like issue #1393
* parentheses are now escaped in more places. This fixes
embedding a file with a single parenthesis in the filename,
but might also have impacts on e.g. section names.
* parsing markdown sequences with escape character - _cf._
issue #1236 - thanks @amidou-naba
* improved performance when rendering paths, SVGs, and opaque
raster images with an alpha channel - _cf._ PR #1675
* typing annotations added across the codebase as part of the
strict typing rollout
* graphics state snapshots now use a `GraphicsState` dataclass
dataclass for clearer usage and stronger typing
* `rotation()`, `skew()`, and `mirror()` now delegate to
`transform()` for standardized transform application
* ImageInfo now uses typed dictionaries for clearer usage and
stronger typing
* Mon Jan 19 2026 Markéta Machová <mmachova@suse.com>
- Update to 2.8.5
* added tutorial "tuto7" (in English and German) with documentation to create PDF/A files with fpdf2
* support for many different text/paragraph formatings added
* improved SVG image parsing speed by 50% to 70%
* Python 3.14 is now officially supported
* changed libtiff detection logic to maintain compatibility with pillow v12
* many more bug fixes and improvements, see upstream CHANGELOG.md
* Tue Feb 04 2025 John Paul Adrian Glaubitz <adrian.glaubitz@suse.com>
- Update to 2.8.2
* Added
- new optional parameter `border` for table cells: users can define
specific borders (left, right, top, bottom) for individual cells
- `FPDF.write_html()`: now parses `<title>` tags to set the document title.
By default, it is added as PDF metadata, but not rendered in the document
body. However, this can be enabled by passing `render_title_tag=True` to
`FPDF.write_html()`.
- support for LZWDecode compression
- Python 3.13 is now officially supported
- support for page labels and created a reference table of contents implementation
- documentation on how to: render spreadsheets as PDF tables
- support for passing `Align` values (along with string values like `'C'`,
`'L'`, `'R'`) in `l_margin` of `TextStyle` to horizontally align text
* Fixed
- support for `align=` in `FPDF.table()`. Due to this correction, tables are now
properly horizontally aligned on the page by default. This was always specified
in the documentation, but was not in effect until now. You can revert to have
left-aligned tables by passing `align="LEFT"` to `FPDF.table()`.
- `FPDF.set_text_shaping(False)` was broken since version 2.7.8 and is now working properly
- fixed bug where cells with `rowspan`, `colspan` > 1 and null text were not displayed properly
- `CreationDate` metadata used a wrong timezone offset for UTC
- `insert_toc_placeholder()`] did not properly set the page orientation, which
caused a bug when the last page of the document was in a different orientation
* Changed
- improved logic for handling text substitution of the total number of pages,
ensuring compatibility with text shaping
- all `AnnotationDict` properties can now be passed to `FPDF.text_annotation()`,
`FPDF.free_text_annotation()`, `FPDF.add_action()`, `FPDF.add_text_markup_annotation()`
& `FPDF.ink_annotation()`. This includes `title`, `color`, `border_width`...
* Removed
- reminder : since release `2.8.1`, `fpdf2` does not support Python 3.7,
that reached end-of-life in 2023
- from version 2.8.1
* Added
- support for quadratic and cubic Bézier curves with `FPDF.bezier()`
- support for escape character for markers in markdown text
- Wrapping words on spaces now considers all common space symbols in
addition to regular spaces (' '), addressing issues with word-wrapping
for languages like Thai, as per (#1190) and (#1191)
- `Templates` can now be also defined in JSON files.
- support to optionally set `wrapmode` in templates (default `"WORD"` can
optionally be set to `"CHAR"` to support wrapping on characters for scripts
like Chinese or Japanese) - _cf._ (#1159)
- documentation on how to use `fpdf2` with Rough.js
- documentation on how to use `fpdf2` with gunicorn
- new translation of the tutorial in Türkçe
- feature to identify the Unicode script of the input text and break it into
fragments when different scripts are used, improving text shaping results
- `FPDF.image()`: now handles `keep_aspect_ratio` in combination with an
enum value provided to `x`
- `FPDF.write_html()`: now supports CSS page breaks properties : documentation
- `FPDF.write_html()`: new optional `font_family` parameter to set the default font family
- `FPDF.write_html()`: spacing before lists can now be adjusted via the `tag_styles` attribute
- file names are mentioned in errors when `fpdf2` fails to parse a SVG image
* Fixed
- `FPDF.local_context()` used to leak styling during page breaks, when rendering
`footer()` & `header()`
- `fpdf.drawing.DeviceCMYK` objects can now be passed to `FPDF.set_draw_color()`,
`FPDF.set_fill_color()` and `FPDF.set_text_color()` without raising a `ValueError`
- `FPDF.write_html()`: fixing rendering of `<hr>` tags, that do not trigger a page
break anymore
- `FPDF.write_html()`: fixed automatic page break when an image does not have enough
vertical space to be rendered on a page
- individual `/Resources` directories are now properly created for each document page.
This change ensures better compliance with the PDF specification but results in a
slight increase in the size of PDF documents. You can still use the old behavior
by setting `FPDF().single_resources_object = True`
- line size calculation for fragments when text shaping is used
- `FPDF.write_html()`: fixed incoherent indentation of long `<ul>` list entries
- default values for `top_margin` and `bottom_margin` in `HTML2FPDF._new_paragraph()`
calls are now correctly converted into chosen document units.
- In text_columns(), paragraph top/bottom margins didn't correctly trigger column breaks
- `fpdf.drawing.color_from_hex_string` did not test or mention accepting lowercase hex values.
- handling of bidirectional text on `FPDF.get_string_width()`
- new translation of the tutorial in Indonesian
- `RecursionError` in some cases when calling `FPDF.write_html()` inside `FPDF.footer()`
* Removed
- support for Python 3.7, that reached end-of-life in 2023
- an obscure and undocumented feature of `FPDF.write_html()`, which used to magically
pass instance attributes as arguments.
* Deprecated
- `fpdf.TitleStyle` has been renamed into `fpdf.TextStyle`
- `FPDF.write_html()`: `tag_indents` introduced in the last version - Now the indentation
can be provided through the `tag_styles` parameter, using the `.l_margin` of `TextStyle`
instances
* Changed
- `FPDF.local_context()` used to treat `font_size` as a value in points. Now this is the
role of `font_size_pt`, whereas `font_size` allows to set the font size into chosen
document units (specified with `FPDF(unit=)`)
- `FPDF.circle()`: the previous `r` parameter, that in fact defined the diameter, has
been replaced by a new `radius` paremeter. The `x` & `y` parameters now define the
circle **center**, instead of its top-left corner as it used to be
- `FPDF.table()` now raises an error when a single row is too high to be rendered on
a single page
- `FPDF.write_html()`: indentation of HTML elements can now be non-integer (float),
and is now independent of font size and bullet strings.
- improved performance of font glyph selection by using functools cache
- Clarified usage of the `style` attribute in `FPDF.add_font()`
- from version 2.8.0
* This version was only uploaded a few minutes on Pypi and then deleted manually by a
maintainer, erroneously fearing a regression.
* Tue Oct 29 2024 Daniel Garcia <daniel.garcia@suse.com>
- Using obs_scm service to download from repository
without some files to do not distribute CC-noncomercial licensed
ttf. boo#1232452
* Fri Sep 06 2024 Aline Werner <aline.werner@suse.com>
- Add missing requirements.
* Wed Aug 21 2024 Aline Werner <aline.werner@suse.com>
- Initial package for v2.7.9.
/usr/lib/python3.13/site-packages/fpdf /usr/lib/python3.13/site-packages/fpdf/__init__.py /usr/lib/python3.13/site-packages/fpdf/__pycache__ /usr/lib/python3.13/site-packages/fpdf/__pycache__/__init__.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/__init__.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/actions.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/actions.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/annotations.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/annotations.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/bidi.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/bidi.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/deprecation.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/deprecation.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/drawing.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/drawing.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/drawing_primitives.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/drawing_primitives.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/encryption.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/encryption.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/enums.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/enums.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/errors.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/errors.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/font_type_3.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/font_type_3.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/fonts.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/fonts.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/fpdf.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/fpdf.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/graphics_state.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/graphics_state.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/html.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/html.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/image_datastructures.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/image_datastructures.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/image_parsing.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/image_parsing.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/line_break.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/line_break.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/linearization.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/linearization.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/outline.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/outline.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/output.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/output.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/pattern.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/pattern.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/prefs.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/prefs.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/recorder.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/recorder.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/sign.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/sign.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/structure_tree.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/structure_tree.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/svg.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/svg.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/syntax.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/syntax.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/table.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/table.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/template.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/template.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/text_region.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/text_region.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/transitions.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/transitions.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/unicode_font_utils.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/unicode_font_utils.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/unicode_script.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/unicode_script.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/util.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/__pycache__/util.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/actions.py /usr/lib/python3.13/site-packages/fpdf/annotations.py /usr/lib/python3.13/site-packages/fpdf/bidi.py /usr/lib/python3.13/site-packages/fpdf/data /usr/lib/python3.13/site-packages/fpdf/data/__init__.py /usr/lib/python3.13/site-packages/fpdf/data/__pycache__ /usr/lib/python3.13/site-packages/fpdf/data/__pycache__/__init__.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/data/__pycache__/__init__.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/data/color_profiles /usr/lib/python3.13/site-packages/fpdf/data/color_profiles/__init__.py /usr/lib/python3.13/site-packages/fpdf/data/color_profiles/__pycache__ /usr/lib/python3.13/site-packages/fpdf/data/color_profiles/__pycache__/__init__.cpython-313.opt-1.pyc /usr/lib/python3.13/site-packages/fpdf/data/color_profiles/__pycache__/__init__.cpython-313.pyc /usr/lib/python3.13/site-packages/fpdf/data/color_profiles/sRGB2014.icc /usr/lib/python3.13/site-packages/fpdf/data/color_profiles/sRGB2014.icc.LICENSE /usr/lib/python3.13/site-packages/fpdf/deprecation.py /usr/lib/python3.13/site-packages/fpdf/drawing.py /usr/lib/python3.13/site-packages/fpdf/drawing_primitives.py /usr/lib/python3.13/site-packages/fpdf/encryption.py /usr/lib/python3.13/site-packages/fpdf/enums.py /usr/lib/python3.13/site-packages/fpdf/errors.py /usr/lib/python3.13/site-packages/fpdf/font_type_3.py /usr/lib/python3.13/site-packages/fpdf/fonts.py /usr/lib/python3.13/site-packages/fpdf/fpdf.py /usr/lib/python3.13/site-packages/fpdf/graphics_state.py /usr/lib/python3.13/site-packages/fpdf/html.py /usr/lib/python3.13/site-packages/fpdf/image_datastructures.py /usr/lib/python3.13/site-packages/fpdf/image_parsing.py /usr/lib/python3.13/site-packages/fpdf/line_break.py /usr/lib/python3.13/site-packages/fpdf/linearization.py /usr/lib/python3.13/site-packages/fpdf/outline.py /usr/lib/python3.13/site-packages/fpdf/output.py /usr/lib/python3.13/site-packages/fpdf/pattern.py /usr/lib/python3.13/site-packages/fpdf/prefs.py /usr/lib/python3.13/site-packages/fpdf/py.typed /usr/lib/python3.13/site-packages/fpdf/recorder.py /usr/lib/python3.13/site-packages/fpdf/sign.py /usr/lib/python3.13/site-packages/fpdf/structure_tree.py /usr/lib/python3.13/site-packages/fpdf/svg.py /usr/lib/python3.13/site-packages/fpdf/syntax.py /usr/lib/python3.13/site-packages/fpdf/table.py /usr/lib/python3.13/site-packages/fpdf/template.py /usr/lib/python3.13/site-packages/fpdf/text_region.py /usr/lib/python3.13/site-packages/fpdf/transitions.py /usr/lib/python3.13/site-packages/fpdf/unicode_font_utils.py /usr/lib/python3.13/site-packages/fpdf/unicode_script.py /usr/lib/python3.13/site-packages/fpdf/util.py /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/INSTALLER /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/METADATA /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/RECORD /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/REQUESTED /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/WHEEL /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/entry_points.txt /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/licenses /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/licenses/LICENSE /usr/lib/python3.13/site-packages/fpdf2-2.9.0.dist-info/top_level.txt /usr/share/doc/packages/python313-fpdf2 /usr/share/doc/packages/python313-fpdf2/CHANGELOG.md /usr/share/doc/packages/python313-fpdf2/README.md /usr/share/licenses/python313-fpdf2 /usr/share/licenses/python313-fpdf2/LICENSE
Generated by rpm2html 1.8.1
Fabrice Bellet, Tue Nov 3 22:47:30 2026