I PDF multicolonna vengono utilizzati per vari tipi di pubblicazioni come riviste, giornali, articoli di ricerca, ecc. Mentre si lavora con l’automazione PDF, è possibile che si verifichi lo scenario in cui è necessario generare un PDF multicolonna a livello di codice. In base a ciò, questo articolo illustra come creare file PDF a più colonne utilizzando C#.
API C# per creare PDF multicolonna
Aspose.PDF for .NET è un’API potente e ricca di funzionalità per creare e manipolare documenti PDF. Utilizzeremo questa API per creare file PDF a più colonne utilizzando C#. Puoi scaricare l’API o installarla utilizzando NuGet.
PM> Install-Package Aspose.PDF
Crea un PDF multicolonna usando C#
Aspose.PDF per .NET semplifica la creazione di un file PDF a più colonne. I seguenti passaggi creano un PDF multicolonna da zero.
- Crea un nuovo oggetto Documento.
- Impostare i margini della pagina utilizzando le proprietà Document.PageInfo.Margin.Left e Document.PageInfo.Margin.Right.
- Aggiungi una nuova pagina nel PDF usando il metodo Documents.Pages.Add() e ottieni il suo riferimento in un oggetto Page.
- Crea un nuovo oggetto Graph e aggiungilo al paragrafo usando il metodo Page.Paragraphs.Add().
- Crea una nuova Linea e aggiungila alla raccolta Graph.Shapes.
- Aggiungi il testo dell’intestazione alla pagina usando il metodo Page.Paragraphs.Add().
- Crea un nuovo FloatingBox e specifica il numero di colonne, la spaziatura delle colonne e la larghezza delle colonne.
- Crea un altro oggetto Graph.
- Aggiungi una nuova linea alla raccolta Graph.Shapes.
- Aggiungi Graph alla raccolta FloatingBox.Paragraphs.
- Crea un nuovo TextFragment e aggiungilo alla raccolta FloatingBox.Paragraphs.
- Aggiungi FloatingBox alla Pagina usando il metodo Page.Paragraphs.Add().
- Salvare il file PDF utilizzando il metodo Document.Save(string).
L’esempio di codice seguente mostra come creare un PDF a due colonne usando C#.
// Per esempi completi e file di dati, visitare https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Crea documento
Document doc = new Document();
// Specificare le informazioni sul margine sinistro per il file PDF
doc.PageInfo.Margin.Left = 40;
// Specificare le informazioni sul margine destro per il file PDF
doc.PageInfo.Margin.Right = 40;
// Aggiungi pagina
Page page = doc.Pages.Add();
// Crea un oggetto grafico
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// Aggiungi il grafico alla raccolta di parafrasi dell'oggetto sezione
page.Paragraphs.Add(graph1);
// Specificare le coordinate per la linea
float[] posArr = new float[] { 1, 2, 500, 2 };
Aspose.Pdf.Drawing.Line l1 = new Aspose.Pdf.Drawing.Line(posArr);
graph1.Shapes.Add(l1);
// Crea una variabile stringa con testo contenente tag HTML
string s = "<font face=\"Times New Roman\" size=4>" +
"<strong> How to Steer Clear of money scams</<strong> "
+ "</font>";
// Crea un frammento di testo e inizializzalo
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);
// Crea una scatola mobile
Aspose.Pdf.FloatingBox box = new Aspose.Pdf.FloatingBox();
// Aggiungi quattro colonne nella sezione
box.ColumnInfo.ColumnCount = 2;
// Imposta la spaziatura tra le colonne
box.ColumnInfo.ColumnSpacing = "5";
// Imposta le larghezze delle colonne
box.ColumnInfo.ColumnWidths = "250 250";
// Crea un nuovo frammento di testo
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;
// Crea un oggetto grafico to draw a line
Aspose.Pdf.Drawing.Graph graph2 = new Aspose.Pdf.Drawing.Graph(50, 10);
// Specificare le coordinate per la linea
float[] posArr2 = new float[] { 1, 10, 100, 10 };
Aspose.Pdf.Drawing.Line l2 = new Aspose.Pdf.Drawing.Line(posArr2);
graph2.Shapes.Add(l2);
// Aggiungi la riga alla raccolta di paragrafi dell'oggetto sezione
box.Paragraphs.Add(graph2);
// Crea un nuovo frammento di testo
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);
// Aggiungi una casella mobile alla pagina
page.Paragraphs.Add(box);
// Salva file PDF
doc.Save("multi-column.pdf");
Quello che segue è lo screenshot del PDF multicolonna generato da Aspose.PDF per .NET.
Ottieni una licenza gratuita
È possibile utilizzare Aspose.PDF per .NET senza limitazioni di valutazione utilizzando una licenza temporanea.
Conclusione
In questo post, hai imparato come creare file PDF multicolonna da zero usando C#. Puoi semplicemente installare l’API e integrare il codice fornito nelle tue applicazioni .NET. Inoltre, puoi saperne di più sull’API .NET PDF utilizzando la documentazione. In caso di domande, non esitare a chiedere tramite il nostro forum.