(inkscape itibaren) eps görüntü TCPDF gösterilmesini değil

3 Cevap php

Php kullanarak ve TCPDF bir pdf dosyası oluşturmak için. Her şey ImageEPS() kullanarak pdf bir EPS görüntüsü yazmaya çalıştığınızda dışında harika çalışıyor. Hiçbir şey gösterir. Hiçbir hata (kesinlikle dosyayı bulabilirsiniz). Bu sadece boşluk olarak gösterir.

(PNG / JPG gibi) Raster görüntüleri sadece iyi çalışır.

I Inkscape. EPS dosyasını kaydetmek için kullanıyorum. Ben başka bir programda dosyasını açtığınızda, sadece iyi açar. Onun ile gösteren değil, onun sadece TCPDF.

3 Cevap

Adobe Illustrator dosyasını ai. Benim * açmak ve bu sorunu aşmak için "Illustrator 3" versiyonu olarak dosyayı kaydedin etmişti. Herhangi daha güncel versiyonu (bana * bir B & W versiyonunu verdi ", Illustrator 8" hariç. Dosyası ai) açıkladığınız sonuçlar üretti.

Biraz geç oldu ama ben aynı problem vardı.

Benim için, geçici çözüm PDF olarak ihracat ile TCPDF / FPDI bu PDF yeniden oldu:

$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);

TCPDF içinde ImageEPS fonksiyonu (6.0.004) tam olarak uygulanan ve belgeler aşağıda belirtilmiştir değildir:

/**
 * 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) checks an eps meta-data for its creator. If the creator is Adobe Illustrator, a version check is made and if the version is above 8 an error is generated. Creators other than Adobe Illustrator are not checked and the function is allowed to continue. It does not seems like TCPDF parses the PS prolog and this is probably one reason why not all AI versions are supported. Here is what PostScript Language Reference says about the prolog section:

  • The prolog is a set of application-specific procedure definitions that an applica- tion may use in the execution of its script. It is included as the first part of every PostScript file generated by the application. It contains definitions that match the output functions of the application with the capabilities supported by the PostScript language.

Prolog ayrıştırılır olmadığından, doğru dosyayı yorumlamak zahmetli.

Inkscape (0.48.3.1 r9886) Kahire ile EPSES oluşturur ve hiçbir hata ortaya çıkar ve işlevi devam edecektir. TCPDF kısmen eps yorumlamak, ancak çıkış yok bir şey yok, çünkü çıkış muhtemelen bazı hata işlemesi kaldırılır. Ama bu sadece bir tahmin.

I had more success with exporting my eps to a svg with inkscape -D --file=filename.eps --export-plain-svg=filename.svg and using ImageSVG instead. Note: this function is not fully implemented either, so I can't guarantee that it will work. I have only tested a pretty basic eps.