Przejdź do treści stopki
PORóWNANIA PRODUKTóW
Jak wygenerować plik PDF w języku C# (.NET 5) przy użyciu PDFsharp

Jak wygenerować plik PDF w języku C# (.NET 5) przy użyciu PDFSharp

Film jest instrukcją pokazującą, jak używać biblioteki PDFsharp do generowania plików PDF za pomocą kodu C#. Prelegent rozpoczyna od przedstawienia PDFsharp jako skomplikowanej, ale skutecznej biblioteki do generowania plików PDF. Biblioteka posiada zaawansowane funkcje i w przeciwieństwie do wielu swoich konkurentów jest całkowicie bezpłatna. Prelegent podkreśla, że pomimo swojej złożoności, PDFsharp jest doskonałym wyborem do generowania plików PDF przy użyciu języka C#.

Na początku samouczka prelegent przedstawia przykład wygenerowanego pliku PDF, który składa się z trzech wierszy tekstu. Pierwsza linijka tekstu nie jest dokładnie pierwszą, natomiast trzecia linijka tekstu pojawia się w prawym dolnym rogu. Prelegent zauważa, że kolejność tekstu nabierze sensu po przejrzeniu kodu. Wyjaśniają również, że będą używać .NET 5, aby zademonstrować działanie PDFsharp. Aby uzyskać szerszy obraz tworzenia plików PDF od podstaw w języku C#,IronPDFoferuje uproszczone alternatywne podejście.

Oto krótkie zestawienie różnic między PDFsharp aIronPDFw zakresie funkcji najbardziej istotnych dla projektów PDF w środowisku .NET:

Funkcja IronPDF PDFSharp
Konwersja HTML do PDF Yes Nie
Podpisy cyfrowe Yes Nie
Szyfrowanie Yes Nie
HTML, CSS i JavaScript Yes Nie
Professional wsparcie Yes Nie
Licencjonowanie Komercjalne MIT (Open Source)

Szczegółowe wyjaśnienia i przykłady kodu dla każdej z tych różnic znajdują się w poniższych sekcjach. Zespoły porównujące obie biblioteki mogą przetestować możliwościIronPDFdzięki [bezpłatnemu 30-dniowemu okresowi próbnemu](Licencja Trial.

Instalacja i konfiguracja

Zanim przejdzie do kodu, prelegent podkreśla, że skonfigurowanie środowiska dla PDFsharp może być dość trudne. Wyjaśniają, że przed rozpoczęciem pracy z PDFsharp należy zainstalować trzy pakiety NuGet. Szczegóły pakietu NuGet. Pierwszym pakietem jest sam PDFsharp, który może wygenerować ostrzeżenie, że może nie być zgodny z platformą .NET ze względu na starszą wersję. Pozostałe dwa pakiety to System.Drawing.Common i System.Text.Encoding.CodePages.

Jak wygenerować plik PDF w języku C# (.NET 5) przy użyciu PDFSharp: Rysunek 1

Prelegent podkreśla, że przed rozpoczęciem pracy z PDFsharp należy zainstalować wszystkie trzy pakiety; w przeciwnym razie kod wygeneruje błąd. Wyjaśniają, że pakiet System.Text.Encoding.CodePages jest szczególnie ważny, ponieważ zapewnia obsługę kodowania niezbędną do generowania plików PDF. Autor zwraca również uwagę, że nieprawidłowa instalacja pakietów może utrudnić rozwiązywanie problemów. Zespoły, które chcą całkowicie uniknąć tej konfiguracji z wieloma pakietami, mogą skorzystać z przewodnika migracji z PDFsharp do IronPDF, aby przeprowadzić przejście krok po kroku.

Instalowanie powiązanych bibliotek

Aby PDFSharp działał poprawnie, prelegent wyjaśnia, że należy zarejestrować dostawcę dla System.Text.Encoding. Dostawca pochodzi z pakietu System.Text.Encoding.CodePages, a prelegent podkreśla znaczenie zarejestrowania pakietu w celu zapewnienia prawidłowego działania PDFsharp. Wyjaśniają, że brak rejestracji dostawcy spowoduje błąd, którego usunięcie może być trudne.

Tworzenie pliku PDF

Następnie prelegent przedstawia prostą aplikację konsolową, która wykorzystuje PDFsharp do generowania pliku PDF. Wyjaśnia, że przed użyciem biblioteki należy zadeklarować instrukcje using dla PDFsharp Drawing i PDFsharp PDF. Następnie prelegent przedstawia kod służący do generowania pliku PDF, który obejmuje utworzenie nowego dokumentu, dodanie nowej strony oraz narysowanie tekstu na tej stronie.

using PdfSharp.Drawing;
using PdfSharp.Pdf;

namespace PdfSharpExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            PdfDocument document = new PdfDocument();
            // Add a new page
            PdfPage page = document.AddPage();
            // Prepare to draw on the page
            XGraphics gfx = XGraphics.FromPdfPage(page);
            // Define a font
            XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

            // Draw a string to the page
            gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
                new XRect(0, 0, page.Width, page.Height),
                XStringFormats.Center);

            // Save the document
            const string filename = "HelloWorld.pdf";
            document.Save(filename);  
        }
    }
}
using PdfSharp.Drawing;
using PdfSharp.Pdf;

namespace PdfSharpExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Create a new PDF document
            PdfDocument document = new PdfDocument();
            // Add a new page
            PdfPage page = document.AddPage();
            // Prepare to draw on the page
            XGraphics gfx = XGraphics.FromPdfPage(page);
            // Define a font
            XFont font = new XFont("Verdana", 20, XFontStyle.Bold);

            // Draw a string to the page
            gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black,
                new XRect(0, 0, page.Width, page.Height),
                XStringFormats.Center);

            // Save the document
            const string filename = "HelloWorld.pdf";
            document.Save(filename);  
        }
    }
}
Imports PdfSharp.Drawing
Imports PdfSharp.Pdf

Namespace PdfSharpExample
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			' Create a new PDF document
			Dim document As New PdfDocument()
			' Add a new page
			Dim page As PdfPage = document.AddPage()
			' Prepare to draw on the page
			Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
			' Define a font
			Dim font As New XFont("Verdana", 20, XFontStyle.Bold)

			' Draw a string to the page
			gfx.DrawString("Hello, PDFsharp!", font, XBrushes.Black, New XRect(0, 0, page.Width, page.Height), XStringFormats.Center)

			' Save the document
			Const filename As String = "HelloWorld.pdf"
			document.Save(filename)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Prelegent zauważa, że kod służący do generowania pliku PDF można dostosować tak, aby uwzględniał bardziej złożone funkcje, takie jak dodawanie obrazów (zobacz, jak konwertować obrazy do formatu PDF za pomocą IronPDF), tabel i wykresów. Wyjaśniają również, że PDFsharp oferuje różne funkcje do pracy z czcionkami, w tym osadzanie czcionek w pliku PDF.

Jak wygenerować plik PDF w języku C# (.NET 5) przy użyciu PDFSharp: Rysunek 2

Prelegent wyjaśnia, jak ważne jest prawidłowe skonfigurowanie środowiska poprzez zainstalowanie niezbędnych pakietów NuGet i zarejestrowanie dostawcy dla System.Text.Encoding. Przedstawiono również prostą aplikację konsolową, która wykorzystuje PDFsharp do generowania pliku PDF i pokazuje, w jaki sposób można dostosować kod, aby uwzględnić bardziej złożone funkcje. Film jest doskonałym źródłem informacji dla wszystkich osób zainteresowanych tworzeniem plików PDF przy użyciu języka C# i biblioteki PDFsharp.

Tworzenie list i bardziej złożonych elementów

W drugiej części filmu prelegent rozpoczyna od przedstawienia bardziej złożonego przykładu tworzenia dokumentu PDF. Podkreśla, że posiadanie pustego dokumentu PDF nie ma sensu, a następnie wyjaśnia, jak utworzyć nową stronę przy użyciu biblioteki PDFSharp. Zauważa on, że proces ten jest podobny do tworzenia elementów w dodatkach do programów Excel lub PowerPoint oraz że po utworzeniu strony działa ona w oparciu o odwołanie, które nie wymaga wywołania innej metody.

Jak wygenerować plik PDF w języku C# (.NET 5) przy użyciu PDFSharp: Rysunek 3

Następnie prelegent przedstawia zmienną XGraphics, która udostępnia metody rysowania takich elementów jak tekst, linie i obrazy — funkcjonalność, którąIronPDFobsługuje za pośrednictwem swojego API do umieszczania tekstu i obrazów bez konieczności ręcznego obliczania współrzędnych. Wprowadzono również zmienną XFont jako sposób na ustawienie czcionki do użycia w dokumencie PDF. Prelegent zauważa, że czcionkę można wygenerować gdzie indziej, ale w przypadku bardziej złożonego układu warto skonfigurować ją globalnie.

Następnie prelegent omawia metodę DrawString, która zapisuje tekst w pliku PDF. Zauważa, że złożoną częścią tej metody jest określenie miejsca, w którym tekst zostanie narysowany, i wyjaśnia różne związane z tym parametry, takie jak czcionka, kolor i granice, w których tekst może się wyrównać. Wyjaśnia również użycie zmiennej XBrushes do ustawienia koloru tekstu.

Wyjaśnienie DrawString i innych metod

Następnie prelegent przedstawia kilka przykładów użycia metody DrawString z różnymi parametrami, takimi jak wyrównanie tekstu do środka, wyrównanie do lewego dolnego rogu oraz określenie dokładnych współrzędnych, w których tekst zostanie umieszczony. Zauważa on, że ostatnia opcja jest najbardziej konfigurowalna i oferuje dużą elastyczność.

Jak wygenerować plik PDF w języku C# (.NET 5) przy użyciu PDFSharp: Rysunek 4

Prelegent wyjaśnia, jak utworzyć tabelę przy użyciu grafiki w języku programowania C#. Obejmują one sposób wstawiania obrazów, ciągów znaków i linii, a także rysowania łuków i BARCODE-ów za pomocą funkcji graficznej — zadania, któreIronPDFupraszcza dzięki opcjom renderowania marginesów, nagłówków i DPI. Wyjaśniają również znaczenie metody prób i błędów podczas pracy ze współrzędnymi oraz sposób rysowania linii w celu oddzielenia wierszy.

Prelegent omawia również nagłówek tabeli oraz potrzebę ustalenia punktu początkowego dla wartości i linii. Wyjaśnia, jak dostosować pozycję y i dodawać wiersze rekordów, a także jak przejść do kolejnej strony, gdy tabela przekroczy określoną liczbę rekordów. Na koniec wspominają o znaczeniu resetowania wartości dla każdej strony.

Którą bibliotekę wybrać?

Podsumowując, prelegent podkreśla znaczenie znajomości dodatków do pakietu Microsoft Office podczas pracy z PDFSharp i oferuje własny kurs na ten temat. Zauważa również, że biblioteka jest bardzo wszechstronna i może służyć do tworzenia szerokiej gamy dokumentów PDF, od prostych dokumentów tekstowych po bardziej złożone, zawierające obrazy, grafiki i niestandardowe układy.

Czym jest IronPDF?

IronPDF to biblioteka C# do tworzenia, edycji i manipulowania dokumentami PDF. Jest dostarczany jako pojedynczy pakiet NuGet — Install-Package IronPdf — i integruje się z aplikacjami .NET bez konieczności dodatkowej konfiguracji zależności.

PDFsharp zapewnia solidną kontrolę rysowania na niskim poziomie i jest dystrybuowany na liberalnej licencji MIT — to dwie prawdziwe zalety, które sprawiły, że stał się on podstawowym narzędziem w wielu projektach .NET. Zespoły często napotykają trudności, gdy wymagania wykraczają poza renderowanie oparte na współrzędnych i obejmują takie obszary, jak konwersja HTML do PDF, podpisy cyfrowe lub szyfrowanie dokumentów.IronPDFto biblioteka objęta wsparciem komercyjnym, która traktuje te scenariusze jako operacje najwyższej klasy, oferując profesjonalne wsparcie oraz interfejs API zaprojektowany z myślą o typowych procesach generowania dokumentów, w tym renderowaniu HTML, CSS i JavaScript.

Funkcje

Funkcje IronPDF PDFSharp
Konwersja HTML do PDF Tak Nie
Professional wsparcie Tak Nie
Obsługa HTML, CSS i JavaScript Tak Nie
Podpisy cyfrowe Tak Nie
Szyfrowanie Tak Nie

Jedną z kluczowych funkcjiIronPDFjest możliwość konwersji HTML do PDF za pomocą IronPDF, co ułatwia tworzenie dokumentów PDF ze stron internetowych. Konwersja HTML do PDF wykracza poza obecny zakres działania PDFsharp — działa on na poziomie rysowania współrzędnych — więc zespoły potrzebujące tej funkcji zazwyczaj dodają oddzielną bibliotekę renderującą lub rozważają wbudowany silnik Chromium w IronPDF.

IronPDF obsługuje również podpisy cyfrowe oraz szyfrowanie plików PDF z ochroną hasłem, co ma kluczowe znaczenie w przypadku poufnych dokumentów wymagających bezpiecznego postępowania. PDFsharp nie jest przeznaczony do obsługi takich scenariuszy bezpieczeństwa, więc zespoły, które muszą spełniać wymogi dotyczące zgodności lub ochrony dokumentów, często uznają to za naturalny punkt zwrotny przy ocenie IronPDF.

IronPDF zapewnia szerszy zestaw funkcji i bardziej kompleksową ofertę wsparcia w porównaniu z PDFsharp, obejmując renderowanie HTML, szyfrowanie i podpisy cyfrowe w jednym pakiecie NuGet. Jest to jednak produkt komercyjny, więc zespoły, których wymagania mieszczą się w modelu rysowania współrzędnych PDFsharp — i które nie potrzebują konwersji HTML ani wbudowanych funkcji bezpieczeństwa — mogą preferować podejście PDFsharp oparte na licencji MIT i oprogramowaniu open source.

Oprócz kosztów licencji, całkowity koszt projektu obejmuje godziny pracy programistów poświęcone na tworzenie oddzielnych bibliotek renderujących, zarządzanie układami stron opartymi na współrzędnych dla złożonych dokumentów oraz rozwiązywanie problemów związanych z konfiguracją wielu pakietów, której wymaga PDFsharp. Dla zespołów oceniających koszty w perspektywie wieloletniego cyklu życia projektu koszty integracji i utrzymania często przewyższają różnicę między licencjami open source a komercyjnymi.

Chcesz sprawdzić, jakIronPDFwpisuje się w Twój proces pracy? [Pobierz bezpłatną 30-dniową wersję probną](Licencja Trial, aby przetestować wszystkie funkcje omówione w tym porównaniu.

Zwróć uwagęPDFsharp jest zastrzeżonym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z PDFsharp, nie jest przez niego promowana ani sponsorowana. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.

Często Zadawane Pytania

Jak wygenerować plik PDF za pomocą PDFsharp w języku C#?

Aby wygenerować plik PDF za pomocą PDFsharp, należy utworzyć nowy dokument PDF, dodać do niego stronę i wykorzystać obiekt XGraphics do narysowania tekstu lub grafiki. Należy pamiętać o dołączeniu instrukcji using dla przestrzeni nazw PdfSharp.Drawing i PdfSharp.Pdf.

Jakie są niezbędne pakiety NuGet wymagane dla PDFsharp?

Aby efektywnie pracować z PDFsharp, należy zainstalować następujące pakiety NuGet: PDFsharp, System.Drawing.Common oraz System.Text.Encoding.CodePages. Pakiety te są niezbędne do obsługi kodowania i prawidłowego generowania plików PDF.

Jak wypada IronPDF w porównaniu z PDFsharp pod względem generowania plików PDF w języku C#?

IronPDF to komercyjna biblioteka, która oferuje zaawansowane funkcje, takie jak konwersja HTML do PDF, podpisy cyfrowe i szyfrowanie, które nie są dostępne w PDFsharp. Zapewnia również lepszą dokumentację i profesjonalne wsparcie, dzięki czemu jest bardziej przyjazna dla użytkownika w przypadku złożonych zadań.

Jakie są ograniczenia korzystania z PDFsharp do generowania plików PDF?

PDFsharp nie obsługuje HTML, CSS ani JavaScript, co ogranicza jego zastosowania. Wymaga dobrej znajomości konfiguracji kodowania i dodatków do pakietu Microsoft Office w przypadku złożonych dokumentów, co może sprawiać, że jest mniej intuicyjny w porównaniu z IronPDF.

Dlaczego pakiet System.Text.Encoding.CodePages jest ważny dla PDFsharp?

Pakiet System.Text.Encoding.CodePages zapewnia niezbędną obsługę kodowania podczas generowania plików PDF za pomocą PDFsharp. Bez prawidłowej instalacji i rejestracji tego pakietu mogą wystąpić błędy związane z kodowaniem.

Czy mogę przekonwertować HTML na PDF za pomocą darmowej biblioteki C#?

Nie, PDFsharp nie obsługuje konwersji HTML do PDF. Do tego celu potrzebna jest komercyjna biblioteka, taka jak IronPDF, która oferuje tę funkcję wraz z innymi zaawansowanymi możliwościami.

Jak mogę rozwiązywać typowe problemy w PDFsharp?

Typowe błędy w PDFsharp często wynikają z nieprawidłowej konfiguracji pakietów NuGet lub problemów z kodowaniem. Aby rozwiązać takie problemy, upewnij się, że wszystkie wymagane pakiety, w tym System.Text.Encoding.CodePages, są poprawnie zainstalowane i zarejestrowane.

Jakie zaawansowane funkcje są dostępne w IronPDF dla programistów C#?

IronPDF oferuje zaawansowane funkcje, takie jak konwersja HTML do PDF, podpisy cyfrowe, szyfrowanie oraz obsługę CSS i JavaScript. Zapewnia również integrację z aplikacjami .NET oraz profesjonalne wsparcie, co czyni go potężnym narzędziem dla programistów.

Jak dostosować układ tekstu w pliku PDF za pomocą PDFsharp?

Korzystając z PDFsharp, można dostosować układ tekstu w pliku PDF, wykorzystując metodę DrawString klasy XGraphics. Pozwala to na ustawienie właściwości, takich jak czcionka, kolor i wyrównanie tekstu w określonych granicach.

Czy PDFsharp nadaje się do tworzenia złożonych dokumentów PDF w języku C#?

PDFsharp umożliwia tworzenie złożonych dokumentów PDF, ale wymaga solidnej wiedzy na temat kodowania i dodatków do pakietu Microsoft Office. IronPDF może być lepszym rozwiązaniem do złożonych zadań ze względu na bardziej intuicyjny interfejs API i dodatkowe funkcje.

Curtis Chau
Autor tekstów technicznych

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ę...

Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie