2011-09-25 2 views
5

동일한 주제에 대한 여러 게시물에서 내 질문에 대한 답변을 찾을 수 없었기 때문에 여기에서 더 구체적인 질문을 할 것입니다.wkhtmltopdf 대 fpdf 및 사용 및 성능에 관한 질문 (HTML에서 PDF로)

내 질문은 wkhtmltopdf 및 fpdf에 관한 질문입니다. 나는 그것들 중 하나가 매우 작은 PDF 문서 그래서 1 페이지 인보이스 (정말 기본 디자인)와 1 페이지 보고서 (기본 디자인뿐만 아니라)를 만들 필요합니다.

대부분의 사람들은 성능 때문에 wkhtmltopdf를 권장하지만 작은 1 페이지 문서의 경우 실제로는 fpdf와 다른 점이 있습니까? 정말 적은 메모리를 소비합니까? 빨리?

바보 같은 질문이지만 wkhtmltopdf를 한 번에 여러 번 실행할 수 있는지 알아야합니다. 즉, 내 사이트에 1000 명의 사용자가 동시에 청구서를 PDF에 저장하려고한다면 어떻게됩니까? 제한이 있습니까, 어떻게 작동합니까? 나는 fpdf가 php 클래스라는 것을 안다. 그래서 나는 이것에 대해 "걱정할 필요가 없다"(필자가 생각한 적절한 php.ini 구성 만 필요함).

무엇을 제안하겠습니까? 작은 PDF 문서지만 동시에 많은 요청을 처리 할 수있는 고성능.

다른 옵션이 있습니까?

도움 주셔서 감사합니다.

답변

9

짧은 대답은 예입니다. wkhtmltopdf의 여러 인스턴스를 동시에 생성하여 각각의 html 페이지를 pdf로 변환 할 수 있습니다. 그러나 wkhtmltopdf는 운영 체제 프로세스로 실행됩니다. 즉, 1000 명의 사용자가 동시에 청구서를 보는 경우 1000 개의 wkhtmltopdf 프로세스가 서버에서 생성되며 이는 사용자가 원하지 않는 것일 수 있습니다.

반면에 FPDF는 PHP 런타임 내부에서 웹 서버 프로세스의 일부로 실행되며이 제한이 없습니다. 작거나 큰 인보이스를 작성하는 경우 FPDF를 사용하여 송장을 작성하는 것이 매우 쉽기 때문에 FPDF를 사용할 것을 제안합니다. PDF 페이지 레이아웃을 제어 할 수있을뿐 아니라 나중에 유지 관리/업그레이드 중에도 시간을 절약 할 수 있습니다.

wkhtmltopdf에서 발생한 문제 중 하나는 페이지 분리입니다. Wkhtmltopdf는 예상대로 페이지를 손상시키지 않습니다. 예를 들어 텍스트 줄은 한 페이지 끝 부분에 나타나는 텍스트 줄의 위쪽 부분과 다음 페이지의 시작 부분에 나타나는 아래 부분 부분으로 나눌 수 있습니다. 이 동작을 피하기 위해서는 html 페이지에서 css 속성을 page-break-after 또는 page-break-before로 설정해야합니다. html 페이지는 어디에서 페이지가 깨질 지 모르기 때문에 언젠가는 어려울 수 있습니다.

+0

감사합니다. Indra, 그건 내가 찾고있는 답변이었고 정보/세부 정보에 감사드립니다. – Mike

관련 문제