2017-05-12 3 views
0

JavaのGraphics2Dから複数ページのPostScriptファイルを作成したいと思います。私は現在、各ページのGraphics2Dオブジェクトに書き込むJavaコードを持っています。 EPSGraphicsライブラリを使って、これを使ってページごとにEPSオブジェクトを作成させることができます。Java:EPSからPostScriptファイルを作成するにはどうすればよいですか?

このEPSオブジェクトのコレクションからPostScriptファイルを作成するにはどうすればよいですか?

注:私はではありません。は、これがアプローチであり、いくつか存在する場合、これを行うための最良のライブラリは何かを尋ねています。私はちょうどこれを行う方法を尋ねています。

+0

「をこのおよび/または何をすべきかを説明したWebページを行うJavaライブラリはありますか?」この種の質問は話題外です。言い直してください。たぶん:https://xmlgraphics.apache.org/commons/postscript.html#generator –

答えて

2

各EPSファイルにはコメントとしてBoundingBoxが付いています(HiResBoundingBoxも可能です)。コメントを読む必要があり、EPSのサイズ(PostScriptポイント)がわかります。

各EPSの描画方法を決定する必要があります(注:EPSはではなく、ページです)。 boundingboxを指定すると、ページ上のどこに図形を配置するかを決めることができます。次に、現在のグラフィックス状態を保存し、スケールを作成し、演算子を変換して回転させ、ページにEPSを配置してから、グレストールを実行します。

1ページに複数のEPS数値が必要な場合は、それぞれの数字を繰り返します。

ページの最後にshowpage演算子を記述して、ページのレンダリングと取り出しを行います。次のページのために繰り返します。

だからあなたの最終的なPostScriptプログラムは次のようになります。

%!PS 
gsave 
x y translate 
x y scale 

% Insert the entire content of the first EPS here 
% 

%!PS_Adobe_EPSF.... 
.... 
.... 
%%EOF 

grestore 


gsave 
x y translate 
x y scale 

% Insert the entire content of the second EPS here (if required) 
% 

%!PS_Adobe_EPSF.... 
.... 
.... 
%%EOF 
... 
... 

grestore 
showpage 

%% Begin page 2, repeat as above 

showpage 
+0

バウンディングボックスはポイントに入っていますか?それは理にかなっている。これは、ベクトルベースのEMFに似ていますが、サイズは設定されています(もちろん無視することができます)。ありがとうございました。 –

関連する問題