PyMuPDF 1.23.6__tar.gz → 1.23.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/PKG-INFO +1 -1
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/READMErb.md +1 -1
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/changes.txt +69 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/_config.h +2 -2
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/fitz.i +9 -5
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-fields.i +16 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/table.py +163 -236
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/utils.py +1 -3
- PyMuPDF-1.23.8/fitz/version.i +7 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/mupdf.tgz +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/pyproject.toml +1 -1
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/scripts/gh_release.py +83 -54
- PyMuPDF-1.23.8/scripts/test.py +143 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/setup.py +4 -4
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/src/__init__.py +2033 -1709
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/src/__main__.py +10 -4
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/src/extra.i +6 -4
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/src/utils.py +289 -190
- PyMuPDF-1.23.8/tests/README.md +73 -0
- PyMuPDF-1.23.8/tests/resources/test_2553-2.pdf +0 -0
- PyMuPDF-1.23.8/tests/resources/test_2634.pdf +0 -0
- PyMuPDF-1.23.8/tests/resources/test_2788.pdf +177 -0
- PyMuPDF-1.23.8/tests/resources/test_2791_content.pdf +0 -0
- PyMuPDF-1.23.8/tests/resources/test_2791_coverpage.pdf +413 -0
- PyMuPDF-1.23.8/tests/resources/test_2861.pdf +0 -0
- PyMuPDF-1.23.8/tests/resources/test_2871.pdf +21059 -67
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_2548.py +16 -6
- PyMuPDF-1.23.8/tests/test_2634.py +65 -0
- PyMuPDF-1.23.8/tests/test_2791.py +83 -0
- PyMuPDF-1.23.8/tests/test_2886.py +31 -0
- PyMuPDF-1.23.8/tests/test_flake8.py +58 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_font.py +19 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_general.py +64 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_geometry.py +7 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_insertpdf.py +24 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_pixmap.py +8 -5
- PyMuPDF-1.23.8/tests/test_story.py +231 -0
- PyMuPDF-1.23.8/tests/test_tables.py +146 -0
- PyMuPDF-1.23.8/tests/test_tesseract.py +55 -0
- PyMuPDF-1.23.8/tests/test_textbox.py +238 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_toc.py +26 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/wdev.py +1 -1
- PyMuPDF-1.23.6/fitz/version.i +0 -6
- PyMuPDF-1.23.6/setup-old.py +0 -907
- PyMuPDF-1.23.6/tests/README.md +0 -91
- PyMuPDF-1.23.6/tests/test_story.py +0 -32
- PyMuPDF-1.23.6/tests/test_tables.py +0 -32
- PyMuPDF-1.23.6/tests/test_tesseract.py +0 -34
- PyMuPDF-1.23.6/tests/test_textbox.py +0 -146
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/COPYING +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/MANIFEST.in +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/README.md +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/__init__.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/__main__.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-annot.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-convert.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-defines.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-devices.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-fileobj.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-geo-c.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-geo-py.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-globals.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-other.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-pdfinfo.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-pixmap.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-portfolio.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-python.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-select.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-stext.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/fitz/helper-xobject.i +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/pipcl.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/pytest.ini +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/src/fitz.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/001003ED.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/1.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/2.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/2201.00069.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/3.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/4.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/Bezier.epub +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/PragmaticaC.otf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/bug1945.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/bug1971.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/chinese-tables.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/chinese-tables.pickle +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/circular-toc.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/cython.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/cython.pickle +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/full_toc.txt +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/full_toc2.txt +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/github_sample.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/has-bad-fonts.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/image-file1.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/img-transparent.png +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/joined.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/metadata.txt +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/nur-ruhig.jpg +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/quad-calc-0.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/simple_toc.txt +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/symbol-list.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/symbols.txt +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test-2333.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test-2462.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test2093.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test2182.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test2238.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_1645_expected.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_1645_expected_1.22.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_1824.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2108.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2270.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2533.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2548.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2553.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2596.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2608_expected +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2635.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2645_1.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2645_2.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2645_3.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2710.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/test_2730.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/type3font.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/v110-changes.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/resources/widgettest.pdf +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/run_compound.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_annots.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_badfonts.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_crypting.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_docs_samples.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_drawings.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_embeddedfiles.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_extractimage.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_imagebbox.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_insertimage.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_linequad.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_metadata.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_nonpdf.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_object_manipulation.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_optional_content.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_pagedelete.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_pagelabels.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_showpdfpage.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_textextract.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_textsearch.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_widgets.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/tests/test_word_delimiters.py +0 -0
- {PyMuPDF-1.23.6 → PyMuPDF-1.23.8}/valgrind.supp +0 -0
|
@@ -2,6 +2,75 @@ Change Log
|
|
|
2
2
|
==========
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
**Changes in version 1.23.8 (2023-12-19)**
|
|
6
|
+
|
|
7
|
+
* Bug fixes (rebased implementation only):
|
|
8
|
+
|
|
9
|
+
* **Fixed** `2634 <https://github.com/pymupdf/PyMuPDF/issues/2634>`_: get_toc and set_toc do not behave consistently for rotated pages
|
|
10
|
+
* **Fixed** `2861 <https://github.com/pymupdf/PyMuPDF/issues/2861>`_: AttributeError in getLinkDict during PDF Merge
|
|
11
|
+
* **Fixed** `2871 <https://github.com/pymupdf/PyMuPDF/issues/2871>`_: KeyError in getLinkDict during PDF merge
|
|
12
|
+
* **Fixed** `2886 <https://github.com/pymupdf/PyMuPDF/issues/2886>`_: Error in Skeleton for Named Link Destinations
|
|
13
|
+
|
|
14
|
+
* Bug fixes (rebased and classic implementations):
|
|
15
|
+
|
|
16
|
+
* **Fixed** `2885 <https://github.com/pymupdf/PyMuPDF/issues/2885>`_: pymupdf find tables too slow
|
|
17
|
+
|
|
18
|
+
* Other:
|
|
19
|
+
|
|
20
|
+
* Rebased implementation:
|
|
21
|
+
|
|
22
|
+
* `Page.insert_htmlbox()`: new, much more powerful alternative to `Page.insert_textbox()` or `TextWriter.fill_textbox()`, using `Story`.
|
|
23
|
+
* `Story.fit*()`: new methods for fitting a Story into an expanded rect.
|
|
24
|
+
* `Story.write_with_links()`: add support for external links.
|
|
25
|
+
* `Document.language()`: fixed to use MuPDF's new `mupdf.fz_string_from_text_language2()`.
|
|
26
|
+
* `Document.subset_fonts()` - fixed.
|
|
27
|
+
* Fixed internal `Archive._add_treeitem()` method.
|
|
28
|
+
* Fixed `fitz_new.__doc__` to contain PyMuPDF and Python version information, and OS name.
|
|
29
|
+
* Removed use of `(*args, **kwargs)` in API, we now specify keyword args explicitly.
|
|
30
|
+
* Work with new MuPDF Python exception classes.
|
|
31
|
+
|
|
32
|
+
* Fixed bug where `button_states()` returns None when `/AP` points to an indirect object.
|
|
33
|
+
* Fixed pillow test to not ignore all errors, and install pillow when testing.
|
|
34
|
+
* Added test for `fitz.css_for_pymupdf_font()` (uses package `pymupdf-fonts`).
|
|
35
|
+
* Simplified Github Actions test specifications.
|
|
36
|
+
* Updated `tests/README.md`.
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
**Changes in version 1.23.7 (2023-11-30)**
|
|
40
|
+
|
|
41
|
+
* Bug fixes in rebased implementation, not fixed in classic implementation:
|
|
42
|
+
|
|
43
|
+
* **Fixed** `2232 <https://github.com/pymupdf/PyMuPDF/issues/2232>`_: Geometry helper classes should support keyword arguments
|
|
44
|
+
* **Fixed** `2788 <https://github.com/pymupdf/PyMuPDF/issues/2788>`_: Problem with get_toc in pymupdf 1.23.6
|
|
45
|
+
* **Fixed** `2791 <https://github.com/pymupdf/PyMuPDF/issues/2791>`_: Experiencing small memory leak in save()
|
|
46
|
+
|
|
47
|
+
* Bug fixes (rebased and classic implementations):
|
|
48
|
+
|
|
49
|
+
* **Fixed** `2736 <https://github.com/pymupdf/PyMuPDF/issues/2736>`_: Failure when set cropbox with mediabox negative value
|
|
50
|
+
* **Fixed** `2749 <https://github.com/pymupdf/PyMuPDF/issues/2749>`_: RuntimeError: cycle in structure tree
|
|
51
|
+
* **Fixed** `2753 <https://github.com/pymupdf/PyMuPDF/issues/2753>`_: Story.write_with_links will ignore everything after the first "page break" in the HTML.
|
|
52
|
+
* **Fixed** `2812 <https://github.com/pymupdf/PyMuPDF/issues/2812>`_: find_tables on landscape page generates reversed text
|
|
53
|
+
* **Fixed** `2829 <https://github.com/pymupdf/PyMuPDF/issues/2829>`_: [cannot create /Annot for kind] is still printed despite #2345 is closed.
|
|
54
|
+
* **Fixed** `2841 <https://github.com/pymupdf/PyMuPDF/issues/2841>`_: Unexpected KeyError when using scrub with fitz_new
|
|
55
|
+
|
|
56
|
+
* Use MuPDF-1.23.7.
|
|
57
|
+
|
|
58
|
+
* Other:
|
|
59
|
+
|
|
60
|
+
* Rebased implementation:
|
|
61
|
+
|
|
62
|
+
* Added flake8 code checking to test suite, and made various fixes.
|
|
63
|
+
* Disable diagnostics during Document constructor to match classic implementation.
|
|
64
|
+
|
|
65
|
+
* Additional fix to `2553 <https://github.com/pymupdf/PyMuPDF/issues/2553>`_: Invalid characters in versions >= 1.22
|
|
66
|
+
* Fixed `MuPDF Bug 707324 <https://bugs.ghostscript.com/show_bug.cgi?id=707324>`_: Story: HTML table row background color repeated incorrectly
|
|
67
|
+
* Added `scripts/test.py`, for simple build+test of PyMuPDF git checkout.
|
|
68
|
+
* Added `fitz.pymupdf_version_tuple`, e.g. `(1, 23, 6)`.
|
|
69
|
+
* Restored mistakenly-reverted fix for `2345 <https://github.com/pymupdf/PyMuPDF/issues/2345>`_: Turn off print statements in utils.py
|
|
70
|
+
* Include any trailing `... repeated <N> times...` text in warnings returned by `mupdf_warnings()` (rebased only).
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
5
74
|
**Changes in version 1.23.6 (2023-11-06)**
|
|
6
75
|
|
|
7
76
|
* Bug fixes:
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
//
|
|
18
18
|
// Alternative licensing terms are available from the licensor.
|
|
19
19
|
// For commercial licensing, see <https://www.artifex.com/> or contact
|
|
20
|
-
// Artifex Software, Inc.,
|
|
21
|
-
// CA
|
|
20
|
+
// Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco,
|
|
21
|
+
// CA 94129, USA, for further information.
|
|
22
22
|
|
|
23
23
|
#ifndef FZ_CONFIG_H
|
|
24
24
|
|
|
@@ -6929,20 +6929,24 @@ def get_oc_items(self) -> list:
|
|
|
6929
6929
|
doc = self.parent
|
|
6930
6930
|
if doc == None:
|
|
6931
6931
|
raise ValueError("orphaned object: parent is None")
|
|
6932
|
+
|
|
6932
6933
|
if not doc.is_pdf:
|
|
6933
6934
|
raise ValueError("is no PDF")
|
|
6935
|
+
|
|
6934
6936
|
valid_boxes = ("CropBox", "BleedBox", "TrimBox", "ArtBox")
|
|
6937
|
+
|
|
6935
6938
|
if boxtype not in valid_boxes:
|
|
6936
6939
|
raise ValueError("bad boxtype")
|
|
6940
|
+
|
|
6941
|
+
rect = Rect(rect)
|
|
6937
6942
|
mb = self.mediabox
|
|
6938
6943
|
rect = Rect(rect[0], mb.y1 - rect[3], rect[2], mb.y1 - rect[1])
|
|
6939
|
-
|
|
6940
|
-
|
|
6941
|
-
|
|
6942
|
-
if rect not in mb:
|
|
6943
|
-
raise ValueError("rect not in mediabox")
|
|
6944
|
+
if not (mb.x0 <= rect.x0 < rect.x1 <= mb.x1 and mb.y0 <= rect.y0 < rect.y1 <= mb.y1):
|
|
6945
|
+
raise ValueError(f"{boxtype} not in MediaBox")
|
|
6946
|
+
|
|
6944
6947
|
doc.xref_set_key(self.xref, boxtype, "[%g %g %g %g]" % tuple(rect))
|
|
6945
6948
|
|
|
6949
|
+
|
|
6946
6950
|
def set_cropbox(self, rect):
|
|
6947
6951
|
"""Set the CropBox. Will also change Page.rect."""
|
|
6948
6952
|
return self._set_pagebox("CropBox", rect)
|
|
@@ -1097,6 +1097,14 @@ class Widget(object):
|
|
|
1097
1097
|
for x in apnt:
|
|
1098
1098
|
nstates.append(x.split()[0])
|
|
1099
1099
|
states["normal"] = nstates
|
|
1100
|
+
if APN[0] == "xref":
|
|
1101
|
+
nstates = []
|
|
1102
|
+
nxref = int(APN[1].split(" ")[0])
|
|
1103
|
+
APN = doc.xref_object(nxref)
|
|
1104
|
+
apnt = APN.split("/")[1:]
|
|
1105
|
+
for x in apnt:
|
|
1106
|
+
nstates.append(x.split()[0])
|
|
1107
|
+
states["normal"] = nstates
|
|
1100
1108
|
APD = doc.xref_get_key(xref, "AP/D")
|
|
1101
1109
|
if APD[0] == "dict":
|
|
1102
1110
|
dstates = []
|
|
@@ -1105,6 +1113,14 @@ class Widget(object):
|
|
|
1105
1113
|
for x in apdt:
|
|
1106
1114
|
dstates.append(x.split()[0])
|
|
1107
1115
|
states["down"] = dstates
|
|
1116
|
+
if APD[0] == "xref":
|
|
1117
|
+
dstates = []
|
|
1118
|
+
dxref = int(APD[1].split(" ")[0])
|
|
1119
|
+
APD = doc.xref_object(dxref)
|
|
1120
|
+
apdt = APD.split("/")[1:]
|
|
1121
|
+
for x in apdt:
|
|
1122
|
+
dstates.append(x.split()[0])
|
|
1123
|
+
states["down"] = dstates
|
|
1108
1124
|
return states
|
|
1109
1125
|
|
|
1110
1126
|
def on_state(self):
|