web-dev-qa-db-pt.com

Gerando arquivos PDF com JavaScript

Estou tentando converter dados XML em PDF arquivos de uma página da web e esperava poder fazer isso totalmente em JavaScript. Eu preciso ser capaz de desenhar texto, imagens e formas simples. Eu adoraria poder fazer isso inteiramente no navegador.

235
amoeba

Acabei de escrever uma biblioteca chamada jsPDF que gera PDFs usando apenas o Javascript. Ainda é muito novo e adicionarei recursos e correções de bugs em breve. Também tenho algumas ideias para soluções alternativas em navegadores que não suportam URIs de dados. É licenciado sob uma licença liberalMIT.

Eu me deparei com essa pergunta antes de começar a escrevê-la e pensei em voltar e avisá-lo :)

gerar PDFs em Javascript

Exemplo crie um arquivo "Hello World" PDF.

// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()

doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
393
James Hall

Outra biblioteca javascript que vale a pena mencionar é pdfmake .

O suporte ao navegador não parece ser tão forte quanto o jsPDF, nem parece haver uma opção para formas, mas as opções para formatação de texto são mais avançadas do que as opções atualmente disponíveis no jsPDF.

120
mg1075

Eu mantenho PDFKit , que também dá poder ao pdfmake (já mencionado aqui). Ele funciona tanto no Node quanto no navegador, e suporta um monte de coisas que outras bibliotecas não:

  • Incorporação de fontes com subconjunto, com suporte para unicode.
  • Muitas coisas de layout de texto avançado (colunas, quebra de página, quebra de linha unicode completa, texto rico básico, etc.).
  • Trabalhando com mais fontes para tipografia avançada (ligaturas OpenType/AAT, substituição contextual, etc.). Em breve: veja o ramo do fontkit se estiver interessado.
  • Mais material gráfico: gradientes, etc.
  • Construído com ferramentas modernas, como browserify e streams. Utilizável tanto no navegador como no nó.

Confira http://pdfkit.org/ para um tutorial completo para ver você mesmo o que o PDFKit pode fazer. E para um exemplo de quais tipos de documentos podem ser produzidos, confira os documentos como PDF generated de alguns arquivos Markdown usando o próprio PDFKit: http: // pdfkit.org/docs/guide.pdf .

Você também pode experimentá-lo interativamente no navegador aqui: http://pdfkit.org/demo/browser.html .

52
devongovett

Outro projeto interessante é texlive.js .

Ele permite que você compile (La) TeX para PDF no navegador.

7
Kpym

Você pode usar este serviço gratuito adicionando um link que cria pdf a partir de qualquer URL (por exemplo, http://www.phys.org ):

http://freehtmltopdf.com/?convert=http%3A%2F%2Fwww.phys.org&size=US_Letter&orientation=portrait&framesize=800&language=en

2
boateng