質問

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

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

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

EPS ファイル内に名前付きのシェイプやポイントを含めることはできますか?

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

役に立ちましたか?

解決

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

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

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

他のヒント

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

あなたがやりたいことの問題は、PSが(ほとんど)出力が何らかのイメージであるプログラミング言語であることです。そのため、「Javaファイルの新しいレイヤーにシェイプをどのように描画できますか」と質問することができます。おそらく、完全なPSをその場で生成するか、別の画像形式を使用する必要があります。

これに使用できるライブラリはありませんが、 epsscript Ghostscript / GSviewから

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top