Jak wydrukować dokument PDF w C# | IronPRINT

How to Print PDF Files in C# 14

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF umożliwia deweloperom C# programistyczne drukowanie plików PDF bezpośrednio na fizycznych drukarkach za pomocą jednego wywołania metody, oferując precyzyjną kontrolę nad ustawieniami drukarki, rozdzielczością (DPI) oraz obsługą dokumentów w zautomatyzowanych przepływach pracy drukowania w aplikacjach .NET.

Wysyłanie plików PDF do drukarek z kodu .NET C# automatyzuje proces drukowania, umożliwiając integrację funkcji drukowania z aplikacjami, redukcję pracy ręcznej i zapewnienie spójności w produkcji dokumentów. Umożliwia precyzyjną kontrolę nad procesem drukowania. Ta funkcjonalność jest niezwykle ważna dla aplikacji generujących faktury, raporty lub jakiekolwiek dokumenty wymagające kopii fizycznych bez interwencji użytkownika.

IronPDF oferuje możliwość programistycznego drukowania na fizycznej drukarce za pomocą jednego wywołania metody, umożliwiając drukowanie wielu plików PDF. Rozdzielczość drukarki można również określić z konfigurowalnym poziomym i pionowym DPI. Aby uzyskać większą kontrolę nad procesem drukowania plików PDF, należy użyć metody akceptującej zarówno Microsoft PrinterSettings, jak i PrintController. Przed rozpoczęciem drukowania upewnij się, że zainstalowałeś IronPDF w swoim projekcie .NET.

Szybki start: Drukuj pliki PDF w .NET z IronPDF

Łatwo drukuj swoje dokumenty PDF za pomocą IronPDF z zaledwie kilku liniami kodu. Ten przewodnik pokazuje, jak szybko zintegrować drukowanie PDF z aplikacjami .NET. Dzięki IronPDF możesz wysyłać pliki bezpośrednio do drukarek z minimalnym ustawieniem, ciesząc się przy tym elastycznymi ustawieniami i wysokiej jakości wydrukiem. Zacznij już teraz i uprość swój przepływ pracy z dokumentami. Dla bardziej zaawansowanych scenariuszy drukowania zapoznaj się z naszym kompleksowym przewodnikiem po papierowym drukowaniu PDFów.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    IronPdf.PdfDocument.FromFile("example.pdf").Print();
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


Jak drukować pliki PDF za pomocą IronPDF?

Metoda Print jest dostępna za pośrednictwem obiektu PdfDocument, co pozwala na drukowanie zarówno nowo utworzonych, jak i istniejących plików PDF. Domyślnie metoda korzysta z domyślnej drukarki systemu, ale można określić inną drukarkę, przekazując jej nazwę jako ciąg znaków do metody Print. Ta elastyczność ułatwia integrację drukowania PDF z istniejącymi przepływami pracy, niezależnie od tego, czy generujesz dokumenty dynamicznie, czy pracujesz z wcześniej utworzonymi PDFami.

Zwróć uwagęWszystkie funkcje drukowania są obsługiwane tylko na Windows.

Jakie drukarki mogę użyć?

IronPDF obsługuje drukowanie na każdej zainstalowanej drukarce w systemie Windows, w tym na drukarkach sieciowych, wirtualnych drukarkach jak "Microsoft Print to PDF" oraz drukarkach fizycznych podłączonych przez USB lub sieć. Aby konkretnie drukować na drukarkach sieciowych, sprawdź nasz przewodnik po drukowaniu na drukarkach sieciowych dla dodatkowych wskazówek konfiguracyjnych.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Send the document to "Microsoft Print to PDF" printer
pdf.Print("Microsoft Print to PDF")
$vbLabelText   $csharpLabel

Co się dzieje, gdy wysyłam PDF do drukowania?

Po wywołaniu metody Print IronPDF wysyła dokument PDF do bufora wydruku systemu Windows, który zarządza kolejką wydruku dla wybranej drukarki. Dokument pojawia się w kolejce drukowania z takimi szczegółami jak nazwa pliku, rozmiar i status. Kolejka drukowania następnie przetwarza dokument zgodnie z możliwościami drukarki i bieżącą pozycją w kolejce.

Kolejka drukowania Windows pokazująca Microsoft Print to PDF z dokumentem w kolejce, wyświetlająca status zadania i szczegóły pliku

Jak mogę kontrolować jakość druku i rozdzielczość?

Rozdzielczość drukowanego pliku PDF można określić, podając żądaną wartość DPI w metodzie Print, która stosuje tę samą wartość DPI zarówno dla wymiaru poziomego, jak i pionowego. Aby użyć różnych wartości DPI, przekaż dwa parametry do metody: pierwszy dla poziomego (x) DPI, a drugi dla pionowego (y) DPI. Wyższe wartości DPI dają lepszej jakości wydruki, ale skutkują większymi rozmiarami plików i dłuższym czasem przetwarzania.

Kiedy powinienem dostosować ustawienia DPI?

Różne scenariusze drukowania wymagają różnych ustawień DPI. Dla standardowych dokumentów biurowych 150-300 DPI zapewnia dobrą jakość. Dla grafiki o wysokiej jakości lub zdjęć użyj 600 DPI lub więcej. Druk próbny może używać 72-150 DPI, co oszczędza czas i zasoby. Tworząc pliki PDF wyłącznie do oglądania cyfrowego, zapoznaj się z naszym przewodnikiem po kompresji PDF, aby zoptymalizować rozmiary plików.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-dpi.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Set custom DPI
pdf.Print(300);

// Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Set custom DPI
pdf.Print(300)

' Specify printing resolution
pdf.Print(10, 10, "Microsoft Print to PDF")
$vbLabelText   $csharpLabel

Jakie wartości DPI działają najlepiej dla różnych typów drukowania?

Zobaczmy, jak rastrować i drukować plik PDF w następnym przykładzie. Wybór DPI zależy od twoich specyficznych potrzeb:

  • Dokumenty tekstowe: 300 DPI zapewnia ostre, czytelne teksty

  • Zawartość mieszana (tekst i obraz): 300-400 DPI balansuje jakość i rozmiar pliku

  • Zdjęcia wysokiej jakości: 600 DPI lub więcej zachowuje szczegóły obrazu

  • Druk próbny: 150 DPI na szybkie kopie recenzji

  • Jakość archiwalna: 1200 DPI na długoterminowe zachowanie

Jak mogę zapisać pliki PDF bez fizycznego drukowania?

Metoda PrintToFile skutecznie rasteryzuje dokumenty PDF, konwertując je na obrazy bitmapowe (oparte na pikselach) i zapisując je jako plik PDF. Proces ten jest obsługiwany przez wbudowaną drukarkę systemu Windows, taką jak "Microsoft Print to PDF". Co ważne, metoda ta zapisuje plik PDF na dysku bez wysyłania go do fizycznej drukarki. Aby uzyskać więcej sposobów na zapisywanie plików PDF, zapoznaj się z naszym kompleksowym przewodnikiem dotyczącym eksportowania i zapisywania PDF.

Dłączego warto użyć funkcji PrintToFile zamiast zwykłego zapisu?

PrintToFile oferuje wyjątkowe zalety, gdy trzeba zasymulować proces drukowania bez fizycznego wydruku. Jest to szczególnie przydatne przy tworzeniu gotowych do druku plików, testowaniu układów druku lub generowaniu dokumentów, które dokładnie odwzorowują to, co pojawiłoby się na papierze. Ta metoda może również pomóc, gdy trzeba przekonwertować PDFy na konkretny format lub zastosować transformacje specyficzne dla drukarki.

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-print-to-file.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>");

// Print to file
pdf.PrintToFile("");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Test printing</h1>")

' Print to file
pdf.PrintToFile("")
$vbLabelText   $csharpLabel

Jakie są korzyści z rastrowania?

Rasteryzacja za pomocą PrintToFile zapewnia kilka korzyści:

  • Spójny wygląd: Zapewnia, że PDF wygląda identycznie na różnych przeglądarkach

  • Osadzanie czcionek: Konwertuje tekst na obrazy, eliminując problemy z kompatybilnością czcionek

  • Bezpieczeństwo: Czyni tekst nie-wybieralnym i trudniejszym do ekstrakcji

  • Podgląd wydruku: Pokazuje dokładnie, jak dokument będzie wyglądał po wydrukowaniu

  • Optymalizacja rozmiaru pliku: Może zmniejszyć rozmiar pliku dla złożonej grafiki wektorowej

Aby pracować z plikami PDF w pamięci bez zapisywania na dysk, zapoznaj się z naszym przewodnikiem PDF do MemoryStream.


Jak mogę uzyskać dostęp do zaawansowanych ustawień drukarki?

Aby dostosować opcje drukowania, należy użyć metody GetPrintDocument, która akceptuje obiekty Microsoft PrinterSettings i PrintController. Ta metoda zwraca bieżący obiekt dokumentu drukowanego. PrinterSettings pozwala skonfigurować opcje, takie jak zakres stron i wybór drukarki, natomiast PrintController umożliwia kontrolę nad procesem drukowania, w tym obsługę wyjątków, raportowanie postępu, okna dialogowe drukowania, podgląd wydruku i inne powiązane zadania. Szczegółowe opisy opcji PrinterSettings znajdują się poniżej przykładowego kodu. Dla niestandardowych rozmiarów papieru zapoznaj się z naszym przewodnikiem dotyczącym niestandardowych rozmiarów papieru.

Jakie ustawienia mogę skonfigurować?

:path=/static-assets/pdf/content-code-examples/how-to/print-pdf-printer-setting.cs
using IronPdf;
using System.Drawing.Printing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Testing</h1>");

PrinterSettings settings = new PrinterSettings() {
    PrinterName = "Microsoft Print to PDF",

    // Number of Copy
    Copies = 2,

    // Page range to print
    FromPage = 2,
    ToPage = 4,
};

PrintDocument document = pdf.GetPrintDocument(settings);

// Print
document.Print();
Imports IronPdf
Imports System.Drawing.Printing

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Testing</h1>")

Private settings As New PrinterSettings() With {
	.PrinterName = "Microsoft Print to PDF",
	.Copies = 2,
	.FromPage = 2,
	.ToPage = 4
}

Private document As PrintDocument = pdf.GetPrintDocument(settings)

' Print
document.Print()
$vbLabelText   $csharpLabel

Co kontroluje każda właściwość PrinterSettings?

Zrozumienie każdej właściwości PrinterSettings pomaga w precyzyjnym dostosowaniu procesu drukowania:

  • CanDuplex: Wskazuje, czy drukarka obsługuje drukowanie dwustronne. Jeśli true, możliwe jest drukowanie na obu stronach kartki; w przeciwnym razie, nie jest.

  • Collate: Określa, czy podczas drukowania należy sortować (uporządkować) wiele plików PDF lub kopii dokumentu PDF. Gdy true, drukarka sortuje kopie; gdy false, to nie działa.

  • Copies: Ustawia liczbę kopii dokumentu PDF do wydrukowania. Określa, ile identycznych kopii dokumentu zostanie wydrukowanych.

  • DefaultPageSettings: Odzwierciedla domyślne ustawienia strony dla drukarki, w tym rozmiar papieru, marginesy i orientację. Jest to kluczowe dla zapewnienia, że twoje PDFy będą się drukować poprawnie na różnych formatach papieru.

  • Duplex: Określa tryb drukowania dwustronnego, który ma być używany. Dostępne opcje to Duplex.Default, Duplex.Simplex (jednostronny), Duplex.Horizontal oraz Duplex.Vertical.

  • InstalledPrinters: Dostarcza zbiór nazw drukarek zainstalowanych w systemie. Możesz iterować przez tę kolekcję, aby uzyskać nazwy dostępnych drukarek.

  • IsDefaultPrinter: Wskazuje, czy drukarka określona w PrinterName jest ustawiona jako drukarka domyślna w systemie.

  • IsPlotter: Określa, czy drukarka jest ploterem. Drukarki ploterowe są często używane do druku wielkoformatowego, takiego jak dla rysunków architektonicznych lub inżynieryjnych.

  • IsValid: Wskazuje, czy ustawienia drukarki są prawidłowe i czy można ich używać do drukowania plików PDF.

  • LandscapeAngle: Określa kąt (obrót) orientacji poziomej dla drukarki, zazwyczaj 90 stopni dla orientacji pionowej.

  • MaximumCopies: Oznacza maksymalną liczbę kopii, jaką można określić do wydruku pliku PDF.

  • MaximumPage: Określa maksymalną liczbę stron, jaką można ustawić do drukowania lub konwersji.

  • MinimumPage: Określa minimalną liczbę stron, jaką można ustawić do drukowania lub konwersji.

  • PaperSizes: Zawiera listę obsługiwanych formatów papieru dla drukarki. Możesz sprawdzić tę kolekcję, aby określić dostępne rozmiary papieru.

  • PaperSources: Oferuje zbiór źródeł papieru lub podajników dostępnych dla drukarki. Może to być przydatne przy wyborze źródła papieru do drukowania plików PDF.

  • PrinterName: Określa nazwę drukarki, która ma być używana do drukowania lub konwersji.

  • PrinterResolutions: Zawiera listę dostępnych rozdzielczości drukarki, umożliwiając wybór jakości wydruku.

  • PrintFileName: Pobiera lub ustawia nazwę pliku podczas drukowania do pliku przy użyciu PrintToFile.

  • PrintRange: Określa zakres stron PDF do wydrukowania, np. wszystkie strony, określony zakres lub zaznaczone strony. Użyj tego, aby wydrukować określone strony.

  • FromPage: Określa numer strony początkowej do drukowania lub konwersji. Drukowanie rozpocznie się od tej strony.

  • ToPage: Określa numer ostatniej strony do wydruku lub konwersji. Drukowanie zostanie zatrzymane po osiągnięciu tej strony.

  • PrintToFile: Wskazuje, czy wydrukować do pliku zamiast na fizycznej drukarce. W przypadku true można określić ścieżkę do pliku za pomocą PrintFileName.

  • SupportsColor: Wskazuje, czy drukarka obsługuje drukowanie w kolorze. Jeśli true, obsługiwany jest druk w kolorze; w przeciwnym razie, jest ograniczone do drukowania czarno-białego (monochromatycznego).

Jak skonfigurować domyślną drukarkę?

Na końcu, aby skonfigurować domyślną drukarkę do drukowania PDFów, przejdź do sekcji "Drukarki i skanery" w ustawieniach komputera. W Windows 10 i 11 przejdź do Ustawienia > Urządzenia > Drukarki i skanery, a następnie kliknij "Zarządzaj" obok wybranej drukarki, a następnie wybierz "Ustaw jako domyślną." To zapewnia, że IronPDF używa twojej preferowanej drukarki, gdy nie zostanie podana specyficzna nazwa drukarki. Aby tworzyć pliki PDF od zera przed drukowaniem, zapoznaj się z naszym kompletnym tutorialem dotyczącym tworzenia PDF.

Często Zadawane Pytania

Jak mogę programowo drukować pliki PDF w C# .NET?

IronPDF pozwala na programowe drukowanie plików PDF, używając jednego wywołania metody Print(). Po prostu załaduj swój plik PDF z IronPdf.PdfDocument.FromFile("example.pdf").Print(), aby wysłać go do domyślnej drukarki, lub określ nazwę drukarki, aby wybrać inną.

Jaką kontrolę mam nad ustawieniami drukarki przy drukowaniu PDF?

IronPDF zapewnia precyzyjną kontrolę nad ustawieniami drukarki, w tym rozdzielczością (DPI), poziomą i pionową. Możesz korzystać z metod, które akceptują Microsoft PrinterSettings i PrintController dla zaawansowanej kontroli nad procesem drukowania PDF.

Czy mogę drukować na konkretnej drukarce zamiast na domyślnej?

Tak, IronPDF pozwala określić inną drukarkę przez podanie jej nazwy jako ciągu znaków do metody Print. Domyślnie używa domyślnej drukarki systemowej, ale łatwo możesz kierować ją na dowolną dostępną drukarkę w systemie.

Czy możliwe jest automatyczne drukowanie wielu plików PDF?

Tak, IronPDF obsługuje programowe drukowanie wielu plików PDF, co idealnie sprawdza się w pracy zespołowej i zautomatyzowanych workflow. Jest to szczególnie przydatne dla aplikacji generujących faktury, raporty lub dokumenty wymagające fizycznych kopii bez ingerencji użytkownika.

Jakie platformy są obsługiwane do drukowania PDF?

Podczas gdy IronPDF skupia się na aplikacjach .NET, Iron Software oferuje również IronPrint, dedykowaną bibliotekę do drukowania z kompatybilnością dla platform Windows, macOS, Android i iOS, zapewniając szersze możliwości drukowania.

Jak zacząć z drukowaniem PDF w moim projekcie .NET?

Najpierw zainstaluj IronPDF w swoim projekcie .NET, a następnie użyj prostego workflow: załaduj swój plik PDF, używając PdfDocument.FromFile(), i wywołaj metodę Print(). Dla zaawansowanych ustawień użyj metody GetPrintDocument, aby uzyskać więcej opcji drukowania.

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
Sprawdzone przez
Jeff Fritz
Jeffrey T. Fritz
Główny Menedżer Programu - Zespół .NET Community
Jeff jest również Głównym Menedżerem Programu dla zespołów .NET i Visual Studio. Jest producentem wykonawczym wirtualnej serii konferencji .NET Conf i prowadzi 'Fritz and Friends', transmisję na żywo dla deweloperów emitowaną dwa razy w tygodniu, gdzie rozmawia o technologii i pisze kod razem z widzami. Jeff pisze warsztaty, prezentacje i planuje treści dla największych wydarzeń Microsoft dla deweloperów, w tym Microsoft Build, Microsoft Ignite, .NET Conf i Microsoft MVP Summit.
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,926,724 | Wersja: 2026.5 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.