2010-03-26 3 views
5

PHP와 TCPDF을 사용하여 pdf 파일을 생성하십시오. 모든 것은 내가 ImageEPS()을 사용하여 pdf에 EPS 이미지를 쓰려고 할 때를 제외하고는 훌륭하게 작동합니다. 아무것도 나타나지 않습니다. 오류가 없습니다 (파일을 찾을 수 있음). 그냥 공백으로 나타납니다.tcpdf에 eps 이미지 (inkscape에서)가 나타나지 않습니다.

래스터 이미지 (PNG/JPG 등)는 정상적으로 작동합니다.

나는 Inkscape을 사용하여 .eps 파일을 저장합니다. 다른 프로그램에서 파일을 열면 정상적으로 열립니다. 그 유일한 TCPDF는 나타나지 않습니다.

답변

3

Adobe Illustrator에서 * .ai 파일을 열어이 문제를 해결하기 위해 "Illustrator 3"버전으로 저장했습니다. 현재 버전에서 더 이상 설명하지 않은 결과가 나타납니다 ("Illustrator 8"은 B & W 버전의 my * .ai 파일을 제공함).

+0

TCPDF 라이브러리도 테스트 중이며 슬프게도 Illustrator 3 파일 만 작동한다는 것을 알게되었습니다. 나는 Illustrator 8을 할 때 거의 흑백 (흑백이 아니고 갈색 텍스트는 나오지만 벡터 아트 워크 색상은 없음)이고 Illustrator 9 이상이 전혀 작동하지 않는다는 것을 확인할 수 있습니다. – Josh

2

약간 늦었지만 같은 문제가있었습니다.

나를 위해

, 해결 방법으로/FPDI를 PDF로 내보내고 TCPDF이 PDF를 재사용하는 것이 었습니다 :

$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); 
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 메타 데이터를 확인합니다. 제작자가 Adobe Illustrator 인 경우 버전 확인이 이루어지며 버전이 8 이상인 경우 오류가 생성됩니다. Adobe Illustrator 이외의 제작자는 선택하지 않고 기능을 계속 사용할 수 있습니다. TCPDF가 PS 프롤로그를 파싱하는 것처럼 보이지는 않습니다. 아마도 이것이 모든 AI 버전이 지원되는 이유 중 하나 일 수 있습니다. 여기 PostScript Language Reference는 프롤로그 부분에 대해 말씀입니다 :

  • 프롤로그는 애플리케 기이 스크립트의 실행에 사용할 수 있습니다 응용 프로그램 별 절차 정의의 집합입니다. 이 파일은 응용 프로그램에서 생성 한 모든 포스트 스크립트 파일의 첫 부분으로 포함되어 있습니다. 여기에는 포스트 스크립트 언어에서 지원하는 기능을 사용하여 응용 프로그램의 출력 기능을 일치시키는 정의가 포함되어 있습니다.

프롤로그가 구문 분석되지 않으므로 파일을 올바르게 해석해야합니다.

잉크 스케이프 (0.48.3.1 r9886)는 cairo로 epses를 생성하므로 오류가 발생하지 않고 기능이 계속됩니다. TCPDF는 부분적으로 eps를 해석하지만 아무 것도 출력하지 않으므로 일부 오류 처리로 인해 출력이 제거 될 수 있습니다. 그러나 이것은 단지 추측 일뿐입니다.

나는 잉크 스케이프 -D --file = filename.eps --export-일반 SVG = filename.svg 와 SVG로 내 EPS를 내보내는 대신 ImageSVG를 사용하여 더 많은 성공을 거두었 다. 참고 :이 기능은 완전히 구현되지 않았으므로 작동하지 않을 수도 있습니다. 나는 아주 기본적인 eps 만 테스트했다.

관련 문제