PyMuPDF | вставленное изображение находится не в том месте страницы pdf
Мне нужно вставить изображение на несколько страниц PDF- файла, и я использую insertImage. Следуя приведенному мной примеруfitz.Rect(0, 0, 50, 50)
так как я хочу разместить изображение в верхнем левом углу страницы. Отлично работает для всех PDF-файлов, кроме одного - отсканированного документа, изображение которого появляется где-то в центре страницы, и изображение также повернуто на 90. Что может вызвать разницу в результате для этого конкретного PDF-файла и как я могу это решить?
2 ответа
Согласно документации PyMuPDF здесь, из-за несоответствий в том, как был создан PDF-файл, возможно, источник этого конкретного документа не является стандартным глобальным источником в верхнем левом углу.
Следующий фрагмент сбрасывает геометрию страницы:
if not(page._isWrapped):
page._wrapContents()
Если этот обходной путь не работает наилучшим образом, на сайте перечислены другие возможные решения.
Я тестирую Python 3.7.3; PyMuPDF 1.20.2
нет необходимости проверять page._isWrapped (на самом деле это покажет:
AttributeError: объект «Страница» не имеет атрибута «_isWrapped»
)
достаточно только следующих строк:
import fitz
def test_func():
doc = fitz.open('test.pdf')
for page in doc:
page.wrap_contents()
# do some other stuff
doc.save('test-new.pdf')