
Jak odczytywać pliki PDF w języku C#
W tym artykułe omówimy, jak używać IronPDF do zapisywania plików PDF z aplikacji Windows Forms lub dowolnej aplikacji .NET.
Biblioteka IronPDF to biblioteka .NET, która udostępnia łatwe w użyciu klasy i metody do generowania plików PDF oraz pracy z nimi w aplikacjach napisanych w języku C#. Pozwala programistom tworzyć, modyfikować i zapisywać pliki PDF za pomocą zaledwie kilku linii kodu, co czyni go doskonałym wyborem dla aplikacji Windows Forms.
Krok 1: Utwórz nową aplikację Windows Forms
Najpierw utwórz nowy projekt w Visual Studio. Oto kroki, jak utworzyć nową Aplikacje Windows Forms C# w Visual Studio 2022.
-
Otwórz program Visual Studio 2022, jak pokazano poniżej.
Visual Studio 2022 -
Kliknij "Utwórz nowy projekt" na stronie startowej lub przejdź do "Plik" > "Nowy" > "Projekt".
-
W oknie dialogowym "Utwórz nowy projekt" wybierz opcję "Aplikacja Windows Forms" lub "Aplikacja Windows Forms (.NET Framework)" w sekcji "Utwórz nowy projekt", jak pokazano poniżej.
Nowa aplikacja Forms -
Wpisz nazwę projektu i wybierz miejsce, w którym chcesz go zapisać.
Lokalizacja projektu -
Wybierz .NET Framework. Wybierz .NET 7.0 z menu rozwijanego.
-
Kliknij przycisk Utwórz.
Dodatkowe informacje -
Visual Studio utworzy dla Ciebie nowy projekt aplikacji C# Windows Forms, z domyślnym formularzem o nazwie "Form1" dodanym do projektu, jak pokazano poniżej.
Projekt Form1
To wszystko! Teraz zaczniemy tworzyć aplikację Windows Forms za pomocą projektanta, dodając kontrolki i funkcje do tworzenia i zapisywania plików PDF.
Krok 2: Zaprojektuj formularz
Możesz zaprojektować formularz zgodnie ze swoimi preferencjami. W tym samouczku stworzymy minimalistyczny projekt, dodając dwie etykiety, jedno pole tekstowe z obsługą formatowania oraz dwa przyciski.
Dodawanie przycisków do formularza
Krok 3: Zainstaluj IronPDF
Kolejnym krokiem jest zainstalowanie IronPDF w tym projekcie, aby móc korzystać z jego bogatych funkcji.
IronPDF można zainstalować za pomocą menedżera pakietów NuGet w Visual Studio. Możesz przejść do konsoli menedżera pakietów NuGet, wybierając opcję Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów.
Wpisz następujące polecenie i naciśnij Enter:
To polecenie spowoduje pobranie i zainstalowanie pakietu IronPDF w Twoim projekcie. Po zainstalowaniu możemy zacząć korzystać z IronPDF.
Napisz kod do tworzenia i zapisywania plików PDF
Aby rozpocząć, napisz dwie metody: Save_Click i getFilePath w klasie Form1.cs. Metody te są używane razem w celu zapisania zawartości pola tekstowego jako pliku PDF przy użyciu biblioteki klasy ChromePdfRenderer. Przejrzyjmy każdą metodę, aby zrozumieć, jak działa.
Metoda Save_Click (utwórz dokument PDF)
Poniższa metoda jest procedurą obsługi zdarzenia kliknięcia przycisku. Celem tej metody jest zapisanie zawartości pola tekstowego jako pliku PDF.
private void Save_Click(object sender, EventArgs e)
{
// Get the file path to save the PDF file.
string filename = getFilePath();
// If the file path is not empty or null, proceed with saving the PDF file.
if (!String.IsNullOrEmpty(filename))
{
// Create a new instance of the ChromePdfRenderer class.
var renderer = new ChromePdfRenderer();
// Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
var pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text);
// Save the PDF document to the specified file path using the SaveAs method.
pdfDocument.SaveAs(filename);
// Show a message box to indicate that the PDF file has been saved successfully.
MessageBox.Show("PDF has been saved Successfully!");
}
}Private Sub Save_Click(ByVal sender As Object, ByVal e As EventArgs)
' Get the file path to save the PDF file.
Dim filename As String = getFilePath()
' If the file path is not empty or null, proceed with saving the PDF file.
If Not String.IsNullOrEmpty(filename) Then
' Create a new instance of the ChromePdfRenderer class.
Dim renderer = New ChromePdfRenderer()
' Render the file contents of the text box as a PDF document using the ChromePdfRenderer.
Dim pdfDocument = renderer.RenderHtmlAsPdf(pdfContent.Text)
' Save the PDF document to the specified file path using the SaveAs method.
pdfDocument.SaveAs(filename)
' Show a message box to indicate that the PDF file has been saved successfully.
MessageBox.Show("PDF has been saved Successfully!")
End If
End SubOto szczegółowy opis działania tej metody:
- Metoda wywołuje metodę
getFilePath, aby uzyskać ścieżkę do pliku, w której plik PDF zostanie zapisany. - Jeśli ścieżka do pliku nie jest pusta ani nie ma wartości null, metoda przechodzi do zapisywania pliku PDF.
- Metoda tworzy nową instancję klasy
ChromePdfRenderer. Jest to biblioteka, która umożliwia konwersję treści HTML na dokumenty PDF przy użyciu silnika przeglądarki Google Chrome. - Metoda następnie używa Metody RenderHtmlAsPdf klasy
ChromePdfRendererdo konwersji treści HTML z pola tekstowegopdfContentdo dokumentu PDF. Ten dokument PDF jest przypisany do zmiennej PdfDocument. - Metoda zapisuje dokument PDF na określonej ścieżce pliku, używając Metody SaveAs klasy
PdfDocument. - Na koniec metoda wyświetla okno komunikatu informujące o pomyślnym zapisaniu pliku PDF.
Metoda getFilePath (zapisywanie plików PDF)
Ta metoda jest używana do wyświetlenia użytkownikowi SaveFileDialog w celu wyboru ścieżki do pliku, w której plik PDF zostanie zapisany.
public string getFilePath()
{
// Create a new instance of the SaveFileDialog class.
SaveFileDialog saveFileDialog1 = new SaveFileDialog();
// Set the initial directory where the SaveFileDialog will open.
saveFileDialog1.InitialDirectory = @"D:\";
// Set the title of the SaveFileDialog.
saveFileDialog1.Title = "Save the PDF Files";
// Set the SaveFileDialog to check if the specified path exists.
saveFileDialog1.CheckPathExists = true;
// Set the default extension for the file type.
saveFileDialog1.DefaultExt = ".pdf";
// Set the filter to display only PDF files or all files.
saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*";
// Set the filter index to display the PDF filter as the default.
saveFileDialog1.FilterIndex = 2;
// Set the RestoreDirectory property to true so that the SaveFileDialog
// restores the current directory before closing.
saveFileDialog1.RestoreDirectory = true;
// Show the SaveFileDialog and get the result.
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
// If the user clicked the OK button in the SaveFileDialog, return the selected file path.
return saveFileDialog1.FileName;
}
// If the user did not click the OK button, return an empty string.
return String.Empty;
}Public Function getFilePath() As String
' Create a new instance of the SaveFileDialog class.
Dim saveFileDialog1 As New SaveFileDialog()
' Set the initial directory where the SaveFileDialog will open.
saveFileDialog1.InitialDirectory = "D:\"
' Set the title of the SaveFileDialog.
saveFileDialog1.Title = "Save the PDF Files"
' Set the SaveFileDialog to check if the specified path exists.
saveFileDialog1.CheckPathExists = True
' Set the default extension for the file type.
saveFileDialog1.DefaultExt = ".pdf"
' Set the filter to display only PDF files or all files.
saveFileDialog1.Filter = "PDF files (*.pdf)|*.pdf|All files (*.*)|*.*"
' Set the filter index to display the PDF filter as the default.
saveFileDialog1.FilterIndex = 2
' Set the RestoreDirectory property to true so that the SaveFileDialog
' restores the current directory before closing.
saveFileDialog1.RestoreDirectory = True
' Show the SaveFileDialog and get the result.
If saveFileDialog1.ShowDialog() = DialogResult.OK Then
' If the user clicked the OK button in the SaveFileDialog, return the selected file path.
Return saveFileDialog1.FileName
End If
' If the user did not click the OK button, return an empty string.
Return String.Empty
End FunctionOto szczegółowy opis działania tej metody:
- Metoda tworzy nową instancję klasy
SaveFileDialog. Ta klasa jest częścią biblioteki Windows Forms i udostępnia okno dialogowe, które pozwala użytkownikowi wybrać ścieżkę, w której zostanie zapisany plik PDF. - Metoda ustawia kilka właściwości obiektu
SaveFileDialog, aby dostosować jego działanie. WłaściwośćInitialDirectoryustawia katalog, w którym najpierw otworzy się okno dialogowe. WłaściwośćTitleustawia tytuł okna dialogowego. WłaściwośćCheckPathExistsokreśla, czy okno dialogowe powinno sprawdzić, czy określona ścieżka istnieje. WłaściwośćDefaultExtustawia domyślne rozszerzenie pliku dla typu pliku. WłaściwośćFilterustawia filtry typów plików, które są wyświetlane w oknie dialogowym. WłaściwośćFilterIndexustawia domyślny filtr do wyświetlenia. Na koniec, właściwośćRestoreDirectoryokreśla, czy okno dialogowe powinno przywrócić bieżący katalog przed zamknięciem. - Metoda wyświetla
SaveFileDialog, wywołując jej metodęShowDialog. Ta metoda wyświetla okno dialogowe i zwraca wartośćDialogResult, która wskazuje, czy użytkownik kliknął przycisk "OK" czy przycisk Anuluj. - Jeśli użytkownik kliknie przycisk "OK", metoda zwraca ścieżkę pliku, którą użytkownik wybrał, uzyskując dostęp do właściwości
FileNamezSaveFileDialog. - Jeśli użytkownik kliknie przycisk "Anuluj" lub zamknie okno dialogowe, metoda zwraca pusty ciąg znaków.
Uruchommy projekt i zobaczmy wynik. Uruchom projekt, a otworzy się poniższy formularz.
Uruchamianie projektu Windows Forms
Wprowadź treść pliku PDF i kliknij przycisk "Zapisz", jak pokazano poniżej.
Okno dialogowe Zapisz
Powstaje następujący plik PDF.
Utworzono plik PDF
IronPDF zapewnia prosty sposób konwersji treści HTML na dokumenty PDF i zapisanie ich na wybranej przez użytkownika ścieżce do pliku, używając klasy ChromePdfRenderer i okna dialogowego SaveFileDialog.
Wnioski
Zapisywanie plików PDF z aplikacji Windows Forms jest częstym wymaganiem, a IronPDF zapewnia łatwą w użyciu i elastyczną metodę realizacji tego zadania. W tym artykułe pokazano, jak używać IronPDF do tworzenia, dodawania treści i zapisywania plików w aplikacji C# Windows Forms. Dzięki IronPDF programiści mogą generować wysokiej jakości pliki PDF ze swoich aplikacji za pomocą zaledwie kilku linii kodu.
IronPDF oferuje szereg funkcji, takich jak samouczek konwersji HTML do PDF, przykładowy kod scałania plików PDF, przewodnik po dzieleniu stron PDF, instrukcja wyodrębniania tekstu i obrazów oraz wiele innych. IronPDF jest bezpłatny do celów programistycznych i dostępny na licencji komercyjnej z bezpłatną wersją próbną, która pozwala programistom na wykorzystanie go w projektach komercyjnych i obejmuje dedykowane wsparcie techniczne oraz aktualizacje.
Ponadto IronPDF jest częścią pakietu Iron Suite, który jest zestawem komponentów oprogramowania .NET zawierającym biblioteki do:
- Generowanie kodów kreskowych (IronBarcode),
- Zarządzanie plikami Excel (IronXL),
- Wyodrębnianie tekstu (IronOCR)
Zakup kompletnego pakietu Iron Suite to opłacalne rozwiązanie, ponieważ można otrzymać wszystkie pięć produktów w cenie dwóch.

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.
Powiązane artykuły


