PHP에 가장 적합한 PDF-API는 무엇입니까? [닫은]


110

다음 중 PHP에 가장 적합한 PDF-API는 무엇입니까?


6
이 다른 질문은 이제 StackOverflow에서 제거 된 것 같습니다.
rineez

나는 그 오래된 질문을 알고,하지만 난 이미에서 MDF로 이야기하는 몇 가지 포인트를 제외한, 처리 할 수있는 어떤 복잡한 HTML을 MDF를 선호 mpdf1.com/mpdf/limitations
dev.meghraj

답변:


53

개인적으로 나는 fpdf 의 ehnanced 및 mantained 버전 인 tcpdf를 사용하고 싶습니다.


12
이유를 지정하지 않았습니다. 하나의 큰 이유는 fpdf에 완전히 부족한 tcpdf의 유니 코드 지원입니다. tcpdf도 여전히 적극적으로 유지 관리됩니다. 그리고 그것은 또한 괜찮은 OO 아키텍처를 가지고 있습니다. 현명한 말 : fpdf는 기본적으로 tcpdf로 대체 된 오래된 것입니다.
zanlok 2010

2
tcpdf에는 글꼴 포함 및 하위 설정과 같은 중요한 기능이 없습니다 (아시아 언어에 중요).
velcrow

2
방금 tcpdf 웹 사이트를 확인했는데 글꼴 부분 설정 및 포함을 지원하는 것 같습니다. SetFont 메서드 tcpdf.org/fonts.php에
Nerrve

1
tcpdf는 우르두어 유니 코드 글꼴을 사용할 때 몇 가지 문제가있었습니다.
rineez

1
24k 줄의 코드 "decent OO"로 단일 클래스를 호출하는 경우 높은 수준이어야합니다. 실제 OOP에 대한 FPDF의 리팩토링 된 버전을 확인하십시오. github.com/bubach/PdfBuilder
Christoffer Bubach

39

로부터 mpdf 사이트 "mPDF는 UTF-8 인코딩 된 HTML에서 PDF 파일을 생성하는 PHP 클래스입니다 그것은 개선의 번호와, FPDF 및 HTML2FPDF을 기반으로합니다.."

mpdf는 언어 처리 및 UTF-8 지원면에서 FPDF보다 우수합니다. CJK 지원의 경우 글꼴 포함뿐만 아니라 글꼴 하위 설정도 지원합니다 (따라서 CJK PDF의 크기가 너무 크지 않음). TCPDF 및 FPDF에는 UTF-8 및 mpdf의 글꼴 지원에 대한 내용이 없습니다. 버전 5.0부터 일부 오픈 소스 글꼴도 제공됩니다.


30

이것은 각 라이브러리의 가장 기본적인 기능의 성능 영역에서 fPDF가 tcPDF와 어떻게 비교되는지에 대한 간단한 검토 일뿐입니다.

속도 테스트

fPDF를 사용하여 2000 개의 PDF 파일을 처리하는 데 17.0366 초 || tcPDF를 사용하여 2000 개의 PDF 파일을 처리하는 데 79.5982 초

파일 크기 확인 (바이트)

788 fPDF || 1,860tcPDF

사용 된 코드는 최대한 동일했으며 텍스트가없는 깨끗한 PDF 파일 만 렌더링합니다. 또한 2011 년 6 월 22 일 현재 각 라이브러리의 최신 버전을 사용하고 있습니다.


5
: 다량으로 TCPDF 속도를 향상시킬 수있는 성능 개선 사항이 있습니다 (I는 약 0.5 초에 하나의 파일로 만드는 일분에서 갔다) tcpdf.org/performances.php
댄 스마트

1
이러한 "개선 사항"은 FPDF와 똑같이 잘 작동하며 벤치 마크에서 실제로 도움이되지 않습니다. TCPDF는 약 24,000 줄의 코드이고 FPDF는 약 2400 줄의 코드입니다.
Christoffer Bubach

@DanSmart 링크 업데이트 : tcpdf.org/docs/performances
Albert

22

html 렌더링 측면에서 mpdf가 tcpdf보다 낫다는 것을 알았습니다. CSS 스타일을 훨씬 더 잘 분석하고 원본 html과 매우 유사한 pdf를 만들 수 있습니다.

mpdf는 테두리 반경 및 그라디언트 등과 같은 CSS를 지원합니다.

mpdf가 html에서 pdf로 갈 때 왜 그렇게 덜 이야기되는지보고 놀랐습니다.

여기에서 예제를 확인하십시오. http://www.mpdf1.com/mpdf/index.php?page=Examples .

인보이스, 영수증, 간단한 인쇄물 등을 디자인하는 데 유용하다는 것을 알았습니다. 그러나 웹 사이트 자체에 따르면 mpdf에서 생성 된 pdf는 크기가 더 큰 경향이 있습니다.


2
링크가 끊어졌습니다. 이것은 새로운 링크 일 수 있습니다 : mpdf1.com/mpdf/index.php?page=Examples
Stefan

2019 년 8 월 업데이트 : 참조 mpdf.github.io
CodeJunkie

mpdf는 안타깝게도 큰 테이블 셀을 잘 처리하지 못하는 것 같습니다. 콘텐츠가 페이지를 초과하는 즉시 축소되기 시작하여 큰 테이블이있는 모든 프로젝트에 쓸모가 없습니다. 그 외에도; 사용하기 쉽고 성능이 뛰어나며 잘 문서화되어 있습니다.
zumek

13

TCPDF를 사용해보십시오 . 지금까지 최고라고 생각합니다.

가장 많이 사용되는 두 가지 PDF 생성 클래스 인 TCPDF 및 FPDF 사용에 대한 자세한 자습서를 보려면 다음 링크를 따르십시오. PHP : TCPDF 및 FPDF를 사용하여 즉시 PDF를 쉽게 생성

도움이되기를 바랍니다.


연결 재설정으로 Firefox에서 때때로 크러시됩니다. 그래도 다른 브라우저로 확인하지 않았습니다.
kta 2014 년

11

개인적으로 나는 매우 빠르기 때문에 간단한 PDF 페이지에 dompdf 를 사용하는 것을 선호합니다 . HTML 소스를 제공하기 만하면 필요한 페이지가 생성됩니다.

그러나 더 복잡한 디자인의 경우 PHP 용 pecl로 사용할 수 있는보다 고전적인 pdflib 를 선호합니다 . 디자인을 더 잘 제어하고 픽셀 완벽한 형태와 같은 더 복잡한 디자인을 수행 할 수 있습니다.


그러나 dompdf를 사용하는 단점은 여러 pdf를 한 번에 또는 루프로 만들려는 경우 작동하지 않는다는 것입니다.
hmjha aug.

5

http://sourceforge.net/projects/html2ps/ 는 css와 3c가 호환되는 경우에 가장 적합합니다.

서버에 소프트웨어를 설치할 수 있다면 http://wkhtmltopdf.org/ 를 사용하는 것이 좋습니다 .

wkhtmltopdf를 사용하는 drupal 모듈도 있습니다. :)

PHP는 pdf, imho, php로 html을 변환하기 위해 많은 리소스를 사용합니다 (변환 할 많은 수의 커버 또는 대용량 파일이 예상되는 경우).


나는 wkhtmltopdf를 찬성했지만, 특히 외부 변환기 PHP를 사용하는 것과 같은 방법을 사용할 때 속도 손실에 대한 책임이 없습니다. asp.net에서 wkhtmltopdf 또는 prince를 사용하는 것이 PHP에서와 거의 동일하게 빠르다고 생각합니다 (asp.net을 사용하지만). 물론, PHP는 .NET의 모든 공정 제어가없는,하지만 난 여전히 대부분의 프로젝트에 대해 충분히 빠르게 작동 내기 것
조엘 Peltonen을

4

Zend 프레임 워크의 Zend_Pdf 는 정말 좋습니다. 출력 및 복잡성의 제어 측면에서 pdflib와 동등하며 순수한 PHP 솔루션이기 때문에 이식성이 더 뛰어납니다. 즉, pdflib보다 느리고 더 많은 메모리를 사용합니다. Pecl 모듈은 항상 PHP 솔루션보다 효율적입니다.

DOMPdf 는 pdf를 빠르게 만드는 가장 쉬운 방법입니다. Mike가 말했듯이 html로 피드하면 pdf가 출력됩니다. 내부적으로 r & ospdf 또는 pdflib 를 렌더링 엔진 으로 사용할 수있는 옵션이 있습니다 .


1
Zend PDF에는 중요한 문제가 있습니다 (투명 필름이 포함 된 PNG를 포함하는 경우 성능 문제) [ framework.zend.com/issues/browse/ZF-3392] . 또한 Zend PDF는 전체 PDF 표준에 가까운 것을 처리 할 수없고 충돌이 발생하기 때문에 타사 PDF에서 메타 데이터를 변경하는 데 매우 나쁜 도구입니다. 그러나 이러한 기능이 필요하지 않은 경우 Zend PDF는 매우 잘 작동하며 UTF-8 지원이 좋습니다.
chrishiestand

3

개인적으로 PHP에서 XSL : FO를 생성하고 Apache FOP 를 사용 하여 PDF로 변환합니다. PHP 네이티브 솔루션이 아니고 효율성도 좋지는 않지만 매우 복잡한 레이아웃으로 PDF를 생성해야하는 경우에도 잘 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.