在PostScript中添加表单

时间:2012-08-10 08:37:34

标签: c# postscript

我有一个c#应用程序,我想在postscript文件中插入一条消息,所以我创建了一个像

的表单
%%BeginResource: form myfrm
/myfrm 
<<
/FormType 1
/BBox [ 0 0 771 618] def
/Matrix [1 0 0 1 0 0] def
/PaintProc{pop
..........
}
>> /Form defineresource pop
%%EndResource

当我在页面中插入页面时 像这样

newpath
gsave
3800 5025 translate
3221.875 2575 scale
myfrm execform
grestore
closepath

当我在ghostview中查看时,它给了我错误。任何建议我做错了,之前我正在做的是从文本创建一个图像并插入EPS格式它工作得很好,但ps文件大小增加。如果可能的话,我可以在postscript中插入一个文本框。

编辑后

: -

/myfrm 
<<
/FormType 1
/BBox [ 0 0 771 618] 
/Matrix [1 0 0 1 0 0] 
/PaintProc{pop
0 0 moveto
(my name is ali) show
}
>> def

.....
.....
.....
newpath
gsave
3800 5025 translate
3221.875 2575 scale
myfrm execform
grestore
closepath 

但没有显示文字

2 个答案:

答案 0 :(得分:3)

您已经定义了一个Form资源的实例,但是在调用execform之前还没有加载该资源。你要么:

1)只需定义表单字典(但不将其存储为资源)

/myfrm <<
/FormType 1
...
>> def
...
myfrm execform

2)在执行之前加载资源

/myfrm /Form findresource execform

答案 1 :(得分:2)

此PostScript代码适用于我:

%!
/C60 {/Courier findfont 60 scalefont setfont 30 700 moveto} def

/myfrm
   <<
     /Matrix [ 2 3 .1  2 0 0 ]  
     /PaintProc
        {
           /Helvetica findfont 24 scalefont setfont
           10 10 moveto
           (Your name is Haider) show
        }
     /BBox [ 0 0 450 100]
     /FormType 1
  >> def

C60 (Page 1) show myfrm execform showpage
C60 (Page 2) show myfrm execform showpage
C60 (Page 3) show myfrm execform showpage

这是你要找的吗?