You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary: PyMuPDF is a Python binding for the PDF rendering library MuPDF
11
11
Description:
12
-
Release date: March 10, 2020
12
+
Release date: March 15, 2020
13
13
14
14
Authors
15
15
=======
@@ -20,7 +20,7 @@ Description:
20
20
Introduction
21
21
============
22
22
23
-
This is **version 1.16.12 of PyMuPDF**, a Python binding for `MuPDF <http://mupdf.com/>`_ - "a lightweight PDF and XPS viewer".
23
+
This is **version 1.16.13 of PyMuPDF**, a Python binding for `MuPDF <http://mupdf.com/>`_ - "a lightweight PDF and XPS viewer".
24
24
25
25
MuPDF can access files in PDF, XPS, OpenXPS, epub, comic and fiction book formats, and it is known for both, its top performance and high rendering quality.
@@ -14,7 +14,7 @@ On **[PyPI](https://pypi.org/project/PyMuPDF)** since August 2016: [**, a Python binding with support for [MuPDF 1.16.*](http://mupdf.com/) - "a lightweight PDF, XPS, and E-book viewer".
17
+
This is **version 1.16.13 of PyMuPDF (formerly python-fitz)**, a Python binding with support for [MuPDF 1.16.*](http://mupdf.com/) - "a lightweight PDF, XPS, and E-book viewer".
18
18
19
19
MuPDF can access files in PDF, XPS, OpenXPS, CBZ, EPUB and FB2 (e-books) formats, and it is known for its top performance and high rendering quality.
Copy file name to clipboardExpand all lines: docs/app4.rst
+3-1
Original file line number
Diff line number
Diff line change
@@ -49,11 +49,13 @@ To see how these fonts can be used -- including the **CJK built-in** fonts -- lo
49
49
50
50
.. _AdobeManual:
51
51
52
-
Adobe PDF Reference 1.7
52
+
Adobe PDF References
53
53
---------------------------
54
54
55
55
This PDF Reference manual published by Adobe is frequently quoted throughout this documentation. It can be viewed and downloaded from `here <http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/pdf_reference_1-7.pdf>`_.
56
56
57
+
There is a newer version of this, which be found `here <https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf>`_. Redaction annotation are an example, which is contained in this one, but not in the earlier version.
:returns: a list of (non-image) XObjects. These objects typically represent pages *embedded* (not copied) from other PDFs. For example, meth:`Page.showPDFpage` will create this type of object. An item of this list has the following layout: **(xref, name, invoker, bbox)**, where
272
+
273
+
* **xref** (*int*) is the XObject's :data:`xref`
274
+
* **name** (*str*) is the symbolic name to reference the XObject
275
+
* **invoker** (*int*) the :data:`xref` of the invoking XObject or zero if the page directly invokes it
276
+
* **bbox** (*tuple*) the boundary box of the XObject's location on the page **in untransformed coordinates**. To get actual, non-rotated page coordinates, multiply with the page's transformation matrix :meth:`Page.getTransformation`.
277
+
278
+
263
279
.. method:: getPageImageList(pno, full=False)
264
280
265
281
PDF only: Return a list of all image descriptions referenced by a page.
266
282
267
-
:arg int pno: page number, 0-based in -inf < pno < pageCount.
268
-
:arg bool full: whether to also include the :data:`xref` of the *Form /XObject* where the item is referenced. This is zero if the item is part of page's /Resources.
.. note:: This list has no duplicate entries: the combination of :data:`xref` and *name* is unique. But by themselves, each of the two may occur multiple times. The same image may well be referenced under different names within a page. Duplicate *name* entries on the other hand indicate the presence of "Form XObjects" on the page, e.g. generated by :meth:`Page.showPDFpage`.
298
-
299
313
.. method:: getPageFontList(pno, full=False)
300
314
301
315
PDF only: Return a list of all fonts referenced by the page.
:arg bool full: whether to also include the :data:`xref` of the *Form /XObject* where the item is referenced. This is zero if the item is part of page's /Resources.
318
+
:arg bool full: whether to also include the invoker's :data:`xref` (which is zero if directly referenced by the page).
305
319
306
320
:rtype: list
307
321
308
322
:returns: a list of fonts referenced by this page. Each entry looks like
Copy file name to clipboardExpand all lines: docs/glossary.rst
+15-2
Original file line number
Diff line number
Diff line change
@@ -22,6 +22,19 @@ Glossary
22
22
23
23
A Python sequence of 4 :data:`point_like` items.
24
24
25
+
.. data:: inheritable
26
+
27
+
A number of values in a PDF can be specified once and then be inherited by objects further down in a parent-child relationship. The mediabox (physical size) of pages can for example be specified in nodes of the :data:`pagetree` and will then be taken as value for all *kids*, which do not specify their own value.
28
+
29
+
.. data:: MediaBox
30
+
31
+
A PDF array of 4 floats specifying a physical page size (:data:`inheritable`).
32
+
33
+
.. data:: CropBox
34
+
35
+
A PDF array of 4 floats specifying a page's visible area (:data:`inheritable`). This value is **not affected** if the page is rotated.
36
+
37
+
25
38
.. data:: catalog
26
39
27
40
A central PDF :data:`dictionary` -- also called "root" -- containing pointers to many other information.
@@ -57,9 +70,9 @@ Glossary
57
70
/Annots[55 0 R] % value: array, one entry (indirect object)
58
71
>>
59
72
60
-
*/Contents*, */Type*, */MediaBox*, etc. are **keys**, *40 0 R*, */Page*, *[0 0 595.32 841.92]*, etc. are the respective **values**. The strings *<<* and *>>* are used to enclose object definitions.
73
+
*Contents*, *Type*, *MediaBox*, etc. are **keys**, *40 0 R*, *Page*, *[0 0 595.32 841.92]*, etc. are the respective **values**. The strings *"<<"* and *">>"* are used to enclose object definitions.
61
74
62
-
This example also shows the syntax of **nested** dictionary values: */Resources* has an object as its value, which in turn is a dictionary with keys like */ExtGState* (with the value *<</R7 26 0 R>>*, which is another dictionary), etc.
75
+
This example also shows the syntax of **nested** dictionary values: *Resources* has an object as its value, which in turn is a dictionary with keys like *ExtGState* (with the value *<</R7 26 0 R>>*, which is another dictionary), etc.
0 commit comments