Jak ustawić liczbę kopii przy drukowaniu w C

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

Drukowanie wielu kopii dokumentu to rutynowa potrzeba - faktury wymagające oryginału i duplikatu, etykiety wysyłkowe drukowane w partiach lub raporty rozprowadzane do kilku działów. Zamiast wywoływać Print() w pętli i tworzyć osobne zadania drukowania dla każdej kopii, prawidłowe podejście polega na ustawieniu liczby kopii raz i pozwoleniu sterownikowi drukarki obsłużyć duplikację w jednym zadaniu.

PrintSettings.NumberOfCopies w IronPrint przyjmuje liczbę całkowitą i przesyła określoną liczbę kopii do drukarki w jednej operacji. Poniżej omówimy instalację, podstawowe użytkowanie, przepływy pracy asynchroniczne oraz ustawienia łączone.

Pierwsze kroki: Ustawianie liczby kopii

  1. Zainstaluj IronPrint przez NuGet: Install-Package IronPrint
  2. Dodaj using IronPrint; do pliku
  3. Utwórz obiekt PrintSettings
  4. Ustaw NumberOfCopies na żądaną liczbę
  5. Przekaż ustawienia do Printer.Print() z ścieżką do pliku
  1. Install IronPrint with NuGet Package Manager

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

    using IronPrint;
    
    // Print 3 copies of a PDF in one print job
    PrintSettings settings = new PrintSettings();
    settings.NumberOfCopies = 3;
    Printer.Print("invoice.pdf", settings);
  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ć liczbę kopii dla cichego drukowania?

Ciche drukowanie wysyła dokument bezpośrednio do drukarki bez wyświetlania okna dialogowego. Konfigurujemy liczbę kopii przez PrintSettings.NumberOfCopies i przekazujemy ustawienia do Printer.Print():

:path=/static-assets/print/content-code-examples/how-to/set-number-of-copies/set-number-of-copies-silent-copies.cs
using IronPrint;

// Print 5 copies silently to the default printer
PrintSettings settings = new PrintSettings
{
    NumberOfCopies = 5
};

Printer.Print("shipping-label.pdf", settings);
Imports IronPrint

' Print 5 copies silently to the default printer
Dim settings As New PrintSettings With {
    .NumberOfCopies = 5
}

Printer.Print("shipping-label.pdf", settings)
$vbLabelText   $csharpLabel

Sterownik drukarki otrzymuje instrukcję o liczbie kopii na poziomie sprzętowym, co jest szybsze i bardziej niezawodne niż kolejkowanie pięciu oddzielnych zadań. Jest to ważne na współdzielonych drukarkach sieciowych, gdzie oddzielne zadania mogą być przeplatane z dokumentami innych użytkowników.

NumberOfCopies domyślnie przyjmuje wartość 1, gdy nie jest jawnie ustawiona. Akceptowana jest każda dodatnia liczba całkowita - ustawienie na 0 lub wartość ujemną nie ma praktycznego efektu, a sterownik powraca do jednej kopii.

Jak połączyć liczbę kopii z innymi ustawieniami drukowania?

NumberOfCopies to jedna z właściwości PrintSettings. Możemy połączyć ją z marginesami papieru, rozmiarem papieru, orientacją, DPI, trybem skali szarości i wyborem drukarki w jednym obiekcie konfiguracji:

:path=/static-assets/print/content-code-examples/how-to/set-number-of-copies/set-number-of-copies-combined-settings.cs
using IronPrint;

// Full configuration: 3 copies of a landscape A4 report at 300 DPI
PrintSettings settings = new PrintSettings
{
    NumberOfCopies = 3,
    PaperSize = PaperSize.A4,
    PaperOrientation = PaperOrientation.Landscape,
    Dpi = 300,
    PaperMargins = new Margins(15),
    Grayscale = false,
    PrinterName = "HP LaserJet Pro MFP M428"
};

Printer.Print("Q4-report.pdf", settings);
Imports IronPrint

' Full configuration: 3 copies of a landscape A4 report at 300 DPI
Dim settings As New PrintSettings With {
    .NumberOfCopies = 3,
    .PaperSize = PaperSize.A4,
    .PaperOrientation = PaperOrientation.Landscape,
    .Dpi = 300,
    .PaperMargins = New Margins(15),
    .Grayscale = False,
    .PrinterName = "HP LaserJet Pro MFP M428"
}

Printer.Print("Q4-report.pdf", settings)
$vbLabelText   $csharpLabel

Dla nieblokujących przepływów pracy, prześlij ten sam PrintSettings do Printer.PrintAsync() zamiast tego.

Czy istnieją ograniczenia platformowe na liczbę kopii?

Na niektórych platformach sterownik drukarki może nie reprodukować dokładnej liczby określonej w NumberOfCopies. Dokumentacja IronPrint wskazuje, że ograniczenia specyficzne dla platformy mogą powodować, że wartość zostanie zignorowana, co skutkuje jedną kopią. Jest to ograniczenie na poziomie sterownika, a nie ograniczenie IronPrint.

W aplikacjach desktopowych na Windows - głównym celu większości przepływów drukowania - NumberOfCopies jest niezawodnie honorowane przez drukarki lokalne i sieciowe. Jeżeli napotkasz drukarkę, która stale ignoruje to ustawienie, sprawdź, czy jej sterownik obsługuje zadania z wieloma kopiami przez panel właściwości drukarki Windows.

Jakie są moje kolejne kroki?

Omówiliśmy, jak ustawić liczbę drukowanych kopii za pomocą PrintSettings.NumberOfCopies, zaprezentowaliśmy ciche i asynchroniczne drukowanie, połączyliśmy liczbę kopii z innymi ustawieniami i zanotowaliśmy ograniczenia specyficzne dla platformy.

Dla dalszej lektury, zobacz te zasoby:

Samouczki IronPrint — Drukuj Dokument dla pełnego przewodnika po drukowaniu.

Uzyskaj bezpłatną licencję próbną, aby przetestować każdą funkcję w rzeczywistym środowisku, lub zobacz opcje licencyjne, gdy będziesz gotowy do wdrożenia.

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.