Twórz dokumenty PDF za pomocą C#

PDF to niezależny od platformy format dokumentu, który zachowuje spójność formatowania i układu treści w różnych systemach operacyjnych lub komputerach. Z tego powodu różne organizacje używają formatu PDF do dynamicznego generowania faktur, paragonów, raportów i innych dokumentów biznesowych. Aspose.PDF for .NET to biblioteka PDF, która pomaga zaimplementować automatyzację PDF w aplikacjach .NET. Pozwala programowo tworzyć, edytować, analizować i konwertować pliki PDF za pomocą C# lub VB.NET. W tym artykule omówię funkcje generowania plików PDF i pokażę, jak tworzyć pliki PDF od podstaw przy użyciu języka C#.

Zacznę od utworzenia prostego dokumentu PDF, a następnie przystąpię do dodawania innych elementów do dokumentu. Poniżej znajduje się lista funkcji, które zamierzam zademonstrować w tym artykule.

Biblioteka C# PDF — instalacja

Możesz zainstalować Aspose.PDF for .NET przy użyciu NuGet Package Manager lub konsoli Menedżera pakietów przy użyciu następującego polecenia. Alternatywnie można go pobrać z sekcji Downloads.

Install-Package Aspose.Pdf

Utwórz plik PDF za pomocą C#

Utwórzmy najpierw dokument PDF zawierający fragment tekstu. Poniżej przedstawiono kroki tworzenia od podstaw prostego dokumentu PDF.

Poniższy przykładowy kod pokazuje, jak utworzyć plik PDF przy użyciu języka C#.

// Załaduj dokument PDF 
Document document = new Document();

// Dodaj stronę
Aspose.Pdf.Page page = document.Pages.Add();

// Dodaj tekst do nowej strony
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World! This is a new PDF generated by Aspose.PDF for .NET."));

// Zapisz dokument PDF
document.Save("Generated-PDF.pdf");
utwórz pdf za pomocą C#

Zastosuj formatowanie tekstu w PDF przy użyciu C#

Sprawdźmy teraz, jak dodać tekst do dokumentu PDF i użyć różnych opcji formatowania. Poniżej przedstawiono kroki, aby wykonać tę operację.

  • Użyj klasy Document, aby utworzyć nowy dokument PDF lub załadować istniejący.
  • Przejdź do Strony, na której chcesz umieścić tekst.
  • Utwórz obiekt TextFragment i ustaw tekst oraz inne opcje formatowania, takie jak pozycja, czcionka, kolor, rozmiar itp.
  • Użyj klasy TextBuilder, aby dodać obiekt TextFragment do strony.
  • Użyj metody Document.Save(), aby utworzyć dokument PDF.

Poniższy przykładowy kod pokazuje, jak dodać sformatowany tekst do pliku PDF przy użyciu języka C#.

// Załaduj dokument PDF 
Document document = new Document();
// Dodaj stronę
Aspose.Pdf.Page page = document.Pages.Add();

// Utwórz fragment tekstu
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);

// Ustaw właściwości tekstu
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;
// Utwórz nowy kolor z przestrzenią kolorów wzoru
textFragment1.TextState.ForegroundColor = new Aspose.Pdf.Color()
{
	PatternColorSpace = new Aspose.Pdf.Drawing.GradientAxialShading(Color.Red, Color.Blue)
};
// Utwórz obiekt TextBuilder
TextBuilder textBuilder = new TextBuilder(page);

// Dołącz fragmenty tekstu do strony PDF
textBuilder.AppendText(textFragment);
textBuilder.AppendText(textFragment1);

// Zapisz dokument PDF
document.Save("Generated-PDF.pdf");
utwórz pdf ze sformatowanym tekstem za pomocą C#

Utwórz wielokolumnowy plik PDF za pomocą C#

Często widzimy, że tekst w gazetach, artykułach naukowych i innych typach dokumentów jest podzielony na dwie lub więcej kolumn. Aby osiągnąć ten podział tekstu, Aspose.PDF for .NET umożliwia tworzenie wielokolumnowego pliku PDF. Poniżej opisano kroki tworzenia wielokolumnowego pliku PDF.

Poniższy przykładowy kod pokazuje, jak utworzyć wielokolumnowy plik PDF przy użyciu języka C#.

// Załaduj dokument PDF 
Document document = new Document();
// Określ informacje o lewym marginesie pliku PDF
document.PageInfo.Margin.Left = 40;
// Określ informacje o prawym marginesie dla pliku PDF
document.PageInfo.Margin.Right = 40;
Aspose.Pdf.Page page = document.Pages.Add();

// Dodaj linię
Aspose.Pdf.Drawing.Graph graph1 = new Aspose.Pdf.Drawing.Graph(500, 2);
// Dodaj linię do kolekcji parafraz obiektu sekcji
page.Paragraphs.Add(graph1);

// Określ współrzędne linii
float[] posArr = new float[] { 1, 2, 500, 2 };
Aspose.Pdf.Drawing.Line l1 = new Aspose.Pdf.Drawing.Line(posArr);
graph1.Shapes.Add(l1);

// Dodaj nagłówek
// Twórz zmienne łańcuchowe z tekstem zawierającym znaczniki HTML
string s = "<font face=\"Times New Roman\" size=4>" +
"<strong> How to Steer Clear of money scams</<strong> "
+ "</font>";

// Twórz akapity tekstowe zawierające tekst HTML
HtmlFragment heading_text = new HtmlFragment(s);
page.Paragraphs.Add(heading_text);

Aspose.Pdf.FloatingBox box = new Aspose.Pdf.FloatingBox();
// Dodaj cztery kolumny w sekcji
box.ColumnInfo.ColumnCount = 2;
// Ustaw odstępy między kolumnami
box.ColumnInfo.ColumnSpacing = "5";
// Ustaw szerokości kolumn
box.ColumnInfo.ColumnWidths = "250 250"; 

// Utwórz tekst 
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.");

// Dodaj tekst do dokumentu
box.Paragraphs.Add(text2);
page.Paragraphs.Add(box);

// Zapisz dokument PDF
document.Save("Generated-PDF.pdf");
utwórz wielokolumnowy plik pdf za pomocą C#

Wstaw obraz do pliku PDF za pomocą C#

Poniższe kroki pokazują, jak wstawiać obrazy w dokumentach PDF.

  • Utwórz nowy dokument PDF lub otwórz istniejący, używając klasy Document.
  • Pobierz stronę, na której chcesz wstawić obraz.
  • Dodaj obraz do obrazów na stronie.
  • Użyj operatorów GSave, ConcatenateMatrix i Do, aby umieścić obraz na stronie.
  • Zapisz dokument PDF za pomocą metody Document.Save().

Poniższy przykładowy kod pokazuje, jak wstawić obraz do pliku PDF przy użyciu języka C#.

// Załaduj dokument PDF 
Document document = new Document();
// Dodaj stronę
Aspose.Pdf.Page page = document.Pages.Add();

// Ustaw współrzędne
int lowerLeftX = 100;
int lowerLeftY = 100;
int upperRightX = 250;
int upperRightY = 250; 

// Załaduj obraz do strumienia
FileStream imageStream = new FileStream("aspose_pdf.png", FileMode.Open);
// Dodaj obraz do kolekcji obrazów zasobów strony
page.Resources.Images.Add(imageStream);
// Używając operatora GSave: ten operator zapisuje aktualny stan grafiki
page.Contents.Add(new Aspose.Pdf.Operators.GSave());
// Twórz obiekty prostokątne i macierzowe
Aspose.Pdf.Rectangle rectangle = new Aspose.Pdf.Rectangle(lowerLeftX, lowerLeftY, upperRightX, upperRightY);
//Matrix matrix = new Matrix(new double[] { prostokąt.URX - prostokąt.LLX, 0, 0, prostokąt.URY - prostokąt.LLY, prostokąt.LLX, prostokąt.LLY });
Matrix matrix = new Matrix(new double[] { 200, 0, 0, 200, 200, 600 });
// Używając operatora ConcatenateMatrix (matryca konkatenacyjna): określa sposób umieszczenia obrazu
page.Contents.Add(new Aspose.Pdf.Operators.ConcatenateMatrix(matrix));
XImage ximage = page.Resources.Images[page.Resources.Images.Count];
// Użycie operatora Do: ten operator rysuje obraz
page.Contents.Add(new Aspose.Pdf.Operators.Do(ximage.Name));
// Używając operatora GRestore: ten operator przywraca stan grafiki
page.Contents.Add(new Aspose.Pdf.Operators.GRestore());

// Zapisz dokument PDF
document.Save("Generated-PDF.pdf");
wstaw obraz w formacie PDF za pomocą C#

Utwórz tabelę w pliku PDF za pomocą C#

Tabela służy do organizowania danych w postaci wierszy i kolumn oraz zapewnia szybki przegląd informacji. Aby utworzyć tabelę w dokumencie PDF, wykonaj poniższe czynności.

  • Utwórz obiekt klasy Document, aby utworzyć nowy plik PDF lub załadować istniejący.
  • Przejdź do strony, na której chcesz utworzyć tabelę.
  • Utwórz instancję klasy Table.
  • Ustaw obramowanie tabeli i obramowanie komórek za pomocą klasy BorderInfo.
  • Utwórz i dodaj nowy Row do kolekcji Table.Rows.
  • Dodaj komórki do kolekcji Row.Cells.
  • Dodaj tabelę do strony metodą Page.Paragraphs.Add().
  • Zapisz dokument PDF za pomocą metody Document.Save().

Poniższy przykładowy kod pokazuje, jak utworzyć tabelę w formacie PDF przy użyciu języka C#.

// Załaduj dokument PDF 
Document document = new Document();
// Dodaj stronę
Aspose.Pdf.Page page = document.Pages.Add();

// Inicjuje nowe wystąpienie Table
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
// Ustaw kolor obramowania tabeli na LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Ustaw obramowanie komórek tabeli
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Utwórz pętlę, aby dodać 10 wierszy
for (int row_count = 1; row_count < 10; row_count++)
{
	// Dodaj wiersz do tabeli
	Aspose.Pdf.Row row = table.Rows.Add();
	// Dodaj komórki tabeli
	row.Cells.Add("Column (" + row_count + ", 1)");
	row.Cells.Add("Column (" + row_count + ", 2)");
	row.Cells.Add("Column (" + row_count + ", 3)");
}

// Dodaj tabelę do strony
page.Paragraphs.Add(table);

// Zapisz dokument PDF
document.Save("Generated-PDF.pdf");
utwórz tabelę w formacie pdf za pomocą C#

Dodaj adnotację w pliku PDF za pomocą C#

Adnotacje to obiekty graficzne, które służą do dostarczania dodatkowych informacji o zawartości dokumentów PDF. Format PDF obsługuje różne adnotacje, w tym tekst, podkreślenie, linię, notatki itp. Poniżej przedstawiono kroki dodawania adnotacji w dokumencie PDF.

Poniższy przykładowy kod pokazuje, jak dodać adnotację do pliku PDF przy użyciu języka C#.

// Załaduj dokument PDF 
Document document = new Document();
// Dodaj stronę
Aspose.Pdf.Page page = document.Pages.Add();

// Utwórz adnotację
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);

// Dodaj adnotację w kolekcji adnotacji na stronie
page.Annotations.Add(textAnnotation);

// Zapisz dokument PDF
document.Save("Generated-PDF.pdf");
dodaj adnotację w formacie PDF za pomocą C#

Możesz także dodać hiperłącza do dokumentu PDF za pomocą adnotacji łącza. Poniżej przedstawiono kroki, aby wykonać tę operację.

Poniższy przykładowy kod pokazuje, jak dodać hiperłącze do dokumentu PDF przy użyciu języka C#.

// Załaduj dokument PDF 
Document document = new Document();
// Dodaj stronę
Aspose.Pdf.Page page = document.Pages.Add();

// Utwórz obiekt adnotacji Link
LinkAnnotation link = new LinkAnnotation(page, new Aspose.Pdf.Rectangle(100, 800, 250, 750));
// Utwórz obiekt obramowania dla LinkAnnotation
Border border = new Border(link);
// Ustaw wartość szerokości obramowania na 0
border.Width = 1;
// Ustaw obramowanie LinkAnnotation
link.Border = border; 

// Określ typ łącza jako zdalny identyfikator URI
link.Action = new GoToURIAction("www.aspose.com");
// Dodaj adnotację linku do zbioru adnotacji pierwszej strony pliku PDF
page.Annotations.Add(link);

// Utwórz dowolną adnotację tekstową dla tekstu łącza
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));
// Ciąg do dodania jako tekst dowolny
textAnnotation.Contents = "Link to Aspose website";
// Ustaw obramowanie dla dowolnej adnotacji tekstowej
textAnnotation.Border = border;
// Dodaj adnotację FreeText do zbioru adnotacji pierwszej strony dokumentu
page.Annotations.Add(textAnnotation);

// Zapisz dokument PDF
document.Save("Generated-PDF.pdf");
dodaj hiperłącze w PDF za pomocą C#

Twórz zakładki w pliku PDF za pomocą C#

Zakładki służą do przechodzenia do określonej sekcji lub strony w dokumentach PDF. Aspose.PDF for .NET pozwala dodawać lub manipulować zakładkami. Poniżej przedstawiono kroki tworzenia i dodawania zakładki w dokumencie PDF.

Poniższy przykładowy kod pokazuje, jak utworzyć dokument PDF z zakładkami przy użyciu języka C#.

// Załaduj dokument PDF 
Document document = new Document();
// Dodaj stronę
Aspose.Pdf.Page page = document.Pages.Add();

// Utwórz nadrzędny obiekt zakładek
OutlineItemCollection pdfOutline = new OutlineItemCollection(document.Outlines);
pdfOutline.Title = "Parent Outline";
pdfOutline.Italic = true;
pdfOutline.Bold = true;

// Utwórz obiekt podrzędnej zakładki
OutlineItemCollection pdfChildOutline = new OutlineItemCollection(document.Outlines);
pdfChildOutline.Title = "Child Outline";
pdfChildOutline.Italic = true;
pdfChildOutline.Bold = true;

// Dodaj zakładkę podrzędną do kolekcji zakładek nadrzędnych
pdfOutline.Add(pdfChildOutline);
// Dodaj zakładkę nadrzędną w zbiorze konspektu dokumentu.
document.Outlines.Add(pdfOutline);

// Zapisz dokument PDF
document.Save("Generated-PDF.pdf");
utwórz zakładkę w PDF za pomocą C#

Wniosek

W tym artykule pokazałem, jak tworzyć pliki PDF od podstaw za pomocą C#. Przewodnik krok po kroku i przykłady kodu pokazują, jak programowo dodawać tekst, obraz, tabelę, adnotację, hiperłącze i zakładki w plikach PDF. Możesz zapoznać się z innymi funkcjami biblioteki PDF .NET firmy Aspose, korzystając z dokumentacji.

Zobacz też