program story

PDF 출력이있는 PHP PDF 템플릿 라이브러리?

inputbox 2020. 12. 13. 09:24
반응형

PDF 출력이있는 PHP PDF 템플릿 라이브러리?


기존 PDF, ODT 또는 DOCX 문서에서 자리 표시 자 변수대체 하고 레이아웃을 망치지 않고 최종 결과로 PDF 파일을 생성 할 수있는 PHP PDF 라이브러리가 있습니까?

요구 사항 :

  • 타사 웹 서비스가 필요하지 않음

  • 공유 웹 호스팅에서 실행할 수있는 기능이 이상적입니다 (바이너리 설치 / 패키지 필요 없음).

기존 PDF 파일을로드하고 특정 위치에 프로그래밍 방식으로 텍스트를 삽입 할 수있는 라이브러리는 제 사용 사례에 충분하지 않습니다 .

내 연구 결과에 따르면이를 수행 할 수있는 라이브러리는 없습니다.

  • TCPDF는 처음부터 문서를 생성 할 수 있습니다.

  • FPDI는 기존 PDF 템플릿을 읽을 수 있지만 프로그래밍 방식으로 만 내용을 추가 할 수 있습니다 (템플릿 변수 대체 없음).

  • 다양한 DOCX / ODT 템플릿 라이브러리가 있지만 PDF를 출력하지 않습니다.

PHPDOCx 는 내가 필요한 것을 정확히 할 수 있다고 주장합니다. 그러나 그들은 평가판을 제공하지 않으며 특히 웹에 다른 제품없는 것처럼 보이는 경우에는 가방에 고양이를 사지 않을 것 입니다. 이. 나는 그들이 문제없이 이것을 할 수 있다고 믿기 어렵다. 당신이 제품을 사용하여 성공적으로 이것을했다면 여기에 줄을 드롭하십시오.

내가 뭔가를 간과하고 있습니까?

PDF 양식을 사용하여이를 수행하는 방법이 있습니까? OpenOffice 3에서 소스 문서를 만들고 있습니다.

표준 Linux 명령을 사용할 수 있습니다 ( pdftk예 : 지금 바로 시도해 볼 수 있음).

업데이트 : * Argh! * 나는 사무실에서 부름을 받았으며 그 동안 현상금이 만료되었습니다. 새로운 현상금 시작 : 테스트 결과에 따르면 아직 완벽하게 작동하는 솔루션은 없습니다.

업데이트 II : 곧 pdftk 접근 방식을 검토 할 예정이지만, 추가 입력을 수집하는 한 라운드 더에 대한 또 다른 현상금도 시작합니다. 이 질문은 이제 현상금에서 1300 rep 포인트를 보았습니다. 어떤 종류의 기록이어야합니다 :)


페카,

나는 이전에 이것을 살펴 보았고, pdftk (명령 줄 유틸리티)를 사용하여 PHP 내에서 쉽게 생성 할 수있는 FDF / XFDF 데이터 파일을 사용하여 PDF 양식을 채울 수 있다고 생각합니다 . 네이티브 라이브러리가있을 수 있지만 지금까지 본 것 중 가장 좋은 옵션이었습니다.

pdftk 는 일반적으로 매우 유용하며 살펴볼 가치가 있습니다.

업데이트 : 여기를보세요 : http://php.net/manual/en/book.fdf.php


이것은 실용적이지는 않지만 완전성을 위해 : 이미 ODT 템플릿이있는 경우 템플릿으로 유지하는 것이 좋습니다. OpenDocument content.xml을 수정하고 그 안에 자리 표시자를 바꾸는 것은 매우 간단합니다. 그렇다면, 당신은 사용할 수 있습니다 unoconv또는 pyodconverter최종 PDF로 ODT를 변환 할 수 있습니다.

unoconv -f pdf -o final.pdf template.odt

웹 서버에 전체 OpenOffice 설정 (UNO 및 Writer)이 필요합니다. 그리고 분명히 모든 웹호 스터가 그렇게하는 것은 아닙니다! ㅋ. Debian 또는 Fedora 설정에서 간단하더라도. 실행 속도도 별것 같지 않을 것입니다. 그러나 오픈 오피스가 PHP 클래스보다 더 잘 관리하기 때문에 가장 깔끔한 접근 방식 일 수 있습니다.


XSL : Formatting Objects (XSL : FO)와 같은 것을 사용해 보셨습니까? 기본적으로 처리되어 PDF로 변환되는 XML 문서입니다. 문자열 또는 더 나은 DOM 교체를 수행하는 것은 매우 간단해야합니다. 이미지, 링크, 주석 등을 포함 할 수 있습니다.

PHP는 아니지만 exec 등을 통해 사용하는 방법과 함께 많은 PHP 래퍼가 있습니다. 이상적인 것은 아니지만 템플릿 부분을 완전히 처리합니다. 추가 정보 : http://techportal.inviqa.com/2009/12/16/transforming-xml-with-php-and-xsl/

Apache 프로젝트로 사용할 수있는 구현이 있습니다 -http : //xmlgraphics.apache.org/fop/


fpdf 위에 또 다른 확장자가 있습니다. 기억할 수없는 것은 템플릿을 가져올 수 있습니다.


가장 좋은 방법은 fpdf 또는 유사한 것을 사용하여 프로그래밍 방식으로 정의 된 템플릿을 사용하여 즉시 전체 문서를 생성하는 것입니다. 이렇게하면 텍스트가 단락이나 이와 유사한 것으로 잘리지 않으며 필요에 따라 이미지 / 기타 요소를 쉽게 배치 할 수 있습니다.


늦었지만 OpenSource 템플릿 디자이너 https://github.com/applicius/dhek/releases 를 사용하여 기존 PDF에 대해 pkaceholders / areas를 정의한 다음 PHP로로드하고 (JSON 형식이므로) 원본 PDF에 적절하게 작성할 수 있습니다. fpdf lib를 사용하여 동적 데이터가 기록 된 사용자 지정 PDF를 생성합니다.


정확히 요청한 것은 아니지만 두 단계로 만드는 것을 고려할 수 있습니다. 일부 PHP 템플릿 시스템 ( smarty , dwoo )을 사용하여 html 페이지를 생성 한 다음 Html2Pdf 와 같은 도구를 사용하여 pdf로 변환합니다. 나는 그것을 사용하고 있으며 결과가 좋습니다 (페이지 레이아웃 등에 문제 없음)

물론 입력 문서 (PDF / ODT 대신 html을 소스로 사용할 수 있음)와 레이아웃의 복잡성에 따라 다릅니다.


알겠습니다. 문제 해결을 도와 드리려고합니다.

먼저 몇 가지 질문에 대한 답변입니다.

Q-내가 뭔가를 간과하고 있습니까?

A-아니요. 기존 PDF의 자리 표시 자 변수를 대체하고 레이아웃을 망칠 필요없이 최종 결과로 PDF 파일을 생성 할 수있는 PHP PDF 라이브러리가 있습니다.

Q-PDF 양식을 사용하는 방법이 있습니까?

A-네. 절대적으로이 작업을 수행하는 방법은 PDF 양식을 사용하는 것입니다.

두 답변 모두 Justin Koivis를 사용하여 pdf 양식 필드 php 라이브러리를 채울 수 있습니다. 자세한 내용은 http://koivi.com/fill-pdf-form-fields/tutorial.php 로 이동하십시오 . 추가 정보를 보려면 거기를보십시오.

그의 작품에 대한 Justin Koivisto의 공로

추신

For workaround for displaying a table like output from pdf form please consider to take some reading on Oracle Business Intelligence Publisher User's Guide - Creating a PDF Template


I'll add this new answer since the FDF PHP extension is now dead.

I've just followed these instructions and ended up executing one perl script then the pdftk command

I'm pretty aware it's far from being a real PHP solution but it's reliable and fairly easy to implement on any *nix platform.

The tools described there are also available on Debian, just in case you were wondering.


It's a litte bit late but have a look at the PDFTemplate Library it does exatly what you want. You can create Open Document files (odt) and add placeholders in it. The PDFTemplate library can fill out these placeholders (even with images) and create a PDF file.

ODT Files with placeholders to PDF

참고URL : https://stackoverflow.com/questions/4416667/php-pdf-template-library-with-pdf-output

반응형