Índice
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.
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(); } } }
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.