|
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