Créer des documents PDF à l'aide de C#

PDF est un format de document indépendant de la plate-forme qui maintient la mise en forme et la mise en page de son contenu cohérentes sur différents systèmes d’exploitation ou machines. C’est la raison pour laquelle diverses organisations utilisent le format PDF pour générer dynamiquement des factures, des reçus, des rapports et d’autres documents commerciaux. Aspose.PDF pour .NET est une bibliothèque PDF qui vous aide à implémenter l’automatisation PDF dans les applications .NET. Il vous permet de créer, éditer, analyser et convertir des fichiers PDF par programmation à l’aide de C# ou VB.NET. Dans cet article, je couvrirai les fonctionnalités de génération de PDF et vous montrerai comment créer des fichiers PDF à partir de zéro à l’aide de C#.

Je vais commencer par créer un simple document PDF, puis ajouter d’autres éléments au document. Voici la liste des fonctionnalités que je vais démontrer dans cet article.

Bibliothèque PDF C# - Installation

Vous pouvez installer Aspose.PDF for .NET à l’aide de NuGet Package Manager ou de la console du gestionnaire de packages à l’aide de la commande suivante. Alternativement, il peut être téléchargé à partir de la section Téléchargements.

Install-Package Aspose.Pdf

Créer un fichier PDF avec C#

Commençons par créer un document PDF contenant un fragment de texte. Voici les étapes pour créer un document PDF simple à partir de zéro.

  • Créez une instance de la classe Document.
  • Ajoutez une nouvelle Page à la collection Pages du document.
  • Ajoutez un nouveau TextFragment aux paragraphes du PDF.
  • Créez le fichier PDF à l’aide de la méthode Document.Save().

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

// Charger le document PDF 
Document document = new Document();

// Ajouter une page
Aspose.Pdf.Page page = document.Pages.Add();

// Ajouter du texte à une nouvelle page
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World! This is a new PDF generated by Aspose.PDF for .NET."));

// Enregistrez le document PDF
document.Save("Generated-PDF.pdf");
créer un pdf avec C#

Appliquer la mise en forme du texte en PDF à l’aide de C#

Voyons maintenant comment ajouter du texte à un document PDF et utiliser différentes options de formatage. Voici les étapes pour effectuer cette opération.

  • Utilisez la classe Document pour créer un nouveau document PDF ou en charger un existant.
  • Accédez à la Page sur laquelle vous souhaitez placer le texte.
  • Créez un objet de TextFragment et définissez le texte et d’autres options de formatage telles que la position, la police, la couleur, la taille, etc.
  • Utilisez la classe TextBuilder pour ajouter l’objet TextFragment à la page.
  • Utilisez la méthode Document.Save() pour créer le document PDF.

L’exemple de code suivant montre comment ajouter du texte formaté dans un fichier PDF à l’aide de C#.

// Charger le document PDF 
Document document = new Document();
// Ajouter une page
Aspose.Pdf.Page page = document.Pages.Add();

// Créer un fragment de texte
TextFragment textFragment = new TextFragment("Text 1: We have now applied text formatting. This is PDF generated by Aspose.PDF for .NET");
textFragment.Position = new Position(100, 700);
TextFragment textFragment1 = new TextFragment("Text 2: We have now applied text formatting. This is PDF generated by Aspose.PDF for .NET");
textFragment1.Position = new Position(100, 600);

// Définir les propriétés du texte
textFragment.TextState.FontSize = 12;
textFragment.TextState.Font = FontRepository.FindFont("TimesNewRoman");
textFragment.TextState.BackgroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray);
textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Red);

textFragment1.TextState.DrawTextRectangleBorder = true;
textFragment1.TextState.Underline = true;
textFragment1.TextState.StrikeOut = true;
// Créer une nouvelle couleur avec l'espace colorimétrique du motif
textFragment1.TextState.ForegroundColor = new Aspose.Pdf.Color()
{
	PatternColorSpace = new Aspose.Pdf.Drawing.GradientAxialShading(Color.Red, Color.Blue)
};
// Créer un objet TextBuilder
TextBuilder textBuilder = new TextBuilder(page);

// Ajouter les fragments de texte à la page PDF
textBuilder.AppendText(textFragment);
textBuilder.AppendText(textFragment1);

// Enregistrez le document PDF
document.Save("Generated-PDF.pdf");
créer un pdf avec du texte formaté en utilisant C#

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

Nous constatons souvent que le texte des journaux, des articles de recherche et d’autres types de documents est divisé en deux colonnes ou plus. Afin de réaliser cette division de texte, Aspose.PDF for .NET permet de créer un PDF multi-colonnes. Voici les étapes pour créer un PDF multi-colonnes.

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

// Charger le document PDF 
Document document = new Document();
// Spécifiez les informations de marge gauche pour le fichier PDF
document.PageInfo.Margin.Left = 40;
// Spécifiez les informations de marge droite pour le fichier PDF
document.PageInfo.Margin.Right = 40;
Aspose.Pdf.Page page = document.Pages.Add();

// Ajouter une ligne
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// Ajouter la ligne à 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);

// Ajouter un titre
// Créer des variables 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 des paragraphes de texte contenant du texte HTML
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);

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 les largeurs de colonne
box.ColumnInfo.ColumnWidths = "250 250"; 

// Créer du 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. 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. 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. 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.");

// Ajouter du texte au document
box.Paragraphs.Add(text2);
page.Paragraphs.Add(box);

// Enregistrez le document PDF
document.Save("Generated-PDF.pdf");
créer un pdf multi-colonnes en utilisant C#

Insérer une image dans un PDF en utilisant C#

Les étapes suivantes montrent comment insérer des images dans des documents PDF.

  • Créez un nouveau document PDF ou ouvrez-en un existant à l’aide de la classe Document.
  • Obtenez la page dans laquelle vous souhaitez insérer une image.
  • Ajoutez l’image aux images de la page.
  • Utilisez les opérateurs GSave, ConcatenateMatrix et Do pour placer l’image sur la page.
  • Enregistrez le document PDF à l’aide de la méthode Document.Save().

L’exemple de code suivant montre comment insérer une image dans un PDF à l’aide de C#.

// Charger le document PDF 
Document document = new Document();
// Ajouter une page
Aspose.Pdf.Page page = document.Pages.Add();

// Définir les coordonnées
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 250;
int upperRightY = 250; 

// Charger l'image dans le flux
FileStream imageStream = new FileStream("aspose_pdf.png", FileMode.Open);
// Ajouter une image à la collection d'images des ressources de page
page.Resources.Images.Add(imageStream);
// Utilisation de l'opérateur GSave : cet opérateur enregistre l'état actuel des graphiques
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// Créer des objets Rectangle et Matrix
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 });
Matrix matrix = new Matrix(new double[] { 200, 0, 0, 200, 200, 600 });
// Utilisation de l'opérateur ConcatenateMatrix (matrice de concaténation): définit comment l'image doit être placée
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Utilisation de l'opérateur Do : cet opérateur dessine l'image
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// Utilisation de l'opérateur GRestore : cet opérateur restaure l'état graphique
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// Enregistrez le document PDF
document.Save("Generated-PDF.pdf");
insérer une image dans un PDF avec C#

Créer un tableau dans un fichier PDF à l’aide de C#

Le tableau est utilisé pour organiser les données sous forme de lignes et de colonnes et pour fournir un aperçu rapide des informations. Pour créer un tableau dans le document PDF, suivez les étapes ci-dessous.

  • Créez un objet de la classe Document pour créer un nouveau PDF ou en charger un existant.
  • Accédez à la page dans laquelle vous souhaitez créer un tableau.
  • Créez une instance de la classe Table.
  • Définissez la bordure du tableau et la bordure des cellules à l’aide de la classe BorderInfo.
  • Créez et ajoutez une nouvelle Row à la collection Table.Rows.
  • Ajoutez des cellules à la collection Row.Cells.
  • Ajoutez le tableau à la page à l’aide de la méthode Page.Paragraphs.Add().
  • Enregistrez le document PDF à l’aide de la méthode Document.Save().

L’exemple de code suivant montre comment créer un tableau au format PDF à l’aide de C#.

// Charger le document PDF 
Document document = new Document();
// Ajouter une page
Aspose.Pdf.Page page = document.Pages.Add();

// Initialise une nouvelle instance de la table
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// Définissez la couleur de la bordure du tableau sur LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Définir la bordure des cellules du tableau
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Créer une boucle pour ajouter 10 lignes
for (int row_count = 1; row_count < 10; row_count++)
{
	// Ajouter une ligne au tableau
	Aspose.Pdf.Row row = table.Rows.Add();
	// Ajouter des cellules de tableau
	row.Cells.Add("Column (" + row_count + ", 1)");
	row.Cells.Add("Column (" + row_count + ", 2)");
	row.Cells.Add("Column (" + row_count + ", 3)");
}

// Ajouter un tableau à la page
page.Paragraphs.Add(table);

// Enregistrez le document PDF
document.Save("Generated-PDF.pdf");
créer un tableau en pdf avec C#

Ajouter une annotation dans un PDF à l’aide de C#

Les annotations sont des objets graphiques utilisés pour fournir des informations supplémentaires sur le contenu des documents PDF. Le format PDF prend en charge diverses annotations, y compris le texte, la surbrillance, la ligne, les notes, etc. Voici les étapes pour ajouter une annotation dans un document PDF.

L’exemple de code suivant montre comment ajouter une annotation au PDF à l’aide de C#.

// Charger le document PDF 
Document document = new Document();
// Ajouter une page
Aspose.Pdf.Page page = document.Pages.Add();

// Créer une annotation
TextAnnotation textAnnotation = new TextAnnotation(page, new Aspose.Pdf.Rectangle(200, 400, 400, 600));
textAnnotation.Title = "Sample Annotation Title";
textAnnotation.Subject = "Sample Subject";
textAnnotation.State = AnnotationState.Accepted;
textAnnotation.Contents = "Sample contents for the annotation";
textAnnotation.Open = true;
textAnnotation.Icon = TextIcon.Key;

Border border = new Border(textAnnotation);
border.Width = 5;
border.Dash = new Dash(1, 1);
textAnnotation.Border = border;
textAnnotation.Rect = new Aspose.Pdf.Rectangle(200, 400, 400, 600);

// Ajouter une annotation dans la collection d'annotations de la page
page.Annotations.Add(textAnnotation);

// Enregistrez le document PDF
document.Save("Generated-PDF.pdf");
ajouter une annotation dans un PDF à l'aide de C#

Vous pouvez également ajouter des hyperliens à un document PDF à l’aide de l’annotation de lien. Voici les étapes pour effectuer cette opération.

  • Créez un nouvel objet Document.
  • Accédez à la page où vous souhaitez ajouter le lien hypertexte.
  • Créez une instance de la classe LinkAnnotation.
  • Définissez les propriétés de l’objet LinkAnnotation, y compris l’URI de l’action.
  • Ajoutez le lien à la collection Page.Annotations.
  • Utilisez la classe FreeTextAnnotation pour définir le texte du lien hypertexte.
  • Ajoutez l’objet FreeTextAnnotation à la collection Page.Annotations.
  • Créez un document PDF à l’aide de la méthode Document.Save().

L’exemple de code suivant montre comment ajouter un lien hypertexte à un document PDF à l’aide de C#.

// Charger le document PDF 
Document document = new Document();
// Ajouter une page
Aspose.Pdf.Page page = document.Pages.Add();

// Créer un objet d'annotation de lien
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 800, 250, 750));
// Créer un objet de bordure pour LinkAnnotation
Border border = new Border(link);
// Définissez la valeur de largeur de bordure sur 0
border.Width = 1;
// Définir la bordure pour LinkAnnotation
link.Border = border; 

// Spécifiez le type de lien en tant qu'URI distant
link.Action = new GoToURIAction("www.aspose.com");
// Ajouter une annotation de lien à la collection d'annotations de la première page du fichier PDF
page.Annotations.Add(link);

// Créer une annotation de texte libre pour le texte du lien
FreeTextAnnotation textAnnotation = new FreeTextAnnotation(document.Pages[1], new Aspose.Pdf.Rectangle(100, 800, 250, 750), new DefaultAppearance(Aspose.Pdf.Text.FontRepository.FindFont("TimesNewRoman"), 10, System.Drawing.Color.Blue));
// Chaîne à ajouter en tant que texte libre
textAnnotation.Contents = "Link to Aspose website";
// Définir la bordure pour l'annotation de texte libre
textAnnotation.Border = border;
// Ajouter une annotation FreeText à la collection d'annotations de la première page du document
page.Annotations.Add(textAnnotation);

// Enregistrez le document PDF
document.Save("Generated-PDF.pdf");
ajouter un lien hypertexte dans un PDF en utilisant C#

Créer des signets dans un PDF à l’aide de C#

Les signets sont utilisés pour naviguer vers une section ou une page particulière dans les documents PDF. Aspose.PDF for .NET vous permet d’ajouter ou de manipuler des signets. Voici les étapes pour créer et ajouter un signet dans un document PDF.

L’exemple de code suivant montre comment créer un document PDF avec des signets à l’aide de C#.

// Charger le document PDF 
Document document = new Document();
// Ajouter une page
Aspose.Pdf.Page page = document.Pages.Add();

// Créer un objet de signet parent
OutlineItemCollection pdfOutline = new OutlineItemCollection(document.Outlines);
pdfOutline.Title = "Parent Outline";
pdfOutline.Italic = true;
pdfOutline.Bold = true;

// Créer un objet signet enfant
OutlineItemCollection pdfChildOutline = new OutlineItemCollection(document.Outlines);
pdfChildOutline.Title = "Child Outline";
pdfChildOutline.Italic = true;
pdfChildOutline.Bold = true;

// Ajouter un signet enfant dans la collection du signet parent
pdfOutline.Add(pdfChildOutline);
// Ajoutez un signet parent dans la collection de plans du document.
document.Outlines.Add(pdfOutline);

// Enregistrez le document PDF
document.Save("Generated-PDF.pdf");
créer un signet en PDF en utilisant C#

Conclusion

Dans cet article, je vous ai montré comment créer des fichiers PDF à partir de zéro en utilisant C#. Le guide étape par étape et les exemples de code montrent comment ajouter par programme du texte, une image, un tableau, une annotation, un lien hypertexte et des signets dans les fichiers PDF. Vous pouvez explorer d’autres fonctionnalités de la bibliothèque PDF .NET d’Aspose à l’aide de la documentation.

Voir également