5

PHPとTCPDFを使用してpdfファイルを生成します。を使用して EPS 画像を pdf に書き込もうとする場合を除いて、すべてがうまく機能しImageEPS()ます。何も表示されません。エラーはありません (確実にファイルを見つけることができます)。空白として表示されるだけです。

ラスター画像 (PNG/JPG など) は問題なく動作します。

Inkscapeを使用して .eps ファイルを保存しています。他のプログラムでファイルを開くと、問題なく開きます。表示されない唯一のTCPDFです。

4

3 に答える 3

3

この問題を解決するために、Adobe Illustrator で *.ai ファイルを開き、ファイルを「Illustrator 3」バージョンとして保存しました。より新しいバージョンでは、あなたが説明した結果が得られました(* .aiファイルの白黒バージョンを提供した「Illustrator 8」を除く)。

于 2011-03-02T18:41:17.553 に答える
2

少し遅れましたが、同じ問題がありました。

私にとっての回避策は、PDF としてエクスポートし、この PDF を TCPDF/FPDI で次のように再利用することでした。

$num_pages = $pdf->setSourceFile(path_to_file);  
$template_id = $pdf->importPage(1); //if the grafic is on page 1
$pdf->useTemplate($template_id,$x,$y,$width,$height);
于 2011-12-07T16:17:42.047 に答える
0

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 メタデータをチェックします。作成者が Adob​​e 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 だけをテストしました。

于 2013-03-22T11:26:16.250 に答える