한글 - php pdf 편집




PHP로 HTML+CSS를 PDF로 변환 하시겠습니까? (20)

Firefox 3 및 IE 7에서 잘 렌더링되는 HTML (XHTML 아님) 문서를 가지고 있습니다.이 템플릿은 상당히 기본적인 CSS를 사용하여 스타일을 지정하고 HTML로 잘 렌더링합니다.

나는 이제 그것을 PDF로 변환하는 방법을 따른다. 나는 시도했다 :

  • DOMPDF : 테이블에 큰 문제가있었습니다. 필자는 커다란 중첩 테이블을 분해하여 (최대 128M의 메모리를 소비하기 전에는 php.ini의 메모리에 제한을 두었습니다.)하지만 테이블을 완전히 망쳐 놓은 것 같지 않습니다. 이미지. 테이블은 여러 가지 포인트에서 몇 줄을 추가하기위한 테두리 스타일이있는 기본적인 것들이었습니다.
  • HTML2PDF 및 HTML2PS : 실제로이 문제에 더 많은 행운이있었습니다. 일부 이미지 (모든 이미지는 Google 차트 URL 임)를 렌더링했으며 테이블 형식이 훨씬 좋았지 만 아직 파악하지 못한 복잡한 문제가있는 것처럼 보였고 알 수없는 node_type () 오류로 인해 계속 죽어 가고있었습니다. 여기에서 어디로 가야할지 모르겠습니다. 과
  • Htmldoc : 기본 HTML에서는 정상적으로 작동하지만 CSS는 거의 지원하지 않으므로 HTML로 모든 것을해야합니다 (Htmldoc에서 2001 년은 아직 실현되지 않았습니다 ...) 그래서 나에게는 쓸모가 없습니다.

Html2Pdf Pilot이라는 Windows 응용 프로그램을 실제로 사용해 보았습니다. 그러나 최소한 Linux에서 실행되고 이상적으로 웹 서버에서 PHP를 통해 주문형으로 실행되는 무언가가 필요합니다.

무엇이 누락 되었습니까? 또는 어떻게이 문제를 해결할 수 있습니까?


1) MPDF 사용 MPDF !

a) yourfolder 에서 추출

b) yourfolder file.php 를 만들고 다음 코드를 삽입하십시오 :

<?php
include('../mpdf.php');
$mpdf=new mPDF();
$mpdf->WriteHTML('<p style="color:red;">Hallo World<br/>Fisrt sentencee</p>');
$mpdf->Output();   exit;
 ?>

c) 브라우저에서 file.php 를 엽니 다.




2) pdfToHtml 사용하십시오!

1) 루트 폴더에 pdftohtml.exe 압축을 풉니 다.

2) 그 폴더 안의 anyfile.php 파일에이 코드를 넣으십시오 (가정에서는 example.pdf 소스도 있음).

<?php
$source="example.pdf";
$output_fold="FinalFolder";

    if (!file_exists($output_fold)) { mkdir($output_fold, 0777, true);}
$result= passthru("pdftohtml $source $output_fold/new_filename",$log);
//var_dump($result); var_dump($log);
?>

3) FinalFolder를 입력하면 변환 된 파일이 생성됩니다 (원본 PDF와 같은 수의 페이지).


웹 API

항상 이런 종류의 물건을 찾는 사람들이 있다면, HTML 코드와 페이지를 pdf로 변환 할 수있는 무료 웹 사이트가 있습니다. URL에서 pdf 파일을 얻을 수있는 (아주 작은) API도 있습니다.

그것을 여기에서 확인해라.


HTML을 PDF로 변환하는 작업은 PHP를 사용하여 서버 측에서 실제로 수행 해야 합니까?

방금 HTML5 / JavaScript를 사용하는 클라이언트 측 솔루션 인 jsPDF 를 발견했습니다. MIT 라이선스 코드는 GitHub 에서도 제공됩니다.


TCPDF는 잘 작동하고, 종속성이없고, 자유롭고 끊임없이 버그 수정을합니다. 제공된 HTML / CSS 내용이 잘 형성되면 합리적인 속도입니다. 나는 보통 50 - 300 kB의 HTML 입력 (CSS 포함)을 생성하고 10-15 PDF 페이지로 1-3 초 내에 PDF 출력을 얻습니다.

TCPDF에 무엇인가 보내기 전에 깔끔한 라이브러리를 HTML 예쁜 포맷터로 사용할 것을 강력히 권장한다.


나는 PHP를 사용하여 PDF 파일을 생성하기 위해 fpdf를 사용하고있다. 지금까지는 간단한 출력물을 제작하는 데는 저에게 유리했습니다.


나는 PHP를 위해 많은 라이브러리를 시도했다. 내가 열거 한 모든 것을 시도했다. 내 견해로는 TCPDF 라이브러리가 최상의 성능 / 유용성이다. 설치와 사용이 매우 간단하며 중소 규모의 응용 프로그램에서도 좋은 성능을 발휘합니다. 높은 성능과 큰 PDF 문서가 필요하다면 Zend_PDF 모듈을 사용 Zend_PDF .


당신이 PDF 변환기 도서관에 완벽한 XHTML + CSS를 찾아 내고 싶은 경우에, 그것을 잊으십시오. 그것은 가능하지 않습니다. 이는 완벽한 브라우저 (XHTML + CSS 렌더링 엔진)를 찾는 것과 같습니다. 우리가 가지고 있습니까? IE 또는 FF?

나는 DOMPDF를 성공 시켰습니다. 문제는 라이브러리가 작동하는 방식과 함께 사용하기 위해 HTML + CSS 코드를 수정해야한다는 것입니다. 그것 이외에, 나는 꽤 좋은 결과를 가지고있다.

아래 참조 :

원본 HTML

HTML을 PDF로 변환


명령 줄에 액세스 할 수 있다면 PhantomJS 를 사용하여 URL (원격 또는 로컬)에서 PDF 를 작성할 수 있습니다.

그것은 정말 잘 작동하며 무료 솔루션입니다.

이 정확한 문제를 해결하기 위해 만들어진 github.com/ariya/phantomjs/blob/master/examples/rasterize.js 스크립트를 살펴보십시오.


비용면에서 웹 서비스 (API)를 사용하는 것이 더 현명한 접근 방법이 될 수 있습니다. 또한이 프로세스를 외부에서 조달함으로써 자체 인프라 / 백엔드의 부담을 줄이고 평판이 좋은 서비스를 제공한다면 웹 표준, 가동 시간, 짧은 처리 시간 및 신속한 컨텐트 공급 조정과의 호환성을 보장 할 수 있습니다.

현재 시장에 나와있는 대부분의 웹 서비스에 대한 조사를 해본 결과 가격 / 가격 비율에 따라 순서대로이 스레드에서 언급 할 가치가 있다고 생각되는 API를 찾으십시오. 그들 모두는 미리 구성된 PHP 클래스와 패키지를 제공하고 있습니다.

  1. pdflayer.com - 비용 : $ - 품질 : ☆☆☆☆
  2. docraptor.com - 비용 : $$$ - 품질 : ☆☆☆☆☆
  3. pdfcrowd.com - 비용 : $$ - 품질 : ☆☆☆

품질:

DocRaptor 는 고품질 엔진 PrinceXML 을 백본으로 사용하여 분명히 최고의 PDF 품질을 제공하고 고도로 세련되고 잘 변환 된 PDF 문서를 반환합니다. 그러나 pdflayer API 서비스는 여기에서 매우 가깝습니다. Pdfcrowd 는 반드시 품질이 좋지만 처리 속도가 좋습니다.

비용:

pdflayer.com - 위에서 설명한 바와 같이 가장 비용 효율적인 옵션은 pdflayer.com으로 100 개 월간 PDF 및 $ 9.99- $ 119.99 범위의 프리미엄 가입에 대한 무료 가입 계획을 제공합니다. 월별 PDF 문서 10,000 개당 가격은 39.99 달러입니다.

docraptor.com - 7 일 무료 평가판 기간 제공. 프리미엄 가입 플랜은 $ 15- $ 2250입니다. 월별 PDF 문서 10,000 개가 ~ 300.00 달러입니다.

pdfcrowd.com - 무료 PDF 100 제공. 프리미엄 가입 플랜은 $ 9- $ 89입니다. 월별 PDF 문서 10,000 개가 ~ $ 49.00입니다.

저는이 세 가지를 모두 사용했으며이 텍스트는 모든 사람들이 비용을 지불하지 않고도 결정할 수 있도록 돕기로되어 있습니다. 이 텍스트는 특정 제품을 보증 할 목적으로 작성된 것이 아니며 제품과 아무런 관련이 없습니다.


스레드를 부딪히기 위해 DOMPDF를 시도했지만 완벽하게 작동했습니다. 모든 것을 배치하기 위해 DIV 와 다른 블록 레벨 요소를 사용했으며 엄격하게 CSS 2.1로 유지했으며 veru를 멋지게 재생했습니다.


mPDF 버전 2.0 을 사용해 보지 않으 시겠습니까? 나는 그것을 PDF 문서를 만들 때 사용했다. 그것은 잘 작동합니다.

한편 mPDF는 버전 5.7이며 HTML2PS / HTML2PDF와는 달리 적극적으로 유지 관리됩니다.

그러나 문서는 실제로 처리하기가 어려울 수 있음을 명심하십시오. 예를 들어, https://mpdf.github.io/ 에서이 페이지를보십시오.

html에서 pdf에 이르는 매우 기본적인 작업은이 라이브러리로 수행 할 수 있지만보다 복잡한 작업은 문서를 읽고 이해하는 데 다소 시간이 걸립니다.


외부 라이브러리없이 php ( 파트 1 , 파트 2 )에서 pdf를 생성하는 Zend의 devzone에 대한 자습서가 있습니다. 필자는 이런 종류의 솔루션을 구현 한 적이 없지만 모든 PHP를 사용하기 때문에 구현 및 디버깅을보다 유연하게 수행 할 수 있습니다.


이 질문은 이미 꽤 오래되었지만 CutyCapt 대해 언급 한 사람은 본 적이 없습니다. :)

CutyCapt

CutyCapt 는 웹 페이지를 SVG, PDF, PS, PNG, JPEG, TIFF, GIF 및 BMP를 비롯한 다양한 벡터 및 비트 맵 형식으로 렌더링하는 작은 교차 플랫폼 명령 줄 유틸리티입니다


이미 언급되었지만, mpdf가 가장 쉽고, 강력하며, 무료로 제공되는 html to pdf 변환기라는 것을 확인하고 싶습니다. 하늘은 정말로 한계입니다. 동적 사용자 생성 데이터의 pdfs를 생성 할 수도 있습니다.

예를 들어, 고객이 CMS 시스템을 원했기 때문에 클럽에서 연주 한 음악의 트랙 목록을 업데이트 할 수있었습니다. 문제가 없었지만 사용자가 재생 목록의 .pdf를 다운로드 할 수 있기를 원했기 때문에 다운로드 가능한 pdf도 CMS에서 업데이트해야했습니다. mpdf 덕분에, 몇 가지 간단한 루프와 산재 된 변수로 나는 그 일을 할 수있었습니다. 문자 그대로 몇 주일이 걸릴 것이라고 생각한 무언가가 나를 분 걸렸다.

내가 시작하는 데 도움이되는 위대한 article .


좋은 렌더링은 아무 의미도 없습니다. 그것을 확인합니까?

입력이 얼마나 나쁜지에 상관없이 모든 브라우저가 화면에 무엇인가를 보여줄 수있는 최대의 기능을합니다. 물론 그들은 같은 일을하지 않습니다. FireFox와 동일한 렌더링을 원한다면 렌더링 엔진을 사용할 수 있습니다. 거기에 대한 PDF 생성기가 있습니다. 그것은 끔찍한 일입니다.


처음에 오프닝 포스트에서 언급 한 HTML2PDF 및 HTML2PS 는이 link 가있는 2009 패키지에 대해 이야기하고있었습니다.

그러나 더 나은 HTML2PDF

부분적으로는 프랑스어이지만 TCPDF를 기반으로합니다.

페이지에서 반복되는 테이블 머리글 또는 바닥 글을 가질 수 있으며 페이지 번호와 전체 페이지가 있습니다. 그 예를 보라. 나는 3 년 이상 그것을 사용하고 그것을 추천했다.


필자는 DocRaptor ( PrinceXML 을 "엔진"으로 사용함)을 제안합니다.


wkhtmltopdf 살펴 wkhtmltopdf . 웹킷과 무료로 제공되는 오픈 소스입니다.

우리는 here 작은 자습서를 썼습니다.

편집 (2017) :

오늘 무언가를 만드는 것이었다면 더 이상 그 길을 가지 않을 것입니다.
그러나 대신 http://pdfkit.org/ 를 사용할 것입니다.
브라우저에서 실행하기 위해 모든 nodejs 종속성을 제거합니다.


PHP 는 아니지만, Java 라이브러리 를 사용합니다.

Flying Saucer는 XML 또는 XHTML을 사용하고 CSS 2.1 호환 스타일 시트를 적용하여 PDF로 렌더링합니다.

PHP 에서 system() 또는 유사한 호출을 통해 사용할 수 있습니다. 그것은 inputXML 정형성 을 필요로하지만.


좋은 소식! Snappy !!

스냅은 URL이나 HTML 페이지에서 축소판, 스냅 샷 또는 PDF 생성을 허용하는 매우 쉬운 오픈 소스 PHP5 라이브러리입니다. 그리고 ... 훌륭한 웹킷 기반 wkhtmltopdf

즐겨! ^ _ ^





pdf-generation