добавьте файл .pdf (в основном .png) в конец каждой страницы в другом файле .pdf

У меня есть файл code.ps, преобразованный в code.pdf , который я хочу добавить в конец каждой страницы в моем test.pdf , то есть сжать каждую страницу test.pdf и добавить изображение в конец.

Я написал для него следующий сценарий оболочки, но он добавляет code.pdf в качестве новой страницы после каждой страницы test.pdf! ...Пожалуйста, помогите. Вот мой код: -

#!/bin/sh
filename=test.pdf
pages="`pdftk $filename dump_data | grep NumberOfPages | cut -d : -f2`"
numpages=`for ((a=1; a <= $pages; a++)); do echo -n "A$a B1 "; done`
pdftk A=$filename B=code.pdf cat $numpages output $filename-alternated.pdf
exit 0

person user3040487    schedule 27.11.2013    source источник
comment
Если я правильно вас понимаю, простой вызов pdfnup должен соответствовать вашим потребностям!   -  person Jakob    schedule 28.11.2013
comment
Да, я пробовал pdfnup, но, по сути, он только объединяет две страницы в одну, и, возможно, нет концепции настройки соотношений страниц в новой, например, мою проблему можно лучше сформулировать следующим образом: ЗА ИСКЛЮЧЕНИЕМ ДЛЯ CPDF. Есть ли какая-либо утилита для «ШТАМПОВКИ» файла .pdf/.pdf в конце каждой страницы ДРУГОГО ФАЙЛА .PDF?   -  person user3040487    schedule 28.11.2013
comment
pdftk имеет вариант stamp (или background), но он просто накладывает два pdf-файла. Я бы использовал pdfjam для предварительной обработки test.pdf (масштабирование и смещение) и pdftk для их составления. Для этого потребуется всего две строки кода (три, если code.pdf также должен быть предварительно обработан) и никаких циклов.   -  person Jakob    schedule 28.11.2013
comment
Если вы можете уточнить формат или PDF-файлы, я могу составить ответ.   -  person Jakob    schedule 28.11.2013
comment
Да! В ответе, который вы дали, я хочу, чтобы изображение содержалось в границах исходной страницы и в конце страницы. То, что я создал до сих пор, представляет собой изображение, отпечатанное в конце страницы, но перекрывается каким-то текстом там!   -  person user3040487    schedule 28.11.2013


Ответы (1)


Простым примером штамповки изображения (image.[pdf,png]) на многостраничном PDF-файле (text.pdf), позволяющем вручную настроить масштабирование и смещения с помощью pdfjam и pdftk, может быть:

# scale and offset the text part
pdfjam --scale 0.8 --frame True --offset '0cm 2.5cm' text.pdf
# scale and offset the image
pdfjam --paper 'a4paper' --scale 0.3 --offset '7cm -12cm' image.pdf
# combine both
pdftk text-pdfjam.pdf stamp image-pdfjam.pdf output combined.pdf

Это может выглядеть так: введите здесь описание изображения

Если вы начинаете с файла изображения (png, jpg), вы можете преобразовать его в pdf с помощью imagemagick, например

convert image.png image.pdf

Конечно, коэффициенты масштабирования и смещения должны быть скорректированы в соответствии с вашими потребностями. Я включил параметр --frame, чтобы выделить масштаб части text.pdf. Параметр stamp накладывается на изображение, тогда как параметр background будет лежать под ним.

person Jakob    schedule 28.11.2013
comment
Спасибо , Да, я недавно пробовал что-то подобное, Но большое спасибо, Джейкоб :) ... можем ли мы каким-либо образом удалить границы на исходной странице, чтобы она выглядела как настоящая новая страница формата А4? - person user3040487; 28.11.2013
comment
БОЛЬШОЕ СПАСИБО, Якоб!!!! Получил то, что хотел :) Хотел бы я иметь несколько точек репо, чтобы проголосовать за такой прекрасный ответ! Спасибо Еще раз брат! - person user3040487; 28.11.2013
comment
Чтобы избавиться от границы, просто удалите параметр --frame True в первом вызове pdfjam. - Вы можете принять ответ, чтобы завершить этот вопрос. - person Jakob; 28.11.2013
comment
@Jakob как использовать координаты для размещения изображения в определенном месте на странице - person Daniel; 30.06.2014
comment
@Daniel pdfjam использует страницы pdfpages LaTeX, поэтому документ — хорошее место для начала. Здесь команда offset используется для смещения изображения от центра страницы. Надеюсь, это поможет вам. - person Jakob; 30.06.2014