Наложить один файл pdf или ps поверх другого
У меня есть два файла pdf или postscript (я могу работать с одним из них). То, что я хочу сделать, - это объединить каждую страницу поверх другой, чтобы страница 1 документа A была объединена со страницей 1 документа B для создания страницы 1 выходного документа. Это не то, что я обязательно хочу делать программно, хотя это было бы полезно.
Любые идеи?
Ответы
Ответ 1
Вы можете сделать это с помощью pdf файлов с помощью инструмента командной строки pdftk с помощью параметра stamp
или background
.
например.
$ pdftk file1.pdf background file2.pdf output combinedfile.pdf
Это будет работать только с одностраничным фоновым файлом. Если у вас несколько страниц, вы можете вместо этого использовать команду multibackground
.
Ответ 2
Мне удалось решить эту проблему (только 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))
Должно быть достаточно, чтобы понять эту идею.
Ответ 3
Если вы имеете дело только с постскриптумом, скорее всего, единственными "pagebreaks" являются оператор showpage.
В этом случае вы можете просто захватить данные постскриптума от начала файла до первого экземпляра "showpage", сделать то же самое с другим файлом, а затем объединить эти 2 куска постскриптума, чтобы создать новую страницу.
Если 2 файла - это только одна страница, вы можете просто присоединиться к 2 файлам.
Ответ 4
Вы можете преобразовать оба PDF файла в изображения и наложить один поверх другого слоя.
Соответствующая графическая библиотека, которую вы могли бы использовать, будет работать.
Рекомендация Watermark выше имеет большой потенциал слишком долго, пока вы не сталкиваетесь с проблемами на вашем языке или графической/pdf-библиотеке по выбору.
Ответ 5
Aspose.Pdf.Kit с PdfFileStamp
class также может это сделать. Он работает большую часть времени правильно.
Ответ 6
PDFbox для Java поддерживает класс Overlay, который позволяет объединить PDF файлы таким образом. См. Этот ответ: Водяные знаки с PDFBox
Однако, как PyPDF2, так и PDFbox были ненадежны в моем опыте, но, возможно, это полезно для кого-то.
Ответ 7
Я использовал инструмент Mac OS PDFClerk Pro. Я импортировал страницы PDF, а затем объединил их с опцией "Слияние страниц (Stacked)". Это действительно впечатлило меня.
Ответ 8
PDF-редактор VeryPDF имеет функцию PDF Overlay, посмотрите эту веб-страницу,
http://www.verypdf.com/wordpress/201304/how-to-overlay-pdf-to-another-pdf-35885.html
Ответ 9
Для OS X имеется фирменный бланк PDF. Не делает ничего, кроме простого наложения PDF файлов. https://itunes.apple.com/us/app/pdf-letterhead/id976548033?mt=12