Qual é o melhor PDF-API para PHP? [fechadas]


110

Qual destes é o melhor PDF-API para PHP?


6
esta outra questão parece ter sido removida do StackOverflow agora.
— rineez

Eu conheço sua velha questão, mas eu preferiria MDF, ele pode lidar com qualquer html complexo, excluindo alguns pontos que já são contados por mdf em mpdf1.com/mpdf/limitations
— dev.meghraj

Respostas:


53

Pessoalmente, prefiro usar o tcpdf, que é uma versão avançada e mantida do fpdf.


12
você não especificou razões - uma grande delas é o suporte Unicode em tcpdf, que fpdf totalmente carece. O tcpdf também é mantido ativamente. e também tem uma arquitetura OO decente. conselho: fpdf é basicamente uma coisa antiga que foi substituída por tcpdf.
— zanlok

2
O tcpdf não contém recursos essenciais, como incorporação e subconjunto de fontes (importante para idiomas asiáticos).
— velcrow

2
Acabei de verificar o site tcpdf e ele parece oferecer suporte a subconjuntos e incorporação de fontes. veja o argumento do subconjunto do método SetFont tcpdf.org/fonts.php
— Nerrve

1
tcpdf estava tendo alguns problemas quando usei com fontes unicode urdu.
— rineez

1
Se você chamar uma única classe com 24k linhas de código de "OO decente", você deve estar alto. Verifique minha versão refatorada do FPDF para OOP real: github.com/bubach/PdfBuilder
— Christoffer Bubach

39

Do site mpdf : "mPDF é uma classe PHP que gera arquivos PDF a partir de HTML codificado em UTF-8. É baseado em FPDF e HTML2FPDF, com uma série de melhorias."

mpdf é superior a FPDF para manipulação de linguagem e suporte UTF-8. Para suporte CJK, ele não suporta apenas incorporação de fontes, mas também subconjuntos de fontes (para que seus PDFs CJK não sejam superdimensionados). TCPDF e FPDF não têm suporte para UTF-8 e Font do mpdf. Ele ainda vem com algumas fontes de código aberto a partir da versão 5.0.


31

Esta é apenas uma revisão rápida de como o fPDF se compara ao tcPDF na área de desempenho nas funções mais básicas de cada biblioteca.

TESTE RÁPIDO

17,0366 segundos para processar 2.000 arquivos PDF usando fPDF || 79,5982 segundos para processar 2.000 arquivos PDF usando tcPDF

VERIFICAÇÃO DE TAMANHO DO ARQUIVO (em bytes)

788 fPDF || 1.860 tcPDF

O código usado era o mais idêntico possível e renderiza apenas um arquivo PDF limpo, sem texto. Também está usando a versão mais recente de cada biblioteca em 22 de junho de 2011.


5
Há uma série de melhorias de desempenho que podem melhorar muito a velocidade do TCPDF (passei de 1 minuto na criação de um único arquivo para cerca de 0,5 segundo): tcpdf.org/performances.php
— Dan Smart

1
Essas "melhorias" funcionarão igualmente bem com FPDF e não ajudarão realmente em um benchmark. TCPDF tem cerca de 24.000 linhas de código, enquanto FPDF tem cerca de 2.400 linhas de código.
— Christoffer Bubach

Atualize o link do @DanSmart
— Albert

22

Achei o mpdf melhor do que o tcpdf em termos de renderização de html. Ele pode analisar estilos css muito melhor e criar PDFs muito semelhantes ao html original.

mpdf ainda suporta coisas css como raio de borda e gradiente etc.

Estou surpreso ao ver por que mpdf é tão menos falado quando se trata de html para pdf.

Confira os exemplos aqui http://www.mpdf1.com/mpdf/index.php?page=Examples

Achei útil para criar faturas, recibos e impressões simples, etc. No entanto, o próprio site diz que os PDFs gerados a partir de mpdf tendem a ser maiores.


2
O link está quebrado. Este pode ser um novo link: mpdf1.com/mpdf/index.php?page=Examples
— Stefan

Atualização de agosto de 2019: use como referência mpdf.github.io
— CodeJunkie

mpdf, infelizmente, não parece lidar bem com células de tabelas grandes. Assim que o conteúdo ultrapassa uma página, ele começa a diminuir, o que o torna inútil para qualquer projeto que tenha grandes tabelas. Além disso; é fácil de usar, tem desempenho e é bem documentado.
— zumek


11

Pessoalmente, prefiro usar o dompdf para páginas PDF simples, pois é muito rápido. você simplesmente alimenta-o com um código-fonte HTML e ele irá gerar a página necessária.

no entanto, para designs mais complexos, prefiro o pdflib mais clássico, que está disponível como pecl para PHP. ele tem maior controle sobre os designs e permite que você faça designs mais complexos, como formas perfeitas em pixels.


Mas há uma desvantagem de usar dompdf é que ele não funciona se você quiser criar vários PDFs de uma vez ou em um loop.
— hmjha

5

http://sourceforge.net/projects/html2ps/ , é o melhor se você precisa de css e 3c compatíveis.

se você pode instalar software em seu servidor, sugiro que use http://wkhtmltopdf.org/ .

Também existe um módulo drupal usando wkhtmltopdf :)

PHP consome muitos recursos para converter html em pdf, imho, php não é a linguagem certa para fazer isso (se você espera um grande número de coversion ou grandes arquivos para converter)


Eu voto positivamente para wkhtmltopdf, mas especialmente ao usar um método como o emprego de um conversor externo, o PHP não é o culpado pela perda de velocidade. Eu acho que usar wkhtmltopdf ou prince de asp.net seria praticamente tão rápido quanto em PHP (embora eu use asp.net). Claro, o PHP não tem todo o controle de processo do .net, mas aposto que ainda funciona rápido o suficiente para a maioria dos projetos
— Joel Peltonen

4

O Zend_Pdf do Zend Framework é realmente bom. Está no mesmo nível do pdflib em termos de controle de produção e complexidade e é mais portátil porque é uma solução pura de php. Dito isso, é mais lento e usa mais memória do que o pdflib. Módulos Pecl são sempre mais eficientes do que uma solução php.

DOMPdf é a maneira mais fácil de fazer um PDF rapidamente. Como Mike disse, alimente-o com html e ele produzirá um pdf. Sob o capô, ele tem a opção de usar r & ospdf ou pdflib como mecanismo de renderização.


1
O Zend PDF tem problemas significativos (problemas de desempenho se você incorporar PNGs com transparências) [ framework.zend.com/issues/browse/ZF-3392] . Além disso, o Zend PDF é uma ferramenta muito ruim para alterar metadados em PDFs de terceiros, pois não consegue lidar com nada próximo ao padrão PDF completo e trava. No entanto, se você não precisar desses recursos, o Zend PDF funciona muito bem e tem um bom suporte a UTF-8.
— chrishiestand

3

Eu pessoalmente gero XSL: FO a partir de PHP e uso o Apache FOP para convertê-lo em PDF. Não é uma solução nativa de PHP, nem muito eficiente, mas funciona bem mesmo se você precisar gerar PDF com layouts muito complexos.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.