Przejdź do treści stopki
PORóWNANIA PRODUKTóW

Jak wydrukować plik PDF za pomocą PDFSharp

Funkcjonalność drukowania jest kluczowym aspektem bibliotek do obsługi plików PDF, umożliwiającym programistom generowanie wysokiej jakości wydruków bezpośrednio z ich aplikacji. W tym artykułe porównamy możliwości drukowania dwóch popularnych bibliotek, IronPDF i PDFSharp, w kontekście programowania w języku C# lub platformie .NET. Przyjrzymy się mocnym stronom i ograniczeniom każdej biblioteki, rzucając światło na ich podejście do drukowania plików PDF.

PDFSharp

PDFSharp to biblioteka Open Source .NET, która łatwo tworzy i przetwarza dokumenty PDF w locie z dowolnych plików programów języka .NET. Te same procedury rysowania można wykorzystać do tworzenia dokumentów, rysowania na ekranie lub wysyłania danych wyjściowych do dowolnej drukarki o dowolnej nazwie IP.

IronPDF

IronPDF to popularna biblioteka dla C# .NET, która umożliwia programistom wszechstronną i wydajną pracę z plikami PDF. Zapewnia kompleksowy zestaw funkcji do tworzenia, odczytu, modyfikacji i konwersji dokumentów PDF, co czyni go kompleksowym rozwiązaniem do zadań związanych z plikami PDF. Jedną z jego kluczowych funkcji jest możliwość konwersji treści HTML do formatu PDF, co sprawia, że idealnie nadaje się do generowania plików PDF ze stron internetowych i treści dynamicznych. IronPDF obsługuje również zaawansowane funkcje, takie jak dodawanie znaków wodnych, podpisów cyfrowych, załączników pocztowych i interaktywnych pól formularzy do plików PDF. Dzięki łatwemu w użyciu API i wysokiej wydajności IronPDF stał się ulubionym wyborem programistów do płynnej obróbki plików PDF w środowisku C#.

Jak drukować pliki PDF przy użyciu PDFSharp?

PDFSharp nie oferuje żadnych funkcji do drukowania plików PDF. Jednakże, możemy użyć Acrobata z PDFSharp do drukowania dokumentów PDF. Należy zauważyć, że nie będzie można drukować plików PDF przy użyciu programu Acrobat w najnowszej wersji PDFSharp. Należy zainstalować wersję 1.3.0 PDFSharp, aby drukować dokumenty PDF w C# .NET. Na komputerze musi być zainstalowany program Adobe Reader. Jeśli nie masz zainstalowanego programu Adobe Reader, możesz go pobrać i zainstalować.

Jak wydrukować plik PDF za pomocą PDFSharp: Rysunek 1 - Adobe Reader

Zainstaluj bibliotekę PDFSharp

Instalacja biblioteki PDFSharp jest prostym procesem. PDFSharp jest dostępny jako pakiet NuGet, co pozwala na łatwe dodanie go do projektu C# lub .NET. Oto kroki, jak zainstalować PDFSharp za pomocą NuGet:

  1. Utwórz lub otwórz projekt, w którym chcesz używać biblioteki PDFSharp.
  2. W programie Visual Studio kliknij prawym przyciskiem myszy rozwiązanie swojego projektu w Eksploratorze rozwiązań. Następnie wybierz "Zarządzaj pakietami NuGet dla rozwiązania..." z menu kontekstowego.
  3. W menedżerze pakietów NuGet zobaczysz zakładkę "Przeglądaj". Wpisz "PDFSharp" w pasku wyszukiwania i naciśnij Enter. Spowoduje to wyświetlenie listy dostępnych pakietów PDFSharp.

Jak wydrukować plik PDF za pomocą PDFSharp: Rysunek 2 - PDFSharp

  1. Z wyników wyszukiwania na forum wybierz pakiet PdfSharp i wybierz wersję 1.3.0.
  2. Po wybraniu pakietu i wersji kliknij przycisk "Zainstaluj", aby dodać go do swojego projektu. NuGet zajmie się pobieraniem i instalowaniem biblioteki PDFSharp wraz z jej zależnościami.
  3. Po zainstalowaniu PDFSharp w projekcie, można zacząć używać jej klas i metod do pracy z dokumentami PDF w C# lub .NET.

Drukuj dokument PDF używając PDFSharp

Drukowanie PDF z PDFSharp nie jest prostym zadaniem. Wymagamy, aby w systemie był zainstalowany program Adobe Acrobat Reader. PDFSharp nie zapewnia żadnej funkcji do drukowania plików PDF. Najpierw uruchomimy proces Adobe Reader za pomocą PDFSharp, a następnie wydrukujemy dokument przy użyciu procesu Adobe Reader.

Poniższy fragment kodu przedstawia przykład drukowania pliku PDF:

internal class Program
{
    static void Main(string[] args)
    {
        // Set the path to the Adobe Acrobat Reader executable
        PdfFilePrinter.AdobeReaderPath = @"C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe";

        // Create a PdfFilePrinter object with the path to the PDF and printer name
        PdfFilePrinter printer = new PdfFilePrinter(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF");

        try
        {
            // Print the PDF document
            printer.Print();
        }
        catch (Exception ex) // Catch any exceptions during printing
        {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}
internal class Program
{
    static void Main(string[] args)
    {
        // Set the path to the Adobe Acrobat Reader executable
        PdfFilePrinter.AdobeReaderPath = @"C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe";

        // Create a PdfFilePrinter object with the path to the PDF and printer name
        PdfFilePrinter printer = new PdfFilePrinter(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF");

        try
        {
            // Print the PDF document
            printer.Print();
        }
        catch (Exception ex) // Catch any exceptions during printing
        {
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}
Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Set the path to the Adobe Acrobat Reader executable
		PdfFilePrinter.AdobeReaderPath = "C:\Program Files\Adobe\Acrobat DC\Acrobat\Acrobat.exe"

		' Create a PdfFilePrinter object with the path to the PDF and printer name
		Dim printer As New PdfFilePrinter("D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf", "Microsoft Print To PDF")

		Try
			' Print the PDF document
			printer.Print()
		Catch ex As Exception ' Catch any exceptions during printing
			Console.WriteLine("Error: " & ex.Message)
		End Try
	End Sub
End Class
$vbLabelText   $csharpLabel
  • PdfFilePrinter.AdobeReaderPath ustawia ścieżkę do pliku wykonywalnego Acrobat Reader (Acrobat.exe) w twoim systemie. Informuje PdfFilePrinter, gdzie znaleźć aplikację Acrobat, która jest potrzebna do procesu drukowania. Pamiętaj, aby dodać prawidłową ścieżkę, w przeciwnym razie nie będzie działać.
  • Tworzy się nowy obiekt PdfFilePrinter. Konstruktor przyjmuje dwa argumenty: Pierwszym argumentem jest ścieżka do pliku PDF, który chcesz wydrukować. Drugim argumentem jest nazwa drukarki, do której chcesz wysłać zadanie drukowania (w tym przypadku "Microsoft Print To PDF"). Możesz zastąpić to nazwą wybranej drukarki.
  • Kod próbuje wydrukować dokument PDF za pomocą metody Print z PdfFilePrinter. Jest on umieszczony w bloku try-catch, aby obsłużyć wszelkie wyjątki, które mogą wystąpić podczas procesu drukowania. W przypadku wystąpienia wyjątku komunikat o błędzie zostanie wyświetlony w konsoli.
  • Po uruchomieniu programu otworzy się aplikacja Adobe Acrobat Reader i wydrukuje dokument.

Jak wydrukować plik PDF za pomocą PDFSharp: Rysunek 3 - dialog Zapisz plik

Zainstaluj pakiet IronPDF NuGet

Instalacja IronPDF w projekcie jest bardzo prosta.

  1. Uruchom Visual Studio 2022 i otwórz swój projekt C# lub utwórz nowy, jeśli jeszcze tego nie zrobiłeś.
  2. Kliknij prawym przyciskiem myszy swój projekt w Eksploratorze rozwiązań. Następnie wybierz "Zarządzaj pakietami NuGet..." z menu kontekstowego.
  3. W oknie NuGet Package Manager upewnij się, że znajdujesz się w zakładce "Browse". Wpisz "IronPDF" w pasku wyszukiwania.
  4. Z wyników wyszukiwania znajdź pakiet IronPdf oferowany przez Iron Software i kliknij na niego, aby go wybrać.
  5. Po prawej stronie okna "NuGet Package Manager" zobaczysz listę projektów w swoim rozwiązaniu. Wybierz projekt(y), w którym chcesz zainstalować pakiet. Zazwyczaj wybiera się główny projekt, w ramach którego będzie się pracować z dokumentami PDF.

Jak wydrukować plik PDF za pomocą PDFSharp: Rysunek 4 - pakiet `IronPdf`

  1. Po wybraniu projektu/projektów kliknij przycisk "Zainstaluj", aby dodać pakiet IronPdf do swojego projektu/projektów. NuGet pobierze i zainstaluje pakiet wraz z wszelkimi wymaganymi zależnościami.

To wszystko! Teraz pomyślnie zainstalowałeś pakiet IronPDF NuGet w swoim projekcie Visual Studio 2022 C# i możesz zacząć korzystać z jego klas i metod do pracy z dokumentami PDF.

Drukowanie dokumentu PDF za pomocą IronPDF

Drukowanie pliku PDF za pomocą IronPDF jest dość prostym zadaniem. W przeciwieństwie do PDFSharp, IronPDF zapewnia funkcję drukowania dokumentu PDF. IronPDF udostępnia ustawienia drukowania oraz inne metody niezbędne do drukowania dokumentów. Nie musimy korzystać z żadnych innych procesów ani bibliotek stron trzecich. Poniższy fragment kodu przedstawia przykład drukowania pliku PDF przy użyciu IronPDF.

static void Main(string[] args)
{
    // Create a new PDF document from the specified file path
    PdfDocument pdfDocument = new PdfDocument(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf");

    // Print the PDF document using the default printer
    pdfDocument.Print();
}
static void Main(string[] args)
{
    // Create a new PDF document from the specified file path
    PdfDocument pdfDocument = new PdfDocument(@"D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf");

    // Print the PDF document using the default printer
    pdfDocument.Print();
}
Shared Sub Main(ByVal args() As String)
	' Create a new PDF document from the specified file path
	Dim pdfDocument As New PdfDocument("D:\Tutorial Project\PDFSharpPrintPDF\SamplePDF.pdf")

	' Print the PDF document using the default printer
	pdfDocument.Print()
End Sub
$vbLabelText   $csharpLabel
  • Pierwsza linia tworzy nową instancję klasy PdfDocument z IronPDF z dokumentem PDF z określonej ścieżki do pliku. Ścieżka wskazuje lokalizację pliku PDF, który chcesz wydrukować (w tym przypadku "SamplePDF.pdf"). Klasa PdfDocument reprezentuje dokument PDF, z którym można pracować za pomocą IronPDF.
  • Po załadowaniu dokumentu PDF wywoływana jest metoda Print na instancji PdfDocument. W kontekście IronPDF metoda Print wysyła dokument PDF do domyślnej drukarki zainstalowanej na komputerze, inicjując proces drukowania.
  • Załóżmy, że naszą domyślną drukarką jest Microsoft Print to PDF. W tym przypadku powyższy kod otwiera okno dialogowe Zapisz plik podczas wykonywania.

Jak wydrukować plik PDF za pomocą PDFSharp: Rysunek 5 - Zapisz plik

Można również określić inną drukarkę, używając następującego kodu:

// Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer";
// Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer";
' Set the printer name to a specific printer
pdfDocument.GetPrintDocument().PrinterSettings.PrinterName = "my Printer"
$vbLabelText   $csharpLabel
  • Ta linia konfiguruje zadanie drukowania do użycia określonej drukarki innej niż domyślna poprzez ustawienie właściwości PrinterName w PrinterSettings.

Wnioski

IronPDF i PDFSharp to obie potężne biblioteki do pracy z plikami PDF w C# lub .NET. Jednak IronPDF oferuje bardziej nowoczesne i bogate w funkcje rozwiązanie, zapewniające możliwości tworzenia, odczytu, modyfikacji i konwersji plików PDF, a także obsługę konwersji HTML do PDF. Prosty interfejs API i usprawnione podejście IronPDF ułatwiają programistom pracę z plikami PDF bezpośrednio w ich aplikacjach. Z drugiej strony, chociaż PDFSharp jest zdolny, wymaga zewnętrznej aplikacji, takiej jak Acrobat, do niektórych zadań, takich jak drukowanie PDF-ów, co czyni go mniej wygodnym dla obsługi całego przepływu pracy z PDF-ami.

IronPDF jest bezpłatny do celów programistycznych i oferuje bezpłatną wersję próbną do użytku komercyjnego.

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 wydrukować plik PDF w języku C# bez utraty formatowania?

Możesz użyć IronPDF do drukowania plików PDF bez utraty formatowania. IronPDF oferuje wbudowane funkcje drukowania, które nie wymagają aplikacji innych firm, zapewniając zachowanie formatowania dokumentu.

Jakie są główne różnice między IronPDF a PDFsharp?

IronPDF oferuje kompleksową Suite funkcji, w tym konwersję HTML do PDF oraz wbudowane możliwości drukowania. Z kolei PDFsharp wymaga programu Adobe Acrobat Reader do drukowania, ponieważ nie posiada wbudowanych funkcji drukowania.

Jak przekonwertować HTML na PDF w języku C#?

Dzięki IronPDF można konwertować HTML na PDF za pomocą metody RenderHtmlAsPdf. Umożliwia to łatwą konwersję ciągów znaków lub plików HTML do formatu PDF.

Czy w języku C# można dodawać znaki wodne do dokumentów PDF?

Tak, IronPDF umożliwia dodawanie znaków wodnych do dokumentów PDF za pomocą swojego API. Ta funkcja pozwala skutecznie dostosowywać i zabezpieczać dokumenty.

Jak zainstalować IronPDF za pomocą NuGet?

Aby zainstalować IronPDF za pośrednictwem NuGet, otwórz Visual Studio, kliknij prawym przyciskiem myszy na swój projekt, wybierz „Zarządzaj pakietami NuGet...”, wyszukaj „IronPDF”, wybierz swój projekt i kliknij „Zainstaluj”.

Czy IronPDF obsługuje podpisy cyfrowe w dokumentach PDF?

Tak, IronPDF obsługuje dodawanie podpisów cyfrowych do dokumentów PDF, zwiększając bezpieczeństwo i autentyczność ważnych plików.

Czy podczas drukowania pliku PDF za pomocą IronPDF mogę wybrać inną drukarkę?

Tak, IronPDF pozwala na określenie innej drukarki poprzez ustawienie właściwości PrinterName w PrinterSettings obiektu PdfDocument.

Czy IronPDF jest bezpłatny do celów programistycznych?

IronPDF jest bezpłatny do celów programistycznych i oferuje wersję próbną do użytku komercyjnego, co sprawia, że jest dostępny do testowania i integracji z projektami.

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

Zespół wsparcia Iron

Jesteśmy online 24 godziny, 5 dni w tygodniu.
Czat
E-mail
Zadzwoń do mnie