Crea documenti PDF usando C#

PDF è un formato di documento indipendente dalla piattaforma che mantiene la formattazione e il layout del suo contenuto coerenti su diversi sistemi operativi o macchine. Questo è il motivo per cui varie organizzazioni utilizzano il formato PDF per generare in modo dinamico fatture, ricevute, report e altri documenti aziendali. Aspose.PDF per .NET è una libreria PDF che consente di implementare l’automazione PDF nelle applicazioni .NET. Ti consente di creare, modificare, analizzare e convertire file PDF a livello di codice utilizzando C# o VB.NET. In questo articolo tratterò le funzionalità di generazione di PDF e ti mostrerò come creare file PDF da zero usando C#.

Inizierò creando un semplice documento PDF e poi procederò con l’aggiunta di altri elementi al documento. Di seguito è riportato l’elenco delle funzionalità che dimostrerò in questo articolo.

Libreria PDF C# - Installazione

È possibile installare Aspose.PDF per .NET utilizzando NuGet Package Manager o Package Manager Console utilizzando il comando seguente. In alternativa, può essere scaricato dalla sezione Download.

Install-Package Aspose.Pdf

Crea un file PDF usando C#

Per prima cosa creiamo un documento PDF contenente un frammento di testo. Di seguito sono riportati i passaggi per creare un semplice documento PDF da zero.

L’esempio di codice seguente mostra come creare un file PDF usando C#.

// Carica documento PDF 
Document document = new Document();

// Aggiungi pagina
Aspose.Pdf.Page page = document.Pages.Add();

// Aggiungi testo a una nuova pagina
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World! This is a new PDF generated by Aspose.PDF for .NET."));

// Salva il documento PDF
document.Save("Generated-PDF.pdf");
crea pdf usando C#

Applicare la formattazione del testo in PDF utilizzando C#

Vediamo ora come aggiungere testo a un documento PDF e utilizzare diverse opzioni di formattazione. Di seguito sono riportati i passaggi per eseguire questa operazione.

  • Usa la classe Document per creare un nuovo documento PDF o caricarne uno esistente.
  • Accedi alla Pagina su cui vuoi inserire il testo.
  • Crea un oggetto di TextFragment e imposta il testo e altre opzioni di formattazione come posizione, carattere, colore, dimensione, ecc.
  • Usa la classe TextBuilder per aggiungere l’oggetto TextFragment alla pagina.
  • Utilizzare il metodo Document.Save() per creare il documento PDF.

L’esempio di codice seguente mostra come aggiungere testo formattato in un file PDF usando C#.

// Carica documento PDF 
Document document = new Document();
// Aggiungi pagina
Aspose.Pdf.Page page = document.Pages.Add();

// Crea frammento di testo
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);

// Imposta le proprietà del testo
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;
// Crea un nuovo colore con lo spazio colore del modello
textFragment1.TextState.ForegroundColor = new Aspose.Pdf.Color()
{
	PatternColorSpace = new Aspose.Pdf.Drawing.GradientAxialShading(Color.Red, Color.Blue)
};
// Crea oggetto TextBuilder
TextBuilder textBuilder = new TextBuilder(page);

// Aggiungi i frammenti di testo alla pagina PDF
textBuilder.AppendText(textFragment);
textBuilder.AppendText(textFragment1);

// Salva il documento PDF
document.Save("Generated-PDF.pdf");
crea pdf con testo formattato usando C#

Crea un PDF multicolonna usando C#

Spesso vediamo che il testo di giornali, articoli di ricerca e altri tipi di documenti è diviso in due o più colonne. Per ottenere questa divisione del testo, Aspose.PDF per .NET consente di creare un PDF multicolonna. Di seguito sono riportati i passaggi per creare un PDF a più colonne.

L’esempio di codice seguente mostra come creare un PDF a più colonne usando C#.

// Carica documento PDF 
Document document = new Document();
// Specificare le informazioni sul margine sinistro per il file PDF
document.PageInfo.Margin.Left = 40;
// Specificare le informazioni sul margine destro per il file PDF
document.PageInfo.Margin.Right = 40;
Aspose.Pdf.Page page = document.Pages.Add();

// Aggiungi una riga
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// Aggiungi la riga 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);

// Aggiungi un'intestazione
// Crea variabili 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 paragrafi di testo contenenti testo HTML
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);

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 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. 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.");

// Aggiungi testo al documento
box.Paragraphs.Add(text2);
page.Paragraphs.Add(box);

// Salva il documento PDF
document.Save("Generated-PDF.pdf");
crea pdf multicolonna usando C#

Inserisci immagine in un PDF usando C#

I passaggi seguenti mostrano come inserire immagini nei documenti PDF.

  • Crea un nuovo documento PDF o aprine uno esistente utilizzando la classe Documento.
  • Ottieni la pagina in cui vuoi inserire un’immagine.
  • Aggiungi l’immagine alle immagini della pagina.
  • Utilizzare gli operatori GSave, ConcatenateMatrix e Do per posizionare l’immagine sulla pagina.
  • Salva il documento PDF utilizzando il metodo Document.Save().

L’esempio di codice seguente mostra come inserire un’immagine in PDF usando C#.

// Carica documento PDF 
Document document = new Document();
// Aggiungi pagina
Aspose.Pdf.Page page = document.Pages.Add();

// Imposta le coordinate
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 250;
int upperRightY = 250; 

// Carica l'immagine nello stream
FileStream imageStream = new FileStream("aspose_pdf.png", FileMode.Open);
// Aggiungi un'immagine alla raccolta Immagini delle risorse della pagina
page.Resources.Images.Add(imageStream);
// Utilizzo dell'operatore GSave: questo operatore salva lo stato grafico corrente
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// Crea oggetti Rettangolo e Matrice
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
//Matrix matrix = new Matrix(new double[] { rettangolo.URX - rettangolo.LLX, 0, 0, rettangolo.URY - rettangolo.LLY, rettangolo.LLX, rettangolo.LLY });
Matrix matrix = new Matrix(new double[] { 200, 0, 0, 200, 200, 600 });
// Utilizzo dell'operatore ConcatenateMatrix (matrice concatenata): definisce come deve essere posizionata l'immagine
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Usando l'operatore Do: questo operatore disegna l'immagine
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// Utilizzando l'operatore GRestore: questo operatore ripristina lo stato grafico
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// Salva il documento PDF
document.Save("Generated-PDF.pdf");
inserisci l'immagine in PDF usando C#

Crea una tabella in un file PDF usando C#

La tabella viene utilizzata per organizzare i dati sotto forma di righe e colonne e per fornire una rapida panoramica delle informazioni. Per creare una tabella nel documento PDF, attenersi alla seguente procedura.

  • Crea un oggetto della classe Document per creare un nuovo PDF o caricarne uno esistente.
  • Accedi alla pagina in cui vuoi creare una tabella.
  • Crea un’istanza della classe Table.
  • Imposta il bordo della tabella e il bordo delle celle usando la classe BorderInfo.
  • Crea e aggiungi una nuova Row alla raccolta Table.Rows.
  • Aggiungi celle alla raccolta Row.Cells.
  • Aggiungi la tabella alla pagina usando il metodo Page.Paragraphs.Add().
  • Salva il documento PDF utilizzando il metodo Document.Save().

L’esempio di codice seguente mostra come creare una tabella in PDF usando C#.

// Carica documento PDF 
Document document = new Document();
// Aggiungi pagina
Aspose.Pdf.Page page = document.Pages.Add();

// Inizializza una nuova istanza della tabella
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// Imposta il colore del bordo della tabella come LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Imposta il bordo per le celle della tabella
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Crea un ciclo per aggiungere 10 righe
for (int row_count = 1; row_count < 10; row_count++)
{
	// Aggiungi riga alla tabella
	Aspose.Pdf.Row row = table.Rows.Add();
	// Aggiungi celle di tabella
	row.Cells.Add("Column (" + row_count + ", 1)");
	row.Cells.Add("Column (" + row_count + ", 2)");
	row.Cells.Add("Column (" + row_count + ", 3)");
}

// Aggiungi tabella alla pagina
page.Paragraphs.Add(table);

// Salva il documento PDF
document.Save("Generated-PDF.pdf");
crea una tabella in pdf usando C#

Aggiungi annotazione in un PDF usando C#

Le annotazioni sono oggetti grafici utilizzati per fornire informazioni aggiuntive sul contenuto dei documenti PDF. Il formato PDF supporta varie annotazioni tra cui testo, evidenziazione, riga, note e così via. Di seguito sono riportati i passaggi per aggiungere un’annotazione in un documento PDF.

L’esempio di codice seguente mostra come aggiungere un’annotazione al PDF usando C#.

// Carica documento PDF 
Document document = new Document();
// Aggiungi pagina
Aspose.Pdf.Page page = document.Pages.Add();

// Crea annotazione
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);

// Aggiungi annotazioni nella raccolta di annotazioni della pagina
page.Annotations.Add(textAnnotation);

// Salva il documento PDF
document.Save("Generated-PDF.pdf");
aggiungi annotazioni in PDF usando C#

Puoi anche aggiungere collegamenti ipertestuali a un documento PDF utilizzando l’annotazione del collegamento. Di seguito sono riportati i passaggi per eseguire questa operazione.

  • Crea un nuovo oggetto Documento.
  • Accedi alla pagina in cui desideri aggiungere il collegamento ipertestuale.
  • Crea un’istanza della classe LinkAnnotation.
  • Imposta le proprietà dell’oggetto LinkAnnotation incluso l’URI dell’azione.
  • Aggiungi il link alla raccolta Page.Annotations.
  • Utilizzare la classe FreeTextAnnotation per impostare il testo del collegamento ipertestuale.
  • Aggiungi l’oggetto FreeTextAnnotation alla raccolta Page.Annotations.
  • Crea un documento PDF usando il metodo Document.Save().

L’esempio di codice seguente mostra come aggiungere un collegamento ipertestuale a un documento PDF usando C#.

// Carica documento PDF 
Document document = new Document();
// Aggiungi pagina
Aspose.Pdf.Page page = document.Pages.Add();

// Crea oggetto Annotazione collegamento
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 800, 250, 750));
// Crea oggetto bordo per LinkAnnotation
Border border = new Border(link);
// Imposta il valore della larghezza del bordo su 0
border.Width = 1;
// Imposta il bordo per LinkAnnotation
link.Border = border; 

// Specificare il tipo di collegamento come URI remoto
link.Action = new GoToURIAction("www.aspose.com");
// Aggiungi un'annotazione di collegamento alla raccolta di annotazioni della prima pagina del file PDF
page.Annotations.Add(link);

// Crea un'annotazione di testo libero per il testo del collegamento
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));
// Stringa da aggiungere come Testo libero
textAnnotation.Contents = "Link to Aspose website";
// Imposta il bordo per l'annotazione di testo libero
textAnnotation.Border = border;
// Aggiungi l'annotazione FreeText alla raccolta di annotazioni della prima pagina del documento
page.Annotations.Add(textAnnotation);

// Salva il documento PDF
document.Save("Generated-PDF.pdf");
aggiungi collegamento ipertestuale in PDF usando C#

Crea segnalibri in un PDF usando C#

I segnalibri vengono utilizzati per passare a una particolare sezione o pagina nei documenti PDF. Aspose.PDF per .NET consente di aggiungere o modificare i segnalibri. Di seguito sono riportati i passaggi per creare e aggiungere un segnalibro in un documento PDF.

L’esempio di codice seguente mostra come creare un documento PDF con segnalibri usando C#.

// Carica documento PDF 
Document document = new Document();
// Aggiungi pagina
Aspose.Pdf.Page page = document.Pages.Add();

// Crea un oggetto segnalibro principale
OutlineItemCollection pdfOutline = new OutlineItemCollection(document.Outlines);
pdfOutline.Title = "Parent Outline";
pdfOutline.Italic = true;
pdfOutline.Bold = true;

// Crea un oggetto segnalibro figlio
OutlineItemCollection pdfChildOutline = new OutlineItemCollection(document.Outlines);
pdfChildOutline.Title = "Child Outline";
pdfChildOutline.Italic = true;
pdfChildOutline.Bold = true;

// Aggiungi segnalibro figlio nella raccolta del segnalibro genitore
pdfOutline.Add(pdfChildOutline);
// Aggiungi il segnalibro principale nella raccolta di struttura del documento.
document.Outlines.Add(pdfOutline);

// Salva il documento PDF
document.Save("Generated-PDF.pdf");
crea segnalibro in PDF usando C#

Conclusione

In questo articolo, ti ho mostrato come creare file PDF da zero usando C#. La guida passo passo e gli esempi di codice mostrano come aggiungere testo, immagini, tabelle, annotazioni, collegamenti ipertestuali e segnalibri nei file PDF in modo programmatico. Puoi esplorare altre funzionalità della libreria PDF .NET di Aspose utilizzando la documentazione.

Guarda anche