TCPDF (6.0.004) の ImageEPS 関数は完全には実装されておらず、ドキュメントには次のように記載されています。
/**
* Embed vector-based Adobe Illustrator (AI) or AI-compatible EPS files.
* NOTE: EPS is not yet fully implemented, use the
* setRasterizeVectorImages() method to enable/disable rasterization of
* vector images using ImageMagick library.
* ...
*/
public function ImageEps(...){/*...*/}
TCPDF (6.0.004) は、作成者の eps メタデータをチェックします。作成者が Adobe Illustrator の場合、バージョン チェックが行われ、バージョンが 8 を超える場合はエラーが生成されます。Adobe Illustrator 以外のクリエーターはチェックせず機能を継続させます。TCPDF が PS プロローグを解析しているようには見えません。これがおそらく、すべての AI バージョンがサポートされていない理由の 1 つです。プロローグ セクションについて、PostScript 言語リファレンスには次のように記載されています。
- プロローグは、アプリケーションがそのスクリプトの実行に使用できるアプリケーション固有のプロシージャ定義のセットです。これは、アプリケーションによって生成されるすべての PostScript ファイルの最初の部分として含まれています。これには、PostScript 言語によってサポートされる機能を備えたアプリケーションの出力関数と一致する定義が含まれています。
プロローグは解析されないので、ファイルを正しく解釈するのは面倒です。
Inkscape (0.48.3.1 r9886) は cairo で epses を作成し、エラーは発生せず、関数は続行します。TCPDF は eps を部分的に解釈しますが、何も出力しないため、何らかのエラー処理によって出力が削除される可能性があります。しかし、それは単なる推測です。
inkscape -D --file=filename.eps --export-plain-svg=filename.svg を使用して eps を svg にエクスポートし、ImageSVG
代わりに使用することで、より多くの成功を収めました。注: この関数も完全には実装されていないため、動作することは保証できません。私はかなり基本的な eps だけをテストしました。