@domanskiy

Как разместить PDF файлы на одном большом листе по координатам?

Не могу найти библиотеку для Python, которая бы позволяла разместить по координатам PDF файлы на одной странице.
Пересмотрел PyFPDF, pypdf2, FPDF
Как мне нужно, на листе можно разместить только JPG, PNG и GIF
  • Вопрос задан
  • 170 просмотров
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
Как то так(код писался по документации и может не работать):
from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2.pdf import PageObject


reader = PdfFileReader(open("in.pdf",'rb'))
min_page = reader.getPage(0)
#Большая страница вместит 4 старницы (2x2)
big_page = PageObject.createBlankPage(None, min_page.mediaBox.getWidth()*2, min_page.mediaBox.getHeight()*2)
#mergeScaledTranslatedPage(page2, scale, tx, ty, expand=False)
#https://pythonhosted.org/PyPDF2/PageObject.html
big_page.mergeScaledTranslatedPage(reader.getPage(0), 1, 0, 0)
big_page.mergeScaledTranslatedPage(reader.getPage(1), 1, min_page.mediaBox.getWidth(), 0)
big_page.mergeScaledTranslatedPage(reader.getPage(2), 1, 0, min_page.mediaBox.getHeight())
big_page.mergeScaledTranslatedPage(reader.getPage(3), 1, min_page.mediaBox.getWidth(), min_page.mediaBox.getHeight())

writer = PdfFileWriter()
writer.addPage(big_page)

with open('out.pdf', 'wb') as f:
	writer.write(f)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы