2

ポストスクリプトファイルにメッセージを挿入したいac#アプリケーションがあるので、次のようなフォームを作成しました

%%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ファイルのサイズが大きくなりました。また、可能であれば、ポストスクリプトにテキストボックスを挿入できます。

編集後:-

/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 

ただし、テキストは表示されません

4

2 に答える 2

3

Formリソースのインスタンスを定義しましたが、execformを呼び出す前にリソースをロードしていません。次のいずれかを行う必要があります。

1)フォームディクショナリを定義するだけです(ただし、リソースとして保存しないでください)

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

2)実行する前にリソースをロードします

/myfrm /Form findresource execform
于 2012-08-10T16:29:55.740 に答える
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

これはあなたが探しているものですか?

于 2012-08-13T16:11:01.700 に答える