Les PDF multi-colonnes sont utilisés pour divers types de publications telles que des magazines, des journaux, des articles de recherche, etc. Lorsque vous travaillez avec l’automatisation PDF, vous pouvez rencontrer le scénario dans lequel vous devez générer un PDF multi-colonnes par programmation. Conformément à cela, cet article explique comment créer des fichiers PDF multi-colonnes à l’aide de C#.

API C# pour créer des PDF multi-colonnes

Aspose.PDF for .NET est une API puissante et riche en fonctionnalités pour créer et manipuler des documents PDF. Nous utiliserons cette API pour créer des fichiers PDF à plusieurs colonnes à l’aide de C#. Vous pouvez soit télécharger l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.PDF

Créer un PDF multi-colonnes à l’aide de C#

Aspose.PDF for .NET vous permet de créer plus facilement un fichier PDF multi-colonnes. Les étapes suivantes créent un PDF multi-colonnes à partir de zéro.

L’exemple de code suivant montre comment créer un PDF à deux colonnes à l’aide de C#.

// Pour des exemples complets et des fichiers de données, rendez-vous sur https://github.com/aspose-pdf/Aspose.PDF-for-.NET
// Créer un document
Document doc = new Document();

// Spécifiez les informations de marge gauche pour le fichier PDF
doc.PageInfo.Margin.Left = 40;
// Spécifiez les informations de marge droite pour le fichier PDF
doc.PageInfo.Margin.Right = 40;

// Ajouter une page
Page page = doc.Pages.Add();

// Créer un objet graphique
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// Ajouter le graphique à la collection de paraphraphes de l'objet de section
page.Paragraphs.Add(graph1);

// Spécifiez les coordonnées de la ligne
float[] posArr = new float[] { 1, 2, 500, 2 };
Aspose.Pdf.Drawing.Line l1 = new Aspose.Pdf.Drawing.Line(posArr);
graph1.Shapes.Add(l1);

// Créer une variable de chaîne avec du texte contenant des balises HTML
string s = "<font face=\"Times New Roman\" size=4>" +
"<strong> How to Steer Clear of money scams</<strong> "
+ "</font>";

// Créer un fragment de texte et l'initialiser
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);

// Créer une boîte flottante
Aspose.Pdf.FloatingBox box = new Aspose.Pdf.FloatingBox();

// Ajouter quatre colonnes dans la section
box.ColumnInfo.ColumnCount = 2;
// Définir l'espacement entre les colonnes
box.ColumnInfo.ColumnSpacing = "5";
// Définir la largeur des colonnes
box.ColumnInfo.ColumnWidths = "250 250";

// Créer un nouveau fragment de texte
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;

// Créer un objet graphique to draw a line
Aspose.Pdf.Drawing.Graph graph2 = new Aspose.Pdf.Drawing.Graph(50, 10);

// Spécifiez les coordonnées de la ligne
float[] posArr2 = new float[] { 1, 10, 100, 10 };
Aspose.Pdf.Drawing.Line l2 = new Aspose.Pdf.Drawing.Line(posArr2);
graph2.Shapes.Add(l2);

// Ajouter la ligne à la collection de paragraphes de l'objet section
box.Paragraphs.Add(graph2);

// Créer un nouveau fragment de texte
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);

// Ajouter une boîte flottante à la page
page.Paragraphs.Add(box);

// Enregistrer le fichier PDF
doc.Save("multi-column.pdf");

Voici la capture d’écran du PDF multi-colonnes généré par Aspose.PDF for .NET.

Créer un PDF multi-colonnes C#

Obtenez une licence gratuite

Vous pouvez utiliser Aspose.PDF for .NET sans limitation d’évaluation à l’aide d’une licence temporaire.

Conclusion

Dans cet article, vous avez appris à créer des fichiers PDF multi-colonnes à partir de zéro à l’aide de C#. Vous pouvez simplement installer l’API et intégrer le code fourni dans vos applications .NET. De plus, vous pouvez en savoir plus sur l’API PDF .NET à l’aide de la documentation. Si vous avez des questions, n’hésitez pas à les poser via notre forum.

Voir également