
La generación y el procesamiento automatizados de documentos PDF se han convertido en una característica exigente en los últimos días. En varias aplicaciones, los documentos PDF se generan dinámicamente, como facturas, recibos y diferentes tipos de informes. De acuerdo con eso, este artículo cubre la implementación básica de la automatización de PDF dentro de las aplicaciones .NET. En última instancia, aprenderá a crear archivos PDF usando C#. Los ejemplos de código demostrarán cómo insertar texto, imágenes, tablas y otros componentes en PDF usando C#.
- C# PDF API - Descarga gratuita
- Crear archivos PDF en C#
- Editar PDF existente en C#
- Insertar imagen en PDF usando C#
- Crear una tabla en PDF usando C#
- Crear un formulario en PDF en C#
C# .NET PDF API - Descarga gratuita
Aspose.PDF for .NET es una API de manipulación de archivos PDF que le permite generar y procesar archivos PDF desde sus aplicaciones .NET. Con la API, puede generar varios tipos de informes y documentos comerciales de forma dinámica. La API está disponible como DLL descargable y alojada en NuGet.
Install-Package Aspose.Pdf
Crear archivos PDF en C#
Comencemos por crear un documento PDF simple que contenga un fragmento de texto. Los siguientes son los pasos para crear un archivo PDF usando C#.
- Cree un objeto de la clase Document.
- Agregue una página al documento usando el método Document.Pages.Add().
- Cree un nuevo objeto TextFragment y establezca su texto.
- Agregue TextFragment a la colección Paragraphs de la página.
- Guarde el archivo PDF utilizando el método Document.Save(String).
El siguiente ejemplo de código muestra cómo crear un archivo PDF simple usando C#.
// Inicializar objeto de documento
Document document = new Document();
// Añadir página
Page page = document.Pages.Add();
// Agregar texto a la nueva página
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));
// Guardar PDF
document.Save("document.pdf");
Obtenga más información sobre la creación de documentos PDF complejos.
Editar un archivo PDF en C#
Modificar un archivo PDF es tan simple como crear uno nuevo. Simplemente cargue el archivo usando la clase Document, realice las operaciones deseadas y guárdelo. Los siguientes son los pasos para modificar un PDF.
- Cree un objeto de la clase Document y proporcione la ruta de un archivo PDF a su constructor.
- Manipular las páginas o el contenido del documento.
- Guarde el documento usando el método Document.Save().
El siguiente ejemplo de código muestra cómo modificar un PDF usando C#.
// Cargar PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");
// Realice alguna manipulación, por ejemplo, agregue una nueva página vacía
pdfDocument.Pages.Add();
// Guardar el PDF actualizado
pdfDocument.Save(modifiedFileName);
Insertar imagen en PDF usando C#
Veamos ahora cómo insertar una imagen en el documento PDF. Los siguientes son los pasos para hacerlo.
- Cree un objeto de la clase Document para abrir un documento PDF.
- Acceda a la página a la que desea agregar una imagen usando la clase Página.
- Agregue la imagen a la colección de Recursos de la página.
- Utilice operadores para colocar la imagen en la página:
- Guardar operator to save the current graphical state.
- ConcatenarMatriz operator to specify where the image is to be placed.
- Hacer operator to draw the image on the page.
- Finalmente, use el operador GRestore para guardar el estado gráfico actualizado.
- Guarde el archivo PDF.
El siguiente ejemplo de código muestra cómo agregar una imagen a un documento PDF usando C#.
// Abrir documento
Document pdfDocument = new Document("document.pdf");
// Establecer coordenadas
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 200;
int upperRightY = 200;
// Obtener la página donde se debe agregar la imagen
Page page = pdfDocument.Pages[1];
// Cargar imagen en flujo
FileStream imageStream = new FileStream("aspose-logo.jpg", FileMode.Open);
// Agregar imagen a la colección de imágenes de los recursos de la página
page.Resources.Images.Add(imageStream);
// Usando el operador GSave: este operador guarda el estado actual de los gráficos
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// Crear objetos Rectángulo y Matriz
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
Matrix matrix = new Matrix(new double[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });
// Usando el operador ConcatenateMatrix (matriz concatenada): define cómo se debe colocar la imagen
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Usando el operador Do: este operador dibuja la imagen
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// Usando el operador GRestore: este operador restaura el estado de los gráficos
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());
// Guardar documento actualizado
pdfDocument.Save("document.pdf");
Leer más sobre insertar imágenes en PDF.
Crear una tabla en PDF usando C#
Las tablas son un componente esencial de los documentos que se utilizan para organizar los datos en forma de filas y columnas. Aspose.PDF for .NET le proporciona una forma bastante sencilla de crear e insertar tablas en documentos PDF. Los siguientes son los pasos para realizar esta operación.
- Cargue el archivo PDF usando la clase Document.
- Inicialice una tabla y configure sus columnas y filas usando la clase Table.
- Establecer la configuración de la tabla (es decir, los bordes).
- Complete la tabla creando filas usando el método Table.Rows.Add().
- Agregue la tabla a la página usando el método Document.Pages1.Paragraphs.Add(Table).
- Guarde el archivo PDF.
El siguiente ejemplo de código muestra cómo crear y agregar una tabla en un documento PDF en C#.
// Cargar documento PDF de origen
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");
// Inicializa una nueva instancia de la tabla.
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// Establezca el color del borde de la tabla como LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Establecer el borde de las celdas de la tabla
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Crea un bucle para agregar 10 filas
for (int row_count = 1; row_count < 10; row_count++)
{
// Agregar fila a la tabla
Aspose.Pdf.Row row = table.Rows.Add();
// Agregar celdas de tabla
row.Cells.Add("Column (" + row_count + ", 1)");
row.Cells.Add("Column (" + row_count + ", 2)");
row.Cells.Add("Column (" + row_count + ", 3)");
}
// Agregar objeto de tabla a la primera página del documento de entrada
doc.Pages[1].Paragraphs.Add(table);
// Guardar documento actualizado que contiene objeto de tabla
doc.Save("document_with_table_out.pdf");
Lea más sobre crear tablas en PDF.
Crear un formulario en PDF en C#
Los formularios en PDF se utilizan para recopilar los datos de los lectores. Puede insertar cuadros de texto, casillas de verificación, botones de radio y otros controles admitidos en formularios PDF. El formato PDF admite dos tipos de formularios; Formularios Acro y formularios XFA (ver detalles). Los siguientes son los pasos para crear y agregar formularios en un PDF.
- Cargue el archivo PDF usando la clase Document.
- Cree controles de formulario como TextBoxField.
- Agregue control al formulario usando el método Document.Form.Add(textBoxField, 1).
- Guarde el documento PDF.
El siguiente ejemplo de código muestra cómo agregar formularios al documento PDF usando C#.
// Abrir documento
Document pdfDocument = new Document("document.pdf");
// crear un campo
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";
// TextBoxField.Border = nuevo borde (
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;
textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);
// Agregar campo al documento
pdfDocument.Form.Add(textBoxField, 1);
// Guardar PDF modificado
pdfDocument.Save("output.pdf");
Lea más sobre crear formularios en PDF.
Conclusión
En esta publicación, ha aprendido cómo crear archivos PDF desde cero usando C#. Además, ha llegado a saber cómo insertar varios tipos de componentes, como texto, imágenes, tablas y formularios en un documento PDF mediante programación. Puede obtener más información sobre la API de PDF utilizando la documentación.
Ver también
Información: Aspose proporciona una aplicación web en línea gratuita que le permite ver archivos PDF en línea, otra que le permite convertir archivos PDF a video y otra que le permite editar archivos PDF en línea.