Stampa file PDF in Python | Stampa PDF su stampante | Stampa di PDF

La stampa di un documento PDF è un requisito comune nello sviluppo di applicazioni. Che tu stia generando report, fatture o qualsiasi altro tipo di documento, stampare un file PDF direttamente dal codice a una stampante può essere una funzionalità preziosa. In questo post del blog impareremo come stampare un file PDF su una stampante in Python.

Questo articolo tratta i seguenti argomenti:

Libreria Python per stampare PDF sulla stampante

Per stampare un file PDF in Python a livello di codice, utilizzeremo la libreria Aspose.PDF for Python tramite .NET. Con installazione e utilizzo semplici, fornisce una soluzione efficiente per inviare file PDF alla stampante utilizzando il codice Python. Aspose.PDF for Python consente agli sviluppatori di generare, manipolare e convertire documenti PDF nelle loro applicazioni Python.

Per iniziare a stampare un documento PDF in Python, dobbiamo prima installare le librerie necessarie. Si prega di scaricare il pacchetto o installare l’API da PyPI utilizzando il seguente comando pip nella console:

> pip install aspose-pdf

Possiamo facilmente stampare un file PDF a livello di codice in Python seguendo i passaggi seguenti:

  1. Crea un’istanza della classe PdfViewer.
  2. Carica il documento PDF di input utilizzando il metodo bindpdf().
  3. Successivamente, chiama il metodo printdocument() per stampare il file PDF.
  4. Infine, chiudi il visualizzatore PDF utilizzando il metodo close().

Il seguente esempio di codice mostra come stampare un file PDF in Python.

# Questo esempio di codice dimostra come stampare un file PDF in Python.
import aspose.pdf as ap

# Crea un oggetto PdfViewer
viewer = ap.facades.PdfViewer();

# Apri il file PDF di input
viewer.bind_pdf("Document.pdf");

# Stampa un documento PDF
viewer.print_document();

# Chiudi il file PDF
viewer.close();

Possiamo anche stampare in batch file PDF da una cartella in Python seguendo i passaggi seguenti:

  1. Carica i file PDF dal percorso della cartella fornito.
  2. Passa in rassegna tutti i file PDF.
  3. Crea un’istanza della classe PdfViewer.
  4. Associa ciascun file PDF di input uno per uno utilizzando il metodo bindpdf().
  5. Successivamente, chiama il metodo printdocument() per stampare il file PDF.
  6. Infine, chiudi il visualizzatore PDF utilizzando il metodo close().

Il seguente esempio di codice mostra come stampare più file PDF in Python.

# Questo esempio di codice dimostra come stampare più file PDF contemporaneamente in Python.
import os
import aspose.pdf as ap

# Percorso della directory contenente i file PDF da stampare
path = "D:\\Files\\"

# Ottieni file PDF
files = [f for f in os.listdir(path) if f.endswith(".pdf")]

# Leggi tutti i file e stampa
for file in files:
    # Crea un oggetto PdfViewer
    viewer = ap.facades.PdfViewer();
    
    # Apri il file PDF di input
    viewer.bind_pdf(path + file);
    
    # Stampa un documento PDF
    viewer.print_document();
    
    # Chiudi il file PDF
    viewer.close();

In alcuni casi, potrebbe essere necessario stampare un intervallo specifico di pagine da un documento PDF. A questo scopo, dobbiamo specificare i numeri di pagina da e verso. Possiamo stampare l’intervallo di pagine seguendo i passaggi seguenti:

  1. Crea un’istanza della classe PdfViewer.
  2. Carica il documento PDF di input utilizzando il metodo bindpdf().
  3. Facoltativamente, specifica vari attributi del visualizzatore, come ridimensionamento automatico, rotazione automatica, ecc.
  4. Crea un’istanza della classe PageSettings.
  5. Inizializza l’oggetto della classe PrinterSettings.
  6. Specificare le proprietà printrange, frompage e topage.
  7. Successivamente, chiama il metodo viewer.printdocumentwithsettings() per stampare il documento utilizzando le impostazioni della stampante e della pagina.
  8. Infine, chiudi il visualizzatore PDF utilizzando il metodo close().

Il seguente esempio di codice mostra come stampare pagine specifiche di un documento PDF in Python.

# Questo esempio di codice dimostra come stampare un intervallo di pagine da un file PDF in Python.
import aspose.pdf as ap

# Crea un oggetto PdfViewer
viewer = ap.facades.PdfViewer();

# Apri il file PDF di input
viewer.bind_pdf("Document.pdf");

# Imposta gli attributi per la stampa
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False

# Crea oggetti per le impostazioni della stampante e della pagina e PrintDocument
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();

# Imposta il nome della stampante
ps.printer_name = "Microsoft Print to PDF";

ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;

# Stampa il documento utilizzando le impostazioni della stampante e della pagina
viewer.print_document_with_settings(pgs, ps);

# Chiudi il file PDF
viewer.close();

Specificare le dimensioni della pagina per la stampa di un PDF

Allo stesso modo, possiamo anche specificare la dimensione della pagina durante la stampa del file PDF seguendo i passaggi menzionati in precedenza. Tuttavia, dobbiamo solo specificare il formato carta utilizzando la classe PaperSize e i margini utilizzando la classe Margins al passaggio 6.

Il seguente esempio di codice mostra come stampare il documento PDF con dimensioni di pagina e margini specifici utilizzando Python.

# Questo esempio di codice dimostra come stampare un intervallo di pagine da un file PDF in Python.
import aspose.pdf as ap

# Crea un oggetto PdfViewer
viewer = ap.facades.PdfViewer();

# Apri il file PDF di input
viewer.bind_pdf("Document.pdf");

# Imposta gli attributi per la stampa
viewer.auto_resize = True
viewer.auto_rotate = True
viewer.print_page_dialog = False

# Crea oggetti per le impostazioni della stampante e della pagina e PrintDocument
pgs = ap.printing.PageSettings();
ps = ap.printing.PrinterSettings();

# Imposta il nome della stampante
ps.printer_name = "Microsoft Print to PDF";

ps.print_range = ap.printing.PrintRange.SOME_PAGES;
ps.from_page = 1;
ps.to_page = 2;

# Imposta dimensione pagina (se richiesto)
pgs.paper_size = ap.printing.PaperSize("A4", 827, 1169);

# Imposta i margini di pagina (se richiesto)
pgs.margins = ap.devices.Margins(0, 0, 0, 0);

# Stampa il documento utilizzando le impostazioni della stampante e della pagina
viewer.print_document_with_settings(pgs, ps);

# Chiudi il file PDF
viewer.close();

Possiamo stampare un file PDF protetto o protetto da password seguendo i passaggi seguenti:

  1. Carica il PDF protetto con una password utilizzando la classe Document.
  2. Crea un’istanza della classe PdfViewer.
  3. Associa il documento PDF utilizzando il metodo bindpdf().
  4. Successivamente, chiama il metodo printdocument() per stampare il file PDF.
  5. Infine, chiudi il visualizzatore PDF utilizzando il metodo close().

Il seguente esempio di codice mostra come stampare un file PDF protetto in Python.

# Carica il documento PDF protetto specificando la password dell'utente o del proprietario
document = ap.Document("Password.pdf" , "userORowner");

# Crea un oggetto PdfViewer
viewer = ap.facades.PdfViewer();

# Apri il file PDF di input
viewer.bind_pdf(document);

# Stampa documento PDF
viewer.print_document();

# Chiudi il file PDF
viewer.close();

Possiamo stampare un documento PDF in scala di grigi seguendo i passaggi seguenti:

  1. Carica il documento PDF di input utilizzando la classe Document.
  2. Inizializza l’oggetto della classe RgbToDeviceGrayConversionStrategy.
  3. Passa in rassegna tutte le pagine e converti in GrayScale utilizzando il metodo Strategy.convert().
  4. Crea un’istanza della classe PdfViewer.
  5. Associa il documento PDF utilizzando il metodo bindpdf().
  6. Successivamente, chiama il metodo printdocument() per stampare il file PDF.
  7. Infine, chiudi il visualizzatore PDF utilizzando il metodo close().

Il seguente esempio di codice mostra come convertire un PDF in scala di grigi e quindi stamparlo utilizzando Python.

# Questo esempio di codice dimostra come stampare un file PDF come scala di grigi in Python.
import aspose.pdf as ap

# Caricare il documento PDF di input
document = ap.Document("D:\\Files\\Output.pdf");

# Avvia la strategia di conversione da RGB a Device Gry
strategy = ap.RgbToDeviceGrayConversionStrategy();

# Passa in rassegna tutte le pagine
for page in document.pages:
    # Converti l'immagine dello spazio colore RGB nello spazio colore GrayScale
    strategy.convert(page);

# Crea un oggetto PdfViewer
viewer = ap.facades.PdfViewer();

# Apri il file PDF di input
viewer.bind_pdf(document);

# Stampa documento PDF
viewer.print_document();

# Chiudi il file PDF
viewer.close();

Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea per utilizzare la libreria senza limitazioni di valutazione.

Stampa PDF – Risorse gratuite

Oltre a stampare PDF su stampante in Python, scopri di più sulla creazione, manipolazione e conversione di documenti PDF ed esplora varie altre funzionalità della libreria utilizzando le risorse seguenti:

Conclusione

In questo articolo abbiamo imparato come stampare un file PDF in Python. Sfruttando Aspose.PDF for Python, puoi facilmente inviare i tuoi file PDF a una stampante dal tuo codice Python. Questa potente funzionalità consente agli utenti di generare report e gestire i flussi di lavoro dei documenti senza problemi tra diverse applicazioni. Seguendo i passaggi descritti in questo post del blog, puoi automatizzare l’attività di stampa dei PDF. In caso di ambiguità, non esitate a contattarci sul nostro forum di supporto gratuito.

Guarda anche