Twórz dokumenty PDF za pomocą C#

Automatyczne generowanie i przetwarzanie dokumentów PDF stało się w ostatnich dniach wymagającą funkcją. W różnych aplikacjach dokumenty PDF są generowane dynamicznie, takie jak faktury, paragony i różnego rodzaju raporty. W związku z tym w tym artykule omówiono podstawową implementację automatyzacji PDF w aplikacjach .NET. Ostatecznie dowiesz się, jak tworzyć pliki PDF za pomocą języka C#. Przykłady kodu zademonstrują, jak wstawiać tekst, obrazy, tabele i inne składniki w formacie PDF przy użyciu języka C#.

C# .NET PDF API — bezpłatne pobieranie

Aspose.PDF for .NET to interfejs API do manipulowania plikami PDF, który umożliwia generowanie i przetwarzanie plików PDF z poziomu aplikacji .NET. Korzystając z API możesz dynamicznie generować różnego rodzaju raporty i dokumenty biznesowe. Interfejs API jest dostępny jako plik DLL do pobrania, a także hostowany na NuGet.

Install-Package Aspose.Pdf

Twórz pliki PDF w C#

Zacznijmy od stworzenia prostego dokumentu PDF zawierającego fragment tekstu. Poniżej przedstawiono kroki tworzenia pliku PDF przy użyciu języka C#.

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

// Zainicjuj obiekt dokumentu
Document document = new Document();

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

// Dodaj tekst do nowej strony
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Hello World!"));

// Zapisz plik PDF 
document.Save("document.pdf");

Przeczytaj więcej o tworzeniu złożonych dokumentów PDF.

Edytuj plik PDF w C#

Modyfikowanie pliku PDF jest tak proste, jak tworzenie nowego. Po prostu załaduj plik za pomocą klasy Document, wykonaj żądane operacje i zapisz go. Poniżej przedstawiono kroki, aby zmodyfikować plik PDF.

  • Utwórz obiekt klasy Document i podaj ścieżkę pliku PDF do jego konstruktora.
  • Manipuluj stronami lub zawartością dokumentu.
  • Zapisz dokument metodą Document.Save().

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

// Załaduj plik PDF
var pdfDocument = new Aspose.Pdf.Document("document.pdf");

// Dokonaj pewnych manipulacji, np. dodaj nową pustą stronę
pdfDocument.Pages.Add();

// Zapisz zaktualizowany plik PDF
pdfDocument.Save(modifiedFileName);

Wstaw obraz w formacie PDF za pomocą C#

Sprawdźmy teraz, jak wstawić obraz do dokumentu PDF. Aby to zrobić, wykonaj następujące czynności.

  • Utwórz obiekt klasy Document, aby otworzyć dokument PDF.
  • Wejdź na stronę, do której chcesz dodać obraz, używając klasy Page.
  • Dodaj obraz do kolekcji Zasoby strony.
  • Użyj operatorów, aby umieścić obraz na stronie:
    • GZapisz operator to save the current graphical state.
    • ConcatenateMatrix operator to specify where the image is to be placed.
    • Robić operator to draw the image on the page.
    • Na koniec użyj operatora GRestore, aby zapisać zaktualizowany stan graficzny.
  • Zapisz plik PDF.

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

// Otwórz dokument
Document pdfDocument = new Document("document.pdf");

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

// Pobierz stronę, na której należy dodać obraz
Page page = pdfDocument.Pages[1];

// Załaduj obraz do strumienia
FileStream imageStream = new FileStream("aspose-logo.jpg", 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[] { rectangle.URX - rectangle.LLX, 0, 0, rectangle.URY - rectangle.LLY, rectangle.LLX, rectangle.LLY });

// 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 zaktualizowany dokument
pdfDocument.Save("document.pdf");

Przeczytaj więcej o wstaw obrazy w formacie PDF.

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

Tabele są niezbędnym elementem dokumentów służącym do organizowania danych w postaci wierszy i kolumn. Aspose.PDF for .NET zapewnia dość prosty sposób tworzenia i wstawiania tabel w dokumentach PDF. Poniżej przedstawiono kroki, aby wykonać tę operację.

  • Załaduj plik PDF przy użyciu klasy Document.
  • Zainicjuj tabelę i ustaw jej kolumny i wiersze za pomocą klasy Table.
  • Ustaw ustawienia stołu (np. obramowania).
  • Zapełnij tabelę, tworząc wiersze metodą Table.Rows.Add().
  • Dodaj tabelę do strony za pomocą metody Document.Pages1.Paragraphs.Add(Table).
  • Zapisz plik PDF.

Poniższy przykładowy kod pokazuje, jak utworzyć i dodać tabelę w dokumencie PDF w języku C#.

// Załaduj źródłowy dokument PDF
Aspose.Pdf.Document doc = new Aspose.Pdf.Document("document.pdf");

// 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 obiekt tabeli do pierwszej strony dokumentu wejściowego
doc.Pages[1].Paragraphs.Add(table);

// Zapisz zaktualizowany dokument zawierający obiekt tabeli
doc.Save("document_with_table_out.pdf");

Przeczytaj więcej o tworzeniu tabel w formacie PDF.

Utwórz formularz w formacie PDF w C#

Formularze w plikach PDF służą do zbierania danych od czytelników. W formularzach PDF można wstawiać pola tekstowe, pola wyboru, przyciski opcji i inne obsługiwane kontrolki. Format PDF obsługuje dwa rodzaje formularzy; Formularze Acro i formularze XFA (zobacz szczegóły). Poniżej przedstawiono kroki tworzenia i dodawania formularzy w pliku PDF.

Poniższy przykładowy kod pokazuje, jak dodawać formularze do dokumentu PDF przy użyciu języka C#.

// Otwórz dokument
Document pdfDocument = new Document("document.pdf");

// Utwórz pole
TextBoxField textBoxField = new TextBoxField(pdfDocument.Pages[1], new Aspose.Pdf.Rectangle(100, 200, 300, 300));
textBoxField.PartialName = "textbox1";
textBoxField.Value = "Text Box";

// TextBoxField.Border = nowa ramka(
Border border = new Border(textBoxField);
border.Width = 5;
border.Dash = new Dash(1, 1);
textBoxField.Border = border;

textBoxField.Color = Aspose.Pdf.Color.FromRgb(System.Drawing.Color.Green);

// Dodaj pole do dokumentu
pdfDocument.Form.Add(textBoxField, 1);

// Zapisz zmodyfikowany plik PDF
pdfDocument.Save("output.pdf");

Przeczytaj więcej o tworzeniu formularzy w formacie PDF.

Wniosek

W tym poście nauczyłeś się, jak tworzyć pliki PDF od podstaw przy użyciu języka C#. Ponadto wiesz, jak programowo wstawiać różne typy komponentów, takie jak tekst, obrazy, tabele i formularze w dokumencie PDF. Możesz dowiedzieć się więcej o PDF API korzystając z dokumentacji.

Zobacz też

Informacje: Aspose zapewnia bezpłatną aplikację internetową, która umożliwia przeglądanie plików PDF online, inną, która umożliwia konwertowanie plików PDF na wideo, a także edytowanie plików PDF online ].