Jak ustawić rozdzielczość druku (DPI) w języku C

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

DPI (dots per inch) określa rozdzielczość druku — liczbę punktów atramentu, które drukarka umieszcza na cal papieru. Wyższa rozdzielczość DPI zapewnia ostrzejszy tekst i płynniejsze obrazy, ale wydłuża czas przetwarzania i zwiększa zużycie tonera. Niższa rozdzielczość DPI zapewnia szybszy druk i sprawdza się dobrze w przypadku wewnętrznych wersji roboczych. Programowe ustawienie DPI gwarantuje, że każde zadanie drukowania spełnia standardy jakości wymagane przez aplikację, niezależnie od domyślnej konfiguracji drukarki użytkownika.

IronPrint udostępnia właściwość Dpi w klasie PrintSettings. Ustawiamy wartość całkowitą, przekazujemy ustawienia do Printer.PRINT(), a dokument drukuje się w określonej rozdzielczości. Domyślną wartością jest 300 DPI, co odpowiada standardowi stosowanemu w druku komercyjnym.

as-heading:2(Szybki start: Ustaw rozdzielczość PRINT (DPI))

  1. Zainstaluj IronPrint za pomocą NuGet: Install-Package IronPrint
  2. Dodaj using IronPrint; do pliku
  3. Utwórz obiekt PrintSettings
  4. Ustaw Dpi na żądaną rozdzielczość (np. 300, 600, 1200)
  5. Przekaż ustawienia do Printer.Print() lub Printer.ShowPrintDialog()
  1. Install IronPrint with NuGet Package Manager

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

    using IronPrint;
    
    // Print a PDF at 600 DPI for high-quality output
    Printer.Print("report.pdf", new PrintSettings
    {
        Dpi = 600
    });
  3. Wdrożenie do testowania w środowisku produkcyjnym

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

    arrow pointer

Jak ustawić rozdzielczość druku (DPI) w języku C#?

Właściwość Dpi w PrintSettings akceptuje dowolną dodatnią liczbę całkowitą. Wartością domyślną jest 300, co stanowi standardową rozdzielczość dla dokumentów biznesowych. Rzeczywista rozdzielczość DPI używana do drukowania może być ograniczona możliwościami fizycznej drukarki — jeśli ustawimy 1200 DPI na drukarce, której maksymalna rozdzielczość wynosi 600, drukarka użyje najwyższej obsługiwanej rozdzielczości.

:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-office-and-high-res-dpi.cs
using IronPrint;

// Standard office quality (300 DPI)
var officeSettings = new PrintSettings
{
    Dpi = 300
};
Printer.Print("invoice.pdf", officeSettings);

// High-resolution output (600 DPI)
var highResSettings = new PrintSettings
{
    Dpi = 600
};
Printer.Print("photo-proof.png", highResSettings);
Imports IronPrint

' Standard office quality (300 DPI)
Dim officeSettings As New PrintSettings With {
    .Dpi = 300
}
Printer.Print("invoice.pdf", officeSettings)

' High-resolution output (600 DPI)
Dim highResSettings As New PrintSettings With {
    .Dpi = 600
}
Printer.Print("photo-proof.png", highResSettings)
$vbLabelText   $csharpLabel

Z natywnym .NET kontrolowanie rozdzielczości druku wymaga utworzenia PrintDocument, dostępu do DefaultPageSettings.PrinterResolution, obsługi zdarzenia PrintPage i ręcznego renderowania treści za pomocą Graphics.DrawImage(). Zadanie obejmuje 15–25 wierszy standardowego kodu. IronPrint sprowadza to do jednej właściwości typu integer w obiekcie ustawień.

Jakiej rozdzielczości DPI należy używać dla różnych zadań drukowania?

Wybór odpowiedniej rozdzielczości DPI zależy od rodzaju treści i celu. Wyższa rozdzielczość nie zawsze jest lepsza — zwiększa rozmiar bufora wydruku i czas drukowania bez widocznych korzyści w przypadku dokumentów zawierających dużo tekstu.

DPI Najlepsze dla Uwagi
72–150 Wersje robocze, korekty, wydruki testowe Szybkie wydruki, niskie zużycie tonera
300 Dokumenty biznesowe, faktury, raporty Domyślnie IronPrint; standard commercial quality
600 Materiały marketingowe, grafiki, wykresy Znacznie ostrzejsze obrazy i drobne linie
1200+ Fotografia, archiwizacja, sztuka Wymagana jest kompatybilna drukarka; large spool files

W przypadku większości aplikacji rozdzielczość 300 DPI zapewnia najlepszy kompromis między jakością a wydajnością. Zalecamy rozpoczęcie od ustawień domyślnych i zwiększanie ich tylko wtedy, gdy wynik wymaga widocznej poprawy w zakresie klarowności obrazu lub drobnych szczegółów.

Jak połączyć DPI z innymi ustawieniami PRINT?

DPI współpracuje z innymi właściwościami PrintSettings w celu zdefiniowania kompletnego zadania drukowania. W tym samym obiekcie możemy skonfigurować rozmiar papieru, orientację, marginesy, liczbę kopii oraz tryb skali szarości.

:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-combine-dpi-with-settings.cs
using IronPrint;

var settings = new PrintSettings
{
    Dpi = 600,
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Landscape,
    PaperMargins = new Margins(10, 10, 10, 10),
    NumberOfCopies = 2,
    Grayscale = true
};

Printer.Print("quarterly-dashboard.pdf", settings);
Imports IronPrint

Dim settings As New PrintSettings With {
    .Dpi = 600,
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Landscape,
    .PaperMargins = New Margins(10, 10, 10, 10),
    .NumberOfCopies = 2,
    .Grayscale = True
}

Printer.Print("quarterly-dashboard.pdf", settings)
$vbLabelText   $csharpLabel

Ustawienie Grayscale = true na 600 DPI daje ostrą monochromatyczną jakość, idealną dla wykresów i tabel danych. Wartości PaperMargins są w milimetrach.

Jak umożliwić użytkownikom dostosowanie DPI w oknie dialogowym PRINT?

Kiedy przekazujemy PrintSettings do Printer.ShowPrintDialog(), dialog otwiera się z naszymi wstępnie ustawionymi DPI. Użytkownik może zaakceptować to lub dostosować rozdzielczość przed wydrukowaniem.

:path=/static-assets/print/content-code-examples/how-to/set-the-dpi/set-the-dpi-dialog-with-dpi-preset.cs
using IronPrint;

// Pre-select 600 DPI, but let the user override
var settings = new PrintSettings
{
    Dpi = 600,
    PaperSize = PaperSize.Letter
};

Printer.ShowPrintDialog("design-proof.pdf", settings);
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

W scenariuszach z interfejsem użytkownika typu non-blocking metoda Printer.ShowPrintDialogAsync() przyjmuje te same parametry i zapewnia responsywność aplikacji. Okno dialogowe pozwala użytkownikom zweryfikować DPI względem rozdzielczości obsługiwanych przez ich drukarkę przed drukowaniem — jest to pomocne podczas przełączania się między biurową drukarką laserową o rozdzielczości 600 DPI a drukarką fotograficzną o rozdzielczości 1200 DPI. W przypadku w pełni zautomatyzowanych procesów, w których nie jest wymagana interakcja użytkownika, należy zamiast tego użyć metody Printer.PRINT() do cichego drukowania.

Kolejne kroki

DPI to pojedyncza liczba całkowita w obiekcie PrintSettings — należy ją ustawić zgodnie z wymaganiami jakości każdego zadania drukowania. Należy zacząć od 300 dla dokumentów biznesowych i zwiększyć do 600 lub więcej dla treści zawierających dużo grafiki.

Zapoznaj się z instrukcją dotyczącą ustawień drukowania dla każdej dostępnej właściwości, Dokumentacją API klasy Printer zawierającą pełną listę metod oraz stroną z przykładami kodu, na której znajdziesz gotowe do użycia fragmenty kodu. Samouczki IronPrint przedstawiają cały cykl życia drukowania, a dziennik zmian śledzi najnowsze aktualizacje.

Rozpocznij bezpłatny 30-dniowy okres próbny, aby przetestować ustawienia DPI w rzeczywistym projekcie. Gdy wszystko będzie gotowe, zapoznaj się z opcjami licencji już od 749 USD.

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
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 38,948 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPrint
uruchom próbkę obserwuj, jak twój dokument trafia do drukarki.