Tabla de contenido
Instalado a través de NuGet
PM> Install-Package Spire.PDF
enlaces relacionados
La creación de documentos PDF a partir de código ofrece una amplia gama de beneficios. Por ejemplo, puede incorporar fácilmente contenido dinámico, como entradas de usuarios, registros de bases de datos o datos en tiempo real. La generación de PDF basada en código permite una mayor personalización y automatización, minimizando la intervención manual en la creación de documentos altamente personalizados. En este artículo, aprenderá cómo crear un documento PDF desde cero en C# y VB.NET utilizando Spire.PDF for .NET.
Instalar Spire.PDF for .NET
Para empezar, debe agregar los archivos DLL incluidos en el paquete Spire.PDF for .NET como referencias en su proyecto .NET. Los archivos DLL se pueden descargar desde este enlace o instalar a través de NuGet.
PM> Install-Package Spire.PDF
Conocimiento de fondo
Una página en Spire.PDF (representada por PdfPageBase) consiste en un área de cliente y márgenes alrededor. El área de contenido es para que los usuarios escriban varios contenidos, y los márgenes suelen ser bordes en blanco.
Como se muestra en la figura a continuación, el origen del sistema de coordenadas en la página se encuentra en la esquina superior izquierda del área del cliente, con el eje x extendiéndose horizontalmente hacia la derecha y el eje y extendiéndose verticalmente hacia abajo. Todos los elementos agregados al área del cliente deben basarse en las coordenadas especificadas.
Además, la siguiente tabla enumera las clases y los métodos importantes, que pueden ayudarlo a comprender fácilmente el fragmento de código proporcionado en la siguiente sección.
Miembro | Descripción |
clase PdfDocument | Representa un modelo de documento PDF. |
clase PdfPageBase | Representa una página en un documento PDF. |
Clase PdfSolidBrush | Representa un pincel que rellena cualquier objeto con un color sólido. |
Clase PdfTrueTypeFont | Representa una fuente de tipo verdadero. |
Clase PdfStringFormat | Representa información de formato de texto, como alineación, espaciado entre caracteres y sangría. |
clase PdfTextWidget | Representa el área de texto con la capacidad de abarcar varias páginas. |
class PdfTextLayout | Representa la información de diseño del texto. |
Método PdfDocument.Pages.Add() | Agrega una página a un documento PDF. |
Método PdfPageBase.Canvas.DrawString() | Dibuja una cadena en una página en la ubicación especificada con la fuente y los objetos de pincel especificados. |
Método PdfTextWidget.Draw() | Dibuja el widget de texto en una página en la ubicación especificada. |
Método PdfDocument.Save() | Guarda el documento en un archivo PDF. |
Cree un documento PDF desde cero en C# y VB.NET
Aunque Spire.PDF for .NET admite la adición de varios tipos de elementos a los documentos PDF, este artículo solo muestra cómo crear un documento PDF con texto sin formato. Los siguientes son los pasos detallados.
- Cree un objeto PdfDocument.
- Agrega una página usando el método PdfDocument.Pages.Add().
- Cree pinceles y objetos de fuente.
- Dibuje una cadena en la página en una coordenada especificada utilizando el método PdfPageBase.Canvas.DrawString().
- Cree un objeto PdfTextWidget para contener un fragmento de texto.
- Dibuje el widget de texto en la página en una ubicación específica utilizando el método PdfTextWidget.Draw().
- Guarde el documento en un archivo PDF utilizando el 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 una Licencia Temporal
Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.