PDFs de várias colunas são usados para vários tipos de publicações, como revistas, jornais, artigos de pesquisa, etc. Ao trabalhar com automação de PDF, você pode se deparar com o cenário em que precisa gerar um PDF de várias colunas programaticamente. De acordo com isso, este artigo aborda como criar arquivos PDF de várias colunas usando C#.
API C# para criar PDFs de várias colunas
Aspose.PDF for .NET é uma API poderosa e rica em recursos para criar e manipular documentos PDF. Usaremos essa API para criar arquivos PDF de várias colunas usando C#. Você pode baixar a API ou instalá-la usando NuGet.
PM> Install-Package Aspose.PDF
Criar um PDF de várias colunas usando C#
O Aspose.PDF para .NET torna muito mais fácil para você criar um arquivo PDF com várias colunas. As etapas a seguir criam um PDF com várias colunas do zero.
- Crie um novo objeto Document.
- Defina as margens da página usando as propriedades Document.PageInfo.Margin.Left e Document.PageInfo.Margin.Right.
- Adicione uma nova página no PDF usando o método Documents.Pages.Add() e obtenha sua referência em um objeto Page.
- Crie um novo objeto Graph e adicione-o ao parágrafo usando o método Page.Paragraphs.Add().
- Crie uma nova Linha e adicione-a à coleção Graph.Shapes.
- Adicione o texto do título à página usando o método Page.Paragraphs.Add().
- Crie uma nova FloatingBox e especifique o número de colunas, espaçamento de coluna e largura de coluna.
- Crie outro objeto Graph.
- Adicione uma nova linha à coleção Graph.Shapes.
- Adicione Graph à coleção FloatingBox.Paragraphs.
- Crie um novo TextFragment e adicione-o à coleção FloatingBox.Paragraphs.
- Adicione FloatingBox à Página usando o método Page.Paragraphs.Add().
- Salve o arquivo PDF usando o método Document.Save(string).
O exemplo de código a seguir mostra como criar um PDF de duas colunas usando C#.
// Para exemplos completos e arquivos de dados, acesse https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Criar documento
Document doc = new Document();
// Especifique as informações da margem esquerda para o arquivo PDF
doc.PageInfo.Margin.Left = 40;
// Especifique as informações da margem direita para o arquivo PDF
doc.PageInfo.Margin.Right = 40;
// Adicionar Página
Page page = doc.Pages.Add();
// Criar um objeto gráfico
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// Adicione o gráfico à coleção de parágrafos do objeto de seção
page.Paragraphs.Add(graph1);
// Especifique as coordenadas para a linha
float[] posArr = new float[] { 1, 2, 500, 2 };
Aspose.Pdf.Drawing.Line l1 = new Aspose.Pdf.Drawing.Line(posArr);
graph1.Shapes.Add(l1);
// Criar variável de string com texto contendo tags HTML
string s = "<font face=\"Times New Roman\" size=4>" +
"<strong> How to Steer Clear of money scams</<strong> "
+ "</font>";
// Criar fragmento de texto e inicializá-lo
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);
// Criar uma caixa flutuante
Aspose.Pdf.FloatingBox box = new Aspose.Pdf.FloatingBox();
// Adicione quatro colunas na seção
box.ColumnInfo.ColumnCount = 2;
// Defina o espaçamento entre as colunas
box.ColumnInfo.ColumnSpacing = "5";
// Definir larguras de coluna
box.ColumnInfo.ColumnWidths = "250 250";
// Criar um novo 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;
// Criar um objeto gráfico to draw a line
Aspose.Pdf.Drawing.Graph graph2 = new Aspose.Pdf.Drawing.Graph(50, 10);
// Especifique as coordenadas para a linha
float[] posArr2 = new float[] { 1, 10, 100, 10 };
Aspose.Pdf.Drawing.Line l2 = new Aspose.Pdf.Drawing.Line(posArr2);
graph2.Shapes.Add(l2);
// Adicione a linha à coleção de parágrafos do objeto de seção
box.Paragraphs.Add(graph2);
// Criar um novo 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);
// Adicionar caixa flutuante à página
page.Paragraphs.Add(box);
// Salvar arquivo PDF
doc.Save("multi-column.pdf");
A seguir está a captura de tela do PDF de várias colunas gerado pelo Aspose.PDF para .NET.
Obtenha uma licença gratuita
Você pode usar o Aspose.PDF para .NET sem limitações de avaliação usando uma licença temporária.
Conclusão
Neste post, você aprendeu como criar arquivos PDF de várias colunas do zero usando C#. Você pode simplesmente instalar a API e integrar o código fornecido em seus aplicativos .NET. Além disso, você pode aprender mais sobre a API .NET PDF usando a documentação. Caso você tenha alguma dúvida, sinta-se à vontade para perguntar através do nosso fórum.