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