C#/VB.NET: Criar um documento PDF

2023-08-18 02:09:54

Instalado via NuGet

PM> Install-Package Spire.PDF

Links Relacionados

A criação de documentos PDF a partir do código oferece uma ampla gama de benefícios. Por exemplo, você pode incorporar facilmente conteúdo dinâmico, como entrada do usuário, registros de banco de dados ou dados em tempo real. A geração de PDF baseada em código permite maior personalização e automação, minimizando a intervenção manual na criação de documentos altamente personalizados. Neste artigo, você aprenderá como criar um documento PDF do zero em C# e VB.NET usando Spire.PDF for .NET.

Instalar o Spire.PDF for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.PDF for.NET como referências em seu projeto .NET. Os arquivos DLLs podem ser baixados deste link ou instalados via NuGet.

PM> Install-Package Spire.PDF

Conhecimento prévio

Uma página em Spire.PDF (representada por PdfPageBase) consiste na área do cliente e nas margens ao redor. A área de conteúdo é para os usuários escreverem vários conteúdos e as margens geralmente são bordas em branco.

Conforme mostrado na figura abaixo, a origem do sistema de coordenadas na página está localizada no canto superior esquerdo da área do cliente, com o eixo x estendendo-se horizontalmente para a direita e o eixo y estendendo-se verticalmente para baixo. Todos os elementos adicionados à área do cliente devem ser baseados nas coordenadas especificadas.

C#/VB.NET: Create a PDF Document

Além disso, a tabela a seguir lista as classes e métodos importantes, que podem ajudá-lo a entender facilmente o trecho de código fornecido na seção a seguir.

Membro Descrição
classe PDFDocument Representa um modelo de documento PDF.
Classe PdfPageBase Representa uma página em um documento PDF.
classe PdfSolidBrush Representa um pincel que preenche qualquer objeto com uma cor sólida.
Classe PDFTrueTypeFont Representa uma fonte true type.
Classe PDFStringFormat Representa informações de formato de texto, como alinhamento, espaçamento de caracteres e recuo.
Classe PDFTextWidget Representa a área de texto com a capacidade de abranger várias páginas.
Classe PDFTextLayout Representa as informações de layout de texto.
Método PdfDocument.Pages.Add() Adiciona uma página a um documento PDF.
Método PdfPageBase.Canvas.DrawString() Desenha uma string em uma página no local especificado com fontes e objetos de pincel especificados.
Método PdfTextWidget.Draw() Desenha o widget de texto em uma página no local especificado.
Método PdfDocument.Save() Salva o documento em um arquivo PDF.

Crie um documento PDF do zero em C# e VB.NET

Embora o Spire.PDF for .NET suporte a adição de vários tipos de elementos a documentos PDF, este artigo apenas demonstra como criar um documento PDF com texto simples. A seguir estão as etapas detalhadas.

  • Crie um objeto PdfDocument.
  • Adicione uma página usando o método PdfDocument.Pages.Add().
  • Crie objetos de pincel e fonte.
  • Desenhe string na página em uma coordenada especificada usando o método PdfPageBase.Canvas.DrawString().
  • Crie um objeto PdfTextWidget para armazenar um pedaço de texto.
  • Desenhe o widget de texto na página em um local especificado usando o método PdfTextWidget.Draw().
  • Salve o documento em um arquivo PDF usando o método PdfDocument.Save().
  • C#
  • VB.NET
using Spire.Pdf;
    using Spire.Pdf.Graphics;
    using System.Drawing;
    
    namespace CreatePdfDocument
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a PdfDocument object
                PdfDocument doc = new PdfDocument();
    
                //Add a page
                PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f));
    
                //Specify heading text
                String titleText = "What is MySQL";
    
                //Create solid brushes
                PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue));
                PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black));
    
                //Create true type fonts
                PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Times New Roman", 18f, FontStyle.Bold),true);
                PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true);
    
                //Set the text alignment via PdfStringFormat class
                PdfStringFormat format = new PdfStringFormat();
                format.Alignment = PdfTextAlignment.Center;
    
                //Draw heading on the center of the page
                page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format);
    
                //Get paragraph content from a .txt file
                string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt");
    
                //Create a PdfTextWidget object to hold the paragrah content
                PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush);
    
                //Create a rectangle where the paragraph content will be placed
                RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height);
    
                //Set the PdfLayoutType to Paginate to make the content paginated automatically
                PdfTextLayout layout = new PdfTextLayout();
                layout.Layout = PdfLayoutType.Paginate;
    
                //Draw the widget on the page
                widget.Draw(page, rect, layout);
    
                //Save to file
                doc.SaveToFile("CreatePdfDocument.pdf");
                doc.Dispose();
            }
        }
    }

C#/VB.NET: Create a PDF Document

Solicitar uma licença temporária

Se você deseja remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também