наложение одного файла PDF или PS поверх другого - PullRequest
49 голосов
/ 02 февраля 2009

У меня есть два файла pdf или postscript (я могу работать с любым из них). То, что я хочу сделать, это объединить каждую страницу поверх другой, чтобы страница 1 документа A была объединена со страницей 1 документа B для получения страницы 1 выходного документа. Это не то, что я обязательно хочу делать программно, хотя это было бы полезно.

Есть идеи?

Ответы [ 9 ]

74 голосов
/ 04 февраля 2009

Это можно сделать с помощью файлов pdf, используя инструмент командной строки pdftk , используя параметр stamp или background.

, например

$ pdftk file1.pdf background file2.pdf output combinedfile.pdf

Это будет работать только с одностраничным фоновым файлом. Если у вас несколько страниц, вы можете использовать команду multibackground.

18 голосов
/ 03 февраля 2009

Мне удалось решить эту проблему (только PDF и Python) с помощью pyPdf , в частности, операции mergePage .

Из документов:

# add page 4 from input1, but first add a watermark from another pdf:
page4 = input1.getPage(3)
watermark = PdfFileReader(file("watermark.pdf", "rb"))
page4.mergePage(watermark.getPage(0))

Должно быть достаточно, чтобы понять идею.

2 голосов
/ 10 февраля 2009

Если вы имеете дело только с postscript, скорее всего, единственными «разрывами страниц» является оператор «showpage».
В этом случае вы можете просто перехватить данные postscript от начала первого файла до первого экземпляра showpage, сделать то же самое с другим файлом, а затем объединить эти 2 фрагмента postscript, чтобы создать новую страницу.

Если 2 файла представляют собой только одну страницу, вы можете просто объединить 2 файла.

1 голос
/ 27 октября 2015

PDFbox для Java поддерживает класс Overlay, который позволяет объединять PDF-файлы таким образом. Смотрите этот ответ: Водяной знак с PDFBox

Однако, как по моему опыту, и PyPDF2, и PDFbox были ненадежными, но, возможно, это кому-нибудь пригодится.

1 голос
/ 18 июня 2011

Aspose.Pdf.Kit с PdfFileStamp классом тоже может это сделать. Он работает большую часть времени правильно.

1 голос
/ 03 февраля 2009

Вы можете конвертировать оба PDF-файла в изображения и накладывать один поверх другого слоя, как.

Подходящая графическая библиотека, которую вы можете использовать, будет работать.

Предложение водяных знаков, приведенное выше, также имеет большой потенциал, если вы не столкнетесь с проблемами в выборе языка или библиотеки графики / pdf.

0 голосов
/ 11 ноября 2015

Для OS X есть бланк PDF. Не делает ничего другого, кроме как наложение PDF. https://itunes.apple.com/us/app/pdf-letterhead/id976548033?mt=12

0 голосов
/ 23 мая 2014

VeryPDF PDF Editor имеет функцию наложения PDF, посмотрите эту веб-страницу,

http://www.verypdf.com/wordpress/201304/how-to-overlay-pdf-to-another-pdf-35885.html

0 голосов
/ 08 февраля 2012

Я использовал инструмент Mac OS PDFClerk Pro . Я импортировал страницы PDF, затем объединил их с опцией «Объединить страницы (в стопку)». Это действительно впечатлило меня.

...