PyMuPDF 1.23.13__tar.gz → 1.23.14__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.
Files changed (153) hide show
  1. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/PKG-INFO +1 -1
  2. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/changes.txt +12 -0
  3. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/setup.py +1 -1
  4. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src/__init__.py +10 -11
  5. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/fitz_old.i +2 -2
  6. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/version.i +1 -1
  7. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_general.py +7 -0
  8. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/COPYING +0 -0
  9. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/MANIFEST.in +0 -0
  10. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/README.md +0 -0
  11. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/READMErb.md +0 -0
  12. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/mupdf.tgz +0 -0
  13. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/pipcl.py +0 -0
  14. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/pyproject.toml +0 -0
  15. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/pytest.ini +0 -0
  16. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/scripts/gh_release.py +0 -0
  17. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/scripts/sysinstall.py +0 -0
  18. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/scripts/test.py +0 -0
  19. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src/__main__.py +0 -0
  20. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src/extra.i +0 -0
  21. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src/fitz.py +0 -0
  22. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src/table.py +0 -0
  23. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src/utils.py +0 -0
  24. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/__init__.py +0 -0
  25. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/__main__.py +0 -0
  26. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/_config.h +0 -0
  27. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-annot.i +0 -0
  28. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-convert.i +0 -0
  29. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-defines.i +0 -0
  30. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-devices.i +0 -0
  31. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-fields.i +0 -0
  32. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-fileobj.i +0 -0
  33. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-geo-c.i +0 -0
  34. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-geo-py.i +0 -0
  35. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-globals.i +0 -0
  36. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-other.i +0 -0
  37. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-pdfinfo.i +0 -0
  38. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-pixmap.i +0 -0
  39. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-portfolio.i +0 -0
  40. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-python.i +0 -0
  41. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-select.i +0 -0
  42. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-stext.i +0 -0
  43. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/helper-xobject.i +0 -0
  44. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/src_classic/utils.py +0 -0
  45. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/README.md +0 -0
  46. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/001003ED.pdf +0 -0
  47. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/1.pdf +0 -0
  48. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/2.pdf +0 -0
  49. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/2201.00069.pdf +0 -0
  50. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/3.pdf +0 -0
  51. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/4.pdf +0 -0
  52. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/Bezier.epub +0 -0
  53. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/PragmaticaC.otf +0 -0
  54. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/bug1945.pdf +0 -0
  55. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/bug1971.pdf +0 -0
  56. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/chinese-tables.pdf +0 -0
  57. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/chinese-tables.pickle +0 -0
  58. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/circular-toc.pdf +0 -0
  59. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/cython.pdf +0 -0
  60. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/cython.pickle +0 -0
  61. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/full_toc.txt +0 -0
  62. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/full_toc2.txt +0 -0
  63. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/github_sample.pdf +0 -0
  64. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/has-bad-fonts.pdf +0 -0
  65. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/image-file1.pdf +0 -0
  66. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/img-transparent.png +0 -0
  67. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/joined.pdf +0 -0
  68. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/metadata.txt +0 -0
  69. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/mupdf_explored.pdf +0 -0
  70. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/nur-ruhig.jpg +0 -0
  71. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/quad-calc-0.pdf +0 -0
  72. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/simple_toc.txt +0 -0
  73. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/symbol-list.pdf +0 -0
  74. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/symbols.txt +0 -0
  75. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test-2333.pdf +0 -0
  76. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test-2462.pdf +0 -0
  77. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test2093.pdf +0 -0
  78. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test2182.pdf +0 -0
  79. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test2238.pdf +0 -0
  80. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_1645_expected.pdf +0 -0
  81. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_1645_expected_1.22.pdf +0 -0
  82. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_1824.pdf +0 -0
  83. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2108.pdf +0 -0
  84. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2270.pdf +0 -0
  85. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2533.pdf +0 -0
  86. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2548.pdf +0 -0
  87. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2553-2.pdf +0 -0
  88. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2553.pdf +0 -0
  89. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2596.pdf +0 -0
  90. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2608_expected +0 -0
  91. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2634.pdf +0 -0
  92. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2635.pdf +0 -0
  93. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2645_1.pdf +0 -0
  94. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2645_2.pdf +0 -0
  95. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2645_3.pdf +0 -0
  96. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2710.pdf +0 -0
  97. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2730.pdf +0 -0
  98. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2788.pdf +0 -0
  99. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2791_content.pdf +0 -0
  100. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2791_coverpage.pdf +0 -0
  101. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2861.pdf +0 -0
  102. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2871.pdf +0 -0
  103. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2904.pdf +0 -0
  104. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2907.pdf +0 -0
  105. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2954.pdf +0 -0
  106. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2957_1.pdf +0 -0
  107. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2957_2.pdf +0 -0
  108. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2969.pdf +0 -0
  109. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_2979.pdf +0 -0
  110. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/test_delete_image.pdf +0 -0
  111. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/type3font.pdf +0 -0
  112. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/v110-changes.pdf +0 -0
  113. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/resources/widgettest.pdf +0 -0
  114. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/run_compound.py +0 -0
  115. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_2548.py +0 -0
  116. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_2634.py +0 -0
  117. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_2791.py +0 -0
  118. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_2904.py +0 -0
  119. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_2907.py +0 -0
  120. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_annots.py +0 -0
  121. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_badfonts.py +0 -0
  122. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_crypting.py +0 -0
  123. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_docs_samples.py +0 -0
  124. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_drawings.py +0 -0
  125. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_embeddedfiles.py +0 -0
  126. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_extractimage.py +0 -0
  127. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_flake8.py +0 -0
  128. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_font.py +0 -0
  129. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_geometry.py +0 -0
  130. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_imagebbox.py +0 -0
  131. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_insertimage.py +0 -0
  132. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_insertpdf.py +0 -0
  133. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_linequad.py +0 -0
  134. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_metadata.py +0 -0
  135. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_named_links.py +0 -0
  136. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_nonpdf.py +0 -0
  137. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_object_manipulation.py +0 -0
  138. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_optional_content.py +0 -0
  139. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_pagedelete.py +0 -0
  140. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_pagelabels.py +0 -0
  141. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_pixmap.py +0 -0
  142. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_showpdfpage.py +0 -0
  143. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_story.py +0 -0
  144. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_tables.py +0 -0
  145. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_tesseract.py +0 -0
  146. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_textbox.py +0 -0
  147. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_textextract.py +0 -0
  148. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_textsearch.py +0 -0
  149. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_toc.py +0 -0
  150. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_widgets.py +0 -0
  151. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/tests/test_word_delimiters.py +0 -0
  152. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/valgrind.supp +0 -0
  153. {PyMuPDF-1.23.13 → PyMuPDF-1.23.14}/wdev.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PyMuPDF
3
- Version: 1.23.13
3
+ Version: 1.23.14
4
4
  Summary: A high performance Python library for data extraction, analysis, conversion & manipulation of PDF (and other) documents.
5
5
  Description-Content-Type: text/markdown
6
6
  Author: Artifex
@@ -2,6 +2,18 @@ Change Log
2
2
  ==========
3
3
 
4
4
 
5
+ **Changes in version 1.23.14 (2024-01-15)**
6
+
7
+ * Bug fixes:
8
+
9
+ * **Fixed** `3038 <https://github.com/pymupdf/PyMuPDF/issues/3038>`_: JM_pixmap_from_display_list > Assertion Error : Checking for wrong type
10
+ * **Fixed** `3039 <https://github.com/pymupdf/PyMuPDF/issues/3039>`_: Issue with doc.close() not closing the document in PyMuPDF
11
+
12
+ * Other:
13
+
14
+ * Ensure valid "re" rectangles in `Page.get_drawings()` with derotated pages.
15
+
16
+
5
17
  **Changes in version 1.23.13 (2024-01-15)**
6
18
 
7
19
  * Bug fixes:
@@ -1072,7 +1072,7 @@ with open( f'{g_root}/READMErb.md', encoding='utf-8') as f:
1072
1072
  # We generate different wheels depending on g_flavour.
1073
1073
  #
1074
1074
 
1075
- version = '1.23.13'
1075
+ version = '1.23.14'
1076
1076
  version_b = '1.23.9'
1077
1077
 
1078
1078
  tag_python = None
@@ -2460,7 +2460,9 @@ class DisplayList:
2460
2460
  assert 0, f'Unrecognised {args=}'
2461
2461
 
2462
2462
  def get_pixmap(self, matrix=None, colorspace=None, alpha=0, clip=None):
2463
- if not colorspace:
2463
+ if isinstance(colorspace, Colorspace):
2464
+ colorspace = colorspace.this
2465
+ else:
2464
2466
  colorspace = mupdf.FzColorspace(mupdf.FzColorspace.Fixed_RGB)
2465
2467
  val = JM_pixmap_from_display_list(self.this, matrix, colorspace, alpha, clip, None)
2466
2468
  val.thisown = True
@@ -3558,16 +3560,12 @@ class Document:
3558
3560
  #self._reset_page_refs()
3559
3561
  #self.metadata = None
3560
3562
  #self.stream = None
3561
- #self.is_closed = True
3563
+ self.is_closed = True
3562
3564
  #self.FontInfos = []
3563
3565
  #self.Graftmaps = {}
3564
3566
  #self.ShownPages = {}
3565
3567
  #self.InsertedImages = {}
3566
-
3567
3568
  #self.this = None
3568
- self.close_internal()
3569
-
3570
- def close_internal(self):
3571
3569
  self.this = None
3572
3570
 
3573
3571
  def convert_to_pdf(self, from_page=0, to_page=-1, rotate=0):
@@ -8673,7 +8671,7 @@ class Page:
8673
8671
  cmd = item[0]
8674
8672
  rest = item[1:]
8675
8673
  if cmd == "re":
8676
- item = ("re", Rect(rest[0]), rest[1])
8674
+ item = ("re", Rect(rest[0]).normalize(), rest[1])
8677
8675
  elif cmd == "qu":
8678
8676
  item = ("qu", Quad(rest[0]))
8679
8677
  else:
@@ -8807,7 +8805,7 @@ class Page:
8807
8805
  cmd = item[0]
8808
8806
  rest = item[1:]
8809
8807
  if cmd == "re":
8810
- item = ("re", Rect(rest[0]), rest[1])
8808
+ item = ("re", Rect(rest[0]).normalize(), rest[1])
8811
8809
  elif cmd == "qu":
8812
8810
  item = ("qu", Quad(rest[0]))
8813
8811
  else:
@@ -16792,8 +16790,9 @@ def JM_pixmap_from_display_list(
16792
16790
  rect = mupdf.fz_transform_rect(rect, matrix)
16793
16791
  irect = mupdf.fz_round_rect(rect)
16794
16792
 
16795
- assert isinstance( cs, Colorspace)
16796
- pix = mupdf.fz_new_pixmap_with_bbox(cs.this, irect, seps, alpha)
16793
+ assert isinstance( cs, mupdf.FzColorspace)
16794
+
16795
+ pix = mupdf.fz_new_pixmap_with_bbox(cs, irect, seps, alpha)
16797
16796
  if alpha:
16798
16797
  mupdf.fz_clear_pixmap(pix)
16799
16798
  else:
@@ -21740,7 +21739,7 @@ def int_rc(text):
21740
21739
  return int(text)
21741
21740
 
21742
21741
  VersionFitz = "1.23.9" # MuPDF version.
21743
- VersionBind = "1.23.13" # PyMuPDF version.
21742
+ VersionBind = "1.23.14" # PyMuPDF version.
21744
21743
  VersionDate = "2024-01-15 00:00:01"
21745
21744
  VersionDate2 = VersionDate.replace('-', '').replace(' ', '').replace(':', '')
21746
21745
  version = (VersionBind, VersionFitz, VersionDate2)
@@ -6344,7 +6344,7 @@ def get_oc_items(self) -> list:
6344
6344
  cmd = item[0]
6345
6345
  rest = item[1:]
6346
6346
  if cmd == "re":
6347
- item = ("re", Rect(rest[0]), rest[1])
6347
+ item = ("re", Rect(rest[0]).normalize(), rest[1])
6348
6348
  elif cmd == "qu":
6349
6349
  item = ("qu", Quad(rest[0]))
6350
6350
  else:
@@ -6479,7 +6479,7 @@ def get_oc_items(self) -> list:
6479
6479
  cmd = item[0]
6480
6480
  rest = item[1:]
6481
6481
  if cmd == "re":
6482
- item = ("re", Rect(rest[0]), rest[1])
6482
+ item = ("re", Rect(rest[0]).normalize(), rest[1])
6483
6483
  elif cmd == "qu":
6484
6484
  item = ("qu", Quad(rest[0]))
6485
6485
  else:
@@ -1,6 +1,6 @@
1
1
  %pythoncode %{
2
2
  VersionFitz = "1.23.9" # MuPDF version.
3
- VersionBind = "1.23.13" # PyMuPDF version.
3
+ VersionBind = "1.23.14" # PyMuPDF version.
4
4
  VersionDate = "2024-01-15 00:00:01"
5
5
  version = (VersionBind, VersionFitz, "20240115000001")
6
6
  pymupdf_version_tuple = tuple( [int(i) for i in VersionFitz.split('.')])
@@ -153,6 +153,7 @@ def test_bug1971():
153
153
  page = next(doc.pages())
154
154
  page.get_drawings()
155
155
  doc.close()
156
+ assert doc.is_closed
156
157
 
157
158
  def test_default_font():
158
159
  f = fitz.Font()
@@ -539,6 +540,12 @@ def test_2692():
539
540
  alpha=False,
540
541
  clip=fitz.Rect(0,0,10,10),
541
542
  )
543
+ pix = dl.get_pixmap(
544
+ matrix=fitz.Identity,
545
+ #colorspace=fitz.csRGB,
546
+ alpha=False,
547
+ clip=fitz.Rect(0,0,10,10),
548
+ )
542
549
 
543
550
 
544
551
  def test_2596():
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes