|
1 | 1 | """
|
2 | 2 | Tests:
|
3 | 3 | * Convert some image to a PDF
|
4 |
| - * Insert it in given rectangle of a PDF page |
| 4 | + * Insert it rotated in some rectangle of a PDF page |
5 | 5 | * Assert PDF Form XObject has been created
|
6 |
| - * Assert inserted PDF is inside given retangle |
| 6 | + * Assert that image contained in inserted PDF is inside given retangle |
7 | 7 | """
|
8 | 8 | import os
|
9 | 9 |
|
|
16 | 16 | def test_insert():
|
17 | 17 | doc = fitz.open()
|
18 | 18 | page = doc.new_page()
|
19 |
| - r1 = fitz.Rect(50, 50, 100, 100) # insert in here |
| 19 | + rect = fitz.Rect(50, 50, 100, 100) # insert in here |
20 | 20 | img = fitz.open(imgfile) # open image
|
21 | 21 | tobytes = img.convert_to_pdf() # get its PDF version (bytes object)
|
22 | 22 | src = fitz.open("pdf", tobytes) # open as PDF
|
23 |
| - page.show_pdf_page(r1, src, 0) # insert in rectangle |
24 |
| - img = page.get_images(True)[0] # make full image list of the page |
25 |
| - assert img[-1] > 0 # xref of Form XObject! |
| 23 | + xref = page.show_pdf_page(rect, src, 0, rotate=-23) # insert in rectangle |
| 24 | + # extract just inserted image info |
| 25 | + img = page.get_images(True)[0] |
| 26 | + assert img[-1] == xref # xref of Form XObject! |
26 | 27 | img = page.get_image_info()[0] # read the page's images
|
27 | 28 |
|
28 |
| - # Multiple computations may lead to rounding issues, so we need |
29 |
| - # some generosity here: |
30 |
| - bbox = list(map(round, img["bbox"])) |
31 |
| - assert bbox in r1 |
| 29 | + # Multiple computations may have lead to rounding deviations, so we need |
| 30 | + # some generosity here: enlarge rect by 1 point in each direction. |
| 31 | + assert img["bbox"] in rect + (-1, -1, 1, 1) |
0 commit comments