6

プログラムで EPS (Encapsulated PostScript) ファイルを操作するのに役立つライブラリを探しています。基本的に、私がやりたいことは次のとおりです。

  • EPS ファイル内の既存のレイヤーを表示/非表示 (オンとオフを切り替えます)
  • EPS ファイル内の名前付き図形を塗りつぶす (色を付ける)
  • EPS ファイル内の名前付きポイントの座標を取得します
  • EPS ファイルの新しいレイヤーに図形を描画する
  • サーバー上、ユーザーの操作なし (Adobe Illustrator のスクリプトは機能しません)

EPS ファイル形式が PostScript 言語に基づいているため、解釈する必要があることは承知しています。単純な図面を最初から作成する場合、これはかなり簡単です。しかし、実際に既存のファイルを変更するには、ファイルを解釈し、操作のために何らかの「DOM」を提供するライブラリが必要だと思います。

EPS ファイル内に名前付きの形状や点を含めることはできますか?

編集:レイヤーを別々のEPSファイルに保存したと仮定します。または、さらに良いこと: レイヤーの「データ」部分だけです。この内容を連結して、新しい EPS ファイルを作成できますか? 描画コマンドを追加しますか? 既存の名前付きオブジェクトを埋めますか?

4

4 に答える 4

7

これは非常に困難であり、その理由は次のとおりです。PS ファイルは、実行結果がページに配置されるピクセルになるプログラムです。PS プログラムでの指示は、「現在のペンと色を使用して線を引く」または「座標系を 90 度回転させる」レベルですが、ベクター描画で見られるようなレイヤーや複雑なオブジェクトの概念はありません。応用。

PS ファイルの構造には、外部プログラムがそれらを変更できるようにするための規則がほとんどありません。ページは個別にマークされ、フォント リソースとメディアのサイズは特別なコメントで綴られています。これは特に、これらのガイドラインに従う必要がある埋め込み Postscript (EPS) に当てはまります。これらはアプリケーションによって読み取られることを意図しているためですが、プリンターに送信される一般的な PS には当てはまりません。PS プログラムは、必要なものよりもはるかに低いレベルの抽象化であり、任意の PS コード用に再構築する方法があります。原則として、PS ファイルは実行環境を照会し、ランダムな決定に基づいて分岐する可能性があるため、印刷されるたびに異なる出力になる可能性があります。

Adobe Illustrator などのアプリケーションは、厳密な構造に従う PS コードを出力します。コードを解釈せずに、これらを解析して操作できる可能性があります。現在のアーキテクチャを再考することをお勧めします。必要なものに対して抽象化のレベルが低すぎます。

于 2009-01-18T12:34:29.103 に答える
3

PDFの既存の部分を変更することは(一般に)不可能であるため、PDFは操作できません。EPS は、境界ヘッダーがあることを除いて、PostScript と同じです。

あなたが望むことをする際の問題は、PSがプログラミング言語であり、その出力(ほとんど)がある種の画像であるということです。したがって、質問は「Java ファイルの新しいレイヤーに図形を描画するにはどうすればよいか」と言えます。おそらく、その場で完全な PS を生成するか、別の画像形式を使用する必要があります。

于 2009-01-09T13:23:38.967 に答える
1

EPSからPDFを生成し、そのPDFを操作するのが最善の策だと思います。その後、EPSに戻ります。PDFは、EPSよりもはるかに「操作可能」です。

于 2009-01-09T13:06:34.493 に答える
1

これに使用できるライブラリは認識していませんが、Ghostscript/GSviewのepstoolに基づいてニーズを満たすものを構築できる可能性があります。

于 2009-01-09T12:53:34.940 に答える