Мне нужно нарисовать логотип в существующие pdf-файлы в верхнем левом углу. В настоящее время я жестко закодировал позицию y в постскриптуме. Мне нужно изменить позицию y в соответствии с текущим размером страницы используемого pdf-файла. Как и логотип, мне также нужно рисовать прямоугольник. там также я жестко закодировал параметры.Постскриптум: рисовать логотип в верхнем левом углу в любом размере страницы
My Script ---
<<
/PageSize [595 842]
/EndPage {
exch pop 2 lt {
gsave
20 720 translate
40 40 scale
77
81
8
[77 0 0 -81 0 81]
(Logo.jpg) (r) file /DCTDecode filter
false
3
colorimage
grestore
gsave
newpath 10 10 60 820 rectstroke
/_WM_str (Office of XXXX,XXXX) def
/Helvetica [40 0 0 40 0 0] selectfont
/DeviceRGB setcolorspace
0.96 0.96 0.96 setcolor
currentpagedevice/PageSize get aload pop
2 div exch 12 div exch translate 90 rotate
newpath
_WM_str stringwidth pop 2 div neg 0 moveto
_WM_str show
grestore
true
} { false } ifelse
}bind
>>setpagedevice
Используя следующую команду, я создал файл вывода.
гс -q -sDEVICE = pdfwrite -dBATCH -dNOSAFER -dNOPAUSE -sOutputFile = output.pdf -dPDFFitPage -dAutoRotatePages =/None -f test.ps 1001.pdf
Я не нужно знать, как размещать логотип в верхнем левом углу и рисовать прямоугольник снизу вверх вокруг логотипа, как тиснение?
Пример:
Спасибо за ваш ответ sir. Я пробовал, как вы сказали, но у меня есть исключение, когда вы запускаете скрипт через gs. Не могли бы вы написать небольшой пример, как написать некоторый контент из левого верхнего угла на разных страницах? –
Это не работает, потому что я написал штамп на наборе существующих PDF разных размеров. Из-за того, что это тиснение сделано в существующем файле разного размера, я не могу писать в общий размер. Мне нужно записать в формат A4, а затем существующий файл должен быть визуализирован поверх существующего файла, так как могут быть отсканированы и несколько файлов. –
В примере кода используется текущий размер носителя, что бы это ни было, поэтому я не понимаю, в чем проблема. В любом случае, вам решать, какую работу вы хотите получить, не в последнюю очередь потому, что в какой-то момент вы точно не указали свою цель. – KenS