2009-05-12 3 views
0

dompdf (http://www.digitaljunkies.ca/dompdf/)를 작동 시키려고 많은 시간을 보냈지 만 문제가 계속 발생합니다. 상당히 복잡한 웹 양식을 생성하는 PHP 스크립트에서 PDF를 생성하려고합니다. 스크립트는 $ _GET 매개 변수 (레코드 x 호)를 승인하고 이에 따라 데이터베이스의 데이터로 서식을 채 웁니다. 이 데이터를 문자열이나 모든 유형의 값으로 스크립트에 가져 오는 데 아무런 문제가 없습니다. 이 유형의 데이터를 PDF로 변환하는 최선의 방법은 무엇일까?

흐름은 다음과 같습니다. 사용자가 양식을 완성하고 "PDF로 저장"버튼을 추가하려는 확인 페이지로 이동합니다. 이 시점에서 두 가지 중 하나가 발생할 수 있습니다. 현재 브라우저에 표시되는 페이지는 pdf 또는 PHP 자체의 호출로 직접 스핀 될 수 있습니다 (scriptname.php? id = xyz)는 PHP의 http_get과 같은 것을 사용하여 만들 수 있습니다 () 함수를 호출하고 HTML을 문자열로 저장합니다. 거기에서 PDF로 정확한 표현을 준비하는 데 문제가 있습니다.

fpdf에 대한 이야기를 들었지만 동적 데이터를 소스로 사용할 수 있다고 생각하지는 않습니다. 그러나이 문제가 잘못된 경우 수정 해주십시오.

모든 의견을 보내 주시면 감사하겠습니다.

- Nicholas

답변

0

음, dompdf를 알지 못했습니다. 이상하게도 상용 라이브러리 (PDFlib) 또는 구형 라이브러리 (?) (CPDF, 3 년간 업데이트되지 않음)를 사용합니다. 그러나 잘, 그것이 작동하는 한 (개념은 재미있다).

"동적 데이터를 원본으로 사용"(또는 정적 PDF 생성을 가리키는 것이 아니라) 무슨 뜻인지 이해할 수 없지만 FPDF는 e의 송장과 같은 다양한 동적 문서를 생성하는 데 사용됩니다 - 상거래 제품. 하지만 사람들이 유니크 데이터를 처리하기 위해 포크 (TCPDF)를 사용하는 것을 보았습니다.

HTML 페이지를 FPDF로 PDF로 변환 할 수는 없지만 데이터가있는 셀 개념을 사용하면 레이아웃을 매우 정확하게 제어 할 수 있습니다.
그런 종류의 코드를 볼 수 있습니다 : http://svn.prestashop.com/trunk/classes/PDF.php

0

과거에는이 문제에 직면했을 때 PDF 템플릿에 데이터를 배치하기 위해 FPDF를 사용했습니다. 그런 다음 해당 HTTP 헤더를 설정하여 사용자가 해당 PDF를 저장하도록 다운로드/다른 이름으로 저장 상자를 열려면 브라우저를 강제 실행하십시오. PDF를 생성, 그리고

$this->setSourceFile('pdf_template.pdf'); 
$template_page = $this->importPage(1, '/MediaBox'); 
$this->useTemplate($template_page, 0, 0); 

한 FPDF : FPDF는/FPDI 적절하게, 당신이 이미 만든 템플릿 PDF에서 PDF (http://www.setasign.de/products/pdf-php-solutions/fpdi/)를 생성하기 위해 다음과 같은 것을 사용 확장하는 클래스에서

사용하여 출력 : 또한 사용하여 서식에 대한 (제한) HTML을 받아 FPDF를 확장 할 수 있습니다

$this->Output(); 

스크립트는 여기에서 찾을 : http://www.fpdf.org/en/script/script41.php

관련 문제