Los PDF de varias columnas se utilizan para varios tipos de publicaciones, como revistas, periódicos, artículos de investigación, etc. Mientras trabaja con la automatización de PDF, puede encontrarse con el escenario en el que necesita generar un PDF de varias columnas mediante programación. De acuerdo con eso, este artículo cubre cómo crear archivos PDF de varias columnas usando C#.
API de C# para crear archivos PDF de varias columnas
Aspose.PDF for .NET es una API potente y rica en funciones para crear y manipular documentos PDF. Usaremos esta API para crear archivos PDF de varias columnas usando C#. Puede descargar la API o instalarla usando NuGet.
PM> Install-Package Aspose.PDF
Cree un PDF de varias columnas con C#
Aspose.PDF for .NET hace que sea mucho más fácil para usted crear un archivo PDF de varias columnas. Los siguientes pasos crean un PDF de varias columnas desde cero.
- Cree un nuevo objeto Document.
- Configure los márgenes de la página usando las propiedades Document.PageInfo.Margin.Left y Document.PageInfo.Margin.Right.
- Agregue una nueva página en el PDF usando el método Documents.Pages.Add() y obtenga su referencia en un objeto Page.
- Cree un nuevo objeto Graph y agréguelo al párrafo usando el método Page.Paragraphs.Add().
- Cree una nueva Línea y agréguela a la colección Graph.Shapes.
- Agregue texto de encabezado a la página usando el método Page.Paragraphs.Add().
- Cree un nuevo FloatingBox y especifique el número de columnas, el espacio entre columnas y el ancho de columna.
- Cree otro objeto Chart.
- Agregue una nueva Línea a la colección Graph.Shapes.
- Agregue Graph a la colección FloatingBox.Paragraphs.
- Cree un nuevo TextFragment y agréguelo a la colección FloatingBox.Paragraphs.
- Agregue FloatingBox a la página usando el método Page.Paragraphs.Add().
- Guarde el archivo PDF utilizando el método Document.Save(string).
El siguiente ejemplo de código muestra cómo crear un PDF de dos columnas usando C#.
// Para obtener ejemplos completos y archivos de datos, vaya a https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Crear documento
Document doc = new Document();
// Especifique la información del margen izquierdo para el archivo PDF
doc.PageInfo.Margin.Left = 40;
// Especifique la información del margen derecho para el archivo PDF
doc.PageInfo.Margin.Right = 40;
// Añadir página
Page page = doc.Pages.Add();
// Crear un objeto gráfico
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// Agregue el gráfico a la colección de paráfrasis del objeto de sección
page.Paragraphs.Add(graph1);
// Especificar las coordenadas para la línea.
float[] posArr = new float[] { 1, 2, 500, 2 };
Aspose.Pdf.Drawing.Line l1 = new Aspose.Pdf.Drawing.Line(posArr);
graph1.Shapes.Add(l1);
// Crear variable de cadena con texto que contenga etiquetas HTML
string s = "<font face=\"Times New Roman\" size=4>" +
"<strong> How to Steer Clear of money scams</<strong> "
+ "</font>";
// Crear fragmento de texto e inicializarlo
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);
// Crear una caja flotante
Aspose.Pdf.FloatingBox box = new Aspose.Pdf.FloatingBox();
// Añadir cuatro columnas en la sección.
box.ColumnInfo.ColumnCount = 2;
// Establecer el espacio entre las columnas
box.ColumnInfo.ColumnSpacing = "5";
// Establecer anchos de columna
box.ColumnInfo.ColumnWidths = "250 250";
// Crear un nuevo fragmento de texto
TextFragment text1 = new TextFragment("By A Googler (The Official Google Blog)");
text1.TextState.FontSize = 8;
text1.TextState.LineSpacing = 2;
box.Paragraphs.Add(text1);
text1.TextState.FontSize = 10;
text1.TextState.FontStyle = FontStyles.Italic;
// Crear un objeto gráfico to draw a line
Aspose.Pdf.Drawing.Graph graph2 = new Aspose.Pdf.Drawing.Graph(50, 10);
// Especificar las coordenadas para la línea.
float[] posArr2 = new float[] { 1, 10, 100, 10 };
Aspose.Pdf.Drawing.Line l2 = new Aspose.Pdf.Drawing.Line(posArr2);
graph2.Shapes.Add(l2);
// Agregue la línea a la colección de párrafos del objeto de sección
box.Paragraphs.Add(graph2);
// Crear un nuevo fragmento de texto
TextFragment text2 = new TextFragment(@"Sed augue tortor, sodales id, luctus et, pulvinar ut, eros. Suspendisse vel dolor. Sed quam. Curabitur ut massa vitae eros euismod aliquam. Pellentesque sit amet elit. Vestibulum interdum pellentesque augue. Cras mollis arcu sit amet purus. Donec augue. Nam mollis tortor a elit. Nulla viverra nisl vel mauris. Vivamus sapien. nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et,nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim Nam justo lorem, aliquam luctus, sodales et, semper sed, enim nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.nAenean posuere ante ut neque. Morbi sollicitudin congue felis. Praesent turpis diam, iaculis sed, pharetra non, mollis ac, mauris. Phasellus nisi ipsum, pretium vitae, tempor sed, molestie eu, dui. Duis lacus purus, tristique ut, iaculis cursus, tincidunt vitae, risus. Sed commodo. *** sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed urna. . Duis convallis ultrices nisi. Maecenas non ligula. Nunc nibh est, tincidunt in, placerat sit amet, vestibulum a, nulla. Praesent porttitor turpis eleifend ante. Morbi sodales.");
box.Paragraphs.Add(text2);
// Agregar cuadro flotante a la página
page.Paragraphs.Add(box);
// Guardar archivo PDF
doc.Save("multi-column.pdf");
La siguiente es la captura de pantalla del PDF de varias columnas generado por Aspose.PDF for .NET.
Obtenga una licencia gratis
Puede usar Aspose.PDF for .NET sin limitaciones de evaluación usando una licencia temporal.
Conclusión
En esta publicación, ha aprendido cómo crear archivos PDF de varias columnas desde cero usando C#. Simplemente puede instalar la API e integrar el código proporcionado en sus aplicaciones .NET. Además, puede obtener más información sobre la API de PDF de .NET mediante la documentación. En caso de que tenga alguna pregunta, no dude en preguntar a través de nuestro foro.