我需要将徽标绘制到左上角的现有pdf文件。目前,我在后记中硬编码了y位置。我需要根据使用pdf文件的当前页面大小来更改y位置。和Logo一样,我也需要绘制矩形。还有我对参数进行了硬编码。
我的剧本---
<<
/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
使用以下命令,我创建了输出文件。
gs -q -sDEVICE = pdfwrite -dBATCH -dNOSAFER -dNOPAUSE -sOutputFile = output.pdf -dPDFFitPage -dAutoRotatePages = / None -f test.ps 1001.pdf
我需要知道,如何在左上角放置徽标,并在徽标周围从底部到顶部绘制矩形,如冲压?
示例:
答案 0 :(得分:2)
您可以从页面设备字典中提取当前媒体大小:
currentpagedevice / PageSize get
为您提供媒体的宽度和高度,您可以从左上角的位置进行计算。
您要添加的部分的布局取决于您,但您应该能够使用宽度和高度来计算适当的比例因子,以及确定图形的其余部分将去往何处。 / p>
%!
<<
/PageSize [595 842]
/EndPage {
exch pop 2 lt {
currentpagedevice /PageSize get %% stack has array [width height]
0 0 moveto %% start at bottom left
dup 1 get %% copy array, get height
0 exch lineto %% line to top left
dup 0 get %% copy array get width
10 div cvi 0 rlineto %% horizontal line from top left, 1/10th of width
1 get %% get height from array
neg 0 exch rlineto %% vertical line to bottom of page
closepath %% close path to origin
0.5 setgray stroke
true
} { false } ifelse
}bind
>>setpagedevice