Найти - Пользователи
Полная версия: Очень упрощенное редактирование PDF-файла
Начало » Python для новичков » Очень упрощенное редактирование PDF-файла
1
Temp
Доброго времени суток!

Задача следующая:

Имеется PDF-файл (1 страница А4)

Мне необходимо Вставить в нее PNG-картинку (не встроить в текст, а скажем налепить поверх как наклейку или водяной знак)

Вопрос: какую библиотеку посоветуете для этих целей?

Библиотеки, на которые я натыкался рассчитаны на запись и чтение текстовой информации.
Temp
Ладно, вопрос можно закрывать

Если кому интересно, решил следующим образом:

1. Создал новый PDF и воткнул в нее необходимую картинку с помощью модуля fpdf.

2. Совместил исходный PDF с новым(тот который только что создали) с помощью модуля PyPDF2.

В принципе этого результата для меня достаточно. Спасибо за внимание.
VadimK
Temp
2. Совместил исходный PDF с новым(тот который только что создали) с помощью модуля PyPDF2.
Т.е. просто на одну pdf страницу сверху наложили вторую ? То что склеить несколько пдф я знаю, а вот про наложение даже и не представлял.
PDF - это фактически файл разметки, т.е. каким образом он умудряется одну разметку на другую наложить ? Может поделитесь самим куском кода и (или) результатом такой трансформации .
Temp
VadimK
 from fpdf import FPDF
import PyPDF2
first_pdf = "путь к первому pdf"
image = "путь к картинке"
#Создаем еще один pdf с картинкой
pdf = FPDF(unit='pt')
pdf.add_page()
pdf.image(image)#пользуемся аргументами x,y,w и h
pdf.output("order.pdf")#сохраняем его
#начинаем объединение
with open(first_pdf, "rb") as filehandle_input:
    pdf = PyPDF2.PdfReader(filehandle_input)
    with open("order.pdf", "rb") as filehandle_watermark:
        watermark = PyPDF2.PdfReader(filehandle_watermark)
        first_page = pdf.pages[0]
        first_page_watermark = watermark.pages[0]
        first_page.merge_page(first_page_watermark)#эта функция объединяет
        pdf_writer = PyPDF2.PdfWriter()
        pdf_writer.add_page(first_page)
        with open(output_file, "wb") as filehandle_output:#сохраняем полученный результат
            pdf_writer.write(filehandle_output)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB