C# 在PostScript中添加表单
我有一个c#应用程序,我想在postscript文件中插入一条消息,所以我创建了一个类似C# 在PostScript中添加表单,c#,postscript,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 当我在ghostview中查看时,会出现
%%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
当我在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
/myfrm
>def
.....
.....
.....
新路径
gsave
3800 5025翻译
3221.875 2575刻度
myfrm execform
格雷斯托
封闭路径
但是没有显示文本您已经定义了表单资源的实例,但是在调用execform之前还没有加载资源。您需要: 1) 只需定义表单字典(但不将其存储为资源)
这段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
%!
/C60{/Courier findfont 60 scalefont setfont 30 700 moveto}def
/myfrm
>def
C60(第1页)显示myfrm execform showpage
C60(第2页)显示myfrm execform showpage
C60(第3页)显示myfrm execform showpage
这就是你要找的吗?你能提供完整的例子吗,因为两人都给出了错误。postscript中的文本框如何?也许您可以引用您遇到的错误?我不知道你所说的“postscript中的文本框”是什么意思。画一个矩形(边框)并在框内写下文本。事实上,我有一个转换器htmltops,希望在postscript中插入该工具多次生成的ps,很抱歉,我在末尾忘记了(def),现在没有错误,但没有显示任何内容(请参见我的问题),可能没有显示任何内容,因为您有一个字符串要显示
(我的名字是…
),但是没有定义字体…类似的东西,如何传递类似3800 5025 translate 3221.875 2575 scale execform的东西如果我有一个ps文件,我可以在表单中写入它吗?
/myfrm <<
/FormType 1
...
>> def
...
myfrm execform
/myfrm /Form findresource execform
%!
/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