IRONSOFTWAREHOME
FERRAMENTAS DE PDF

Como criar arquivos PDF em JavaScript

Curtis Chau
Curtis Chau
Updated: 11 de dezembro de 2025

No âmbito do compartilhamento de documentos, o formato PDF (Portable Document Format), pioneiro da Adobe, desempenha um papel crucial na preservação da integridade de conteúdo rico em texto e visualmente atraente. Acessar um arquivo PDF online geralmente requer um programa específico. No cenário digital atual, os arquivos PDF tornaram-se indispensáveis ​​para diversas publicações importantes. Muitas empresas dependem de arquivos PDF para criar documentos profissionais e faturas. Além disso, os desenvolvedores frequentemente utilizam bibliotecas de criação de PDFs para atender a requisitos específicos dos clientes. O processo de geração de PDFs foi simplificado com o surgimento das bibliotecas modernas. Ao selecionar a biblioteca mais adequada para um projeto que envolva a geração de PDFs, é essencial considerar fatores como recursos de criação, leitura e conversão, garantindo uma integração perfeita e um desempenho ideal.

Bibliotecas JavaScript

Considere, por exemplo, o cenário em que desejamos que o cliente possa baixar e imprimir uma cópia da nossa fatura em PDF sem esforço. Além disso, é crucial para nós manter o layout preciso da fatura e garantir uma qualidade de impressão impecável.

Nesta seção, vamos explorar uma série de bibliotecas JavaScript altamente conceituadas que se destacam na conversão e criação de documentos HTML para PDF, fornecendo ferramentas versáteis para a geração e conversão de documentos de forma eficiente e precisa.

1. PDFKit

O PDFKit foi uma biblioteca de PDF que esteve entre as primeiras a ser lançada no vasto ecossistema de bibliotecas JavaScript . Sua popularidade cresceu significativamente desde o lançamento inicial em 2012 e, em 2021, ainda recebia atualizações regulares.

Utilizando o Webpack, o PDFKit oferece suporte tanto para bibliotecas Node quanto para navegadores web, sendo possível o uso de fontes personalizadas e a incorporação de imagens.

No entanto, como veremos na comparação, algumas bibliotecas PDF são, na prática, apenas wrappers do PDFKit e talvez um pouco mais fáceis de usar do que o próprio PDFKit.

Não existe uma API de alto nível disponível para o PDFKit. A documentação também costuma ser difícil. Como seria de esperar, leva algum tempo para se acostumar, e você pode descobrir que gerar PDFs usando JavaScript nem sempre é a tarefa mais fácil.

// Requiring the necessary modules for file system and PDF document creation.
const fs = require('fs');
const PDFDocument = require('pdfkit');

// Create a new PDF document instance
const doc = new PDFDocument();

// Add text content to the PDF document
doc.text('Hello world!');

// Define the output file location and start writing the PDF content to it
doc.pipe(fs.createWriteStream('Demo.pdf'));

// Finalize the PDF file
doc.end();
JavaScript

2. pdfmake

Ao contrário do PDFKit, que usa o método imperativo convencional para gerar algo, o pdfmake usa uma abordagem declarativa. Consequentemente, o uso da biblioteca pdfmake torna mais simples concentrar-se na funcionalidade pretendida da produção de PDF, em vez de perder tempo ensinando a biblioteca a alcançar um determinado resultado.

É crucial ter em mente que, embora certas soluções possam parecer promissoras, elas podem não ser perfeitas. Um exemplo disso é a integração de fontes personalizadas com o pdfmake ao utilizar o Webpack, o que pode potencialmente causar problemas. Infelizmente, existe pouca documentação online disponível sobre esse problema específico. No entanto, se você não estiver utilizando o Webpack, pode facilmente clonar o repositório Git e executar o script de incorporação de fontes para superar quaisquer obstáculos potenciais associados à integração de fontes personalizadas.

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.56/pdfmake.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.56/vfs_fonts.js"></script>
</head>
<body>
    <script type="text/javascript">
        // Function to create and print a PDF document
        function CreatePdf() {
            // Define document content and styles
            var docDefinition = {
                content: [
                    { text: "Hello world" } // Text content to be included in the PDF
                ],
                defaultStyle: {}
            };
            // Create and print the PDF using pdfMake library
            pdfMake.createPdf(docDefinition).print();
        }
    </script>
    <!-- Button to trigger PDF creation and printing -->
    <button onclick="CreatePdf()">Print pdf</button>
</body>
</html>
HTML

Como Criar Arquivos PDF em JavaScript: Figura 1

3. IronPDF

O IronPDF foi criado para facilitar a criação, a navegação e a edição de documentos PDF por parte dos desenvolvedores. Ele funciona como um poderoso conversor de PDF e oferece uma API básica para criar, editar e processar arquivos PDF.

IronPDF for Node.js simplifica o processo de criação e personalização programática de documentos PDF. Desenvolvido pela Iron Software, um fornecedor confiável de bibliotecas de processamento de documentos de alto desempenho, o IronPDF oferece uma solução robusta para geração de PDFs em ambientes Node.js Ele se integra perfeitamente a projetos Node.js , fornecendo aos desenvolvedores ferramentas poderosas para gerar, formatar e editar PDFs com facilidade.

A biblioteca IronPDF possui uma ampla gama de recursos, incluindo a capacidade de dividir e combinar páginas em documentos PDF novos ou existentes, ler e editar arquivos PDF existentes, extrair imagens de arquivos PDF, adicionar texto, gráficos, marcadores, marcas d'água, cabeçalhos e rodapés a arquivos PDF, tudo sem a necessidade do Acrobat Reader. A partir de arquivos CSS e de mídia CSS, é possível gerar documentos PDF. O IronPDF permite que os usuários criem, carreguem e atualizem formulários PDF, tanto novos quanto já existentes.

Principais funcionalidades do IronPDF for Node.js: Geração versátil de PDFs: Com o IronPDF, os desenvolvedores podem gerar PDFs a partir de diversas fontes, incluindo HTML, CSS, JavaScript, imagens e outros tipos de arquivo. Essa flexibilidade permite a criação de documentos PDF dinâmicos e visualmente atraentes, adaptados a requisitos específicos.

  • Personalização avançada de documentos: o IronPDF permite que os desenvolvedores aprimorem documentos PDF com recursos como cabeçalhos, rodapés, anexos, assinaturas digitais, marcas d'água e marcadores. Isso permite a criação de PDFs de nível profissional com conteúdo rico e elementos interativos.
  • Recursos de segurança: O IronPDF oferece recursos de segurança robustos para proteger PDFs contra acesso não autorizado. Os desenvolvedores podem implementar medidas de segurança como senhas, assinaturas digitais, metadados e outras configurações de segurança para proteger informações confidenciais contidas em documentos PDF.
  • Desempenho otimizado: O IronPDF foi projetado para oferecer desempenho ideal, apresentando suporte completo a multithreading e operações assíncronas. Isso garante a geração eficiente de PDFs, tornando-os adequados para aplicações de missão crítica onde o desempenho é fundamental.
  • Conjunto abrangente de recursos: Com mais de 50 recursos para criar, formatar e editar documentos PDF, o IronPDF oferece uma solução completa para todas as tarefas relacionadas a PDFs. Desde a geração básica de documentos até a personalização e segurança avançadas, o IronPDF oferece uma ampla gama de recursos para atender às necessidades dos desenvolvedores.

O código abaixo demonstra como usar JavaScript para renderizar HTML em um arquivo PDF com qualidade de imagem perfeita:

import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
    // HTML content containing JavaScript to be executed upon rendering
    const htmlWithJavaScript = `<h1>This is HTML</h1>
    <script>
        document.write('<h1>This is JavaScript</h1>');
        window.ironpdf.notifyRender(); // Notify IronPDF when rendering is done
    </script>`;

    // Rendering options to enable JavaScript
    const renderOptions = {
        enableJavaScript: true,
    };

    // Render HTML content to a PDF
    const pdf = await PdfDocument.fromHtml(htmlWithJavaScript, { renderOptions });

    // Save the PDF to a file
    await pdf.saveAs("javascript-in-html.pdf");
})();
JavaScript

Você também pode executar JavaScript personalizado que modifica facilmente a aparência do conteúdo HTML:

import { PdfDocument } from "@ironsoftware/ironpdf";

(async () => {
    // JavaScript code to change the text color of header tags to red
    const javascriptCode = "document.querySelectorAll('h1').forEach(function(el){ el.style.color = 'red'; })";

    // HTML content which will be affected by the custom JavaScript
    const htmlContent = "<h1>Happy New Year!</h1>";

    // Rendering options to enable and apply the custom JavaScript
    const renderOptions = {
        enableJavaScript: true,
        javascript: javascriptCode,
    };

    // Render HTML content to a PDF
    const pdf = await PdfDocument.fromHtml(htmlContent, { renderOptions });

    // Save the PDF with the applied JavaScript effects
    await pdf.saveAs("executed_js.pdf");
})();
JavaScript

Como Criar Arquivos PDF em JavaScript: Figura 2

Ao clicar no botão de download, o arquivo PDF será baixado, conforme mostrado na página do PDF na imagem acima. O arquivo PDF gerado será semelhante ao mostrado abaixo.

Como Criar Arquivos PDF em JavaScript: Figura 3

Conclusão

É importante mencionar que, quando utilizado por terceiros, o código JavaScript mostrado acima apresenta potencial para uso indevido e problemas de segurança. É crucial considerar os riscos, como acesso não autorizado e vulnerabilidades de segurança de dados, ao inserir esse tipo de código em uma página ou site da web. Além disso, é importante levar em conta a necessidade de oferecer suporte a navegadores desatualizados que podem não ter todos os recursos necessários, bem como problemas de compatibilidade com diversos sistemas e navegadores.

O IronPDF está disponível não apenas para Node.js , mas também para outras plataformas populares, incluindo .NET , Java e Python . Essa disponibilidade multiplataforma garante consistência e flexibilidade para desenvolvedores que trabalham com diferentes conjuntos de tecnologias. Com seu conjunto robusto de recursos, integração perfeita e desempenho impecável, o IronPDF é uma ferramenta valiosa para desenvolvedores que buscam otimizar a geração de PDFs em seus projetos Node.js

Para atender às diversas demandas dos desenvolvedores, a biblioteca oferece uma variedade de opções de licenciamento, incluindo uma licença de avaliação gratuita e licenças adicionais para desenvolvedores que podem ser adquiridas. O pacote $999 Lite vem com uma licença permanente, uma garantia de devolução do dinheiro em 30 dias, um ano de suporte de software e opções de atualização. Não há despesas adicionais além da compra inicial.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.