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
- Stampa un file PDF in Python
- Stampa in batch di file PDF
- Stampa pagine specifiche di un PDF
- Specificare le dimensioni della pagina per la stampa di un PDF
- Stampa un file PDF protetto
- Converti PDF in scala di grigi e stampa in Python
- Licenza
- Risorse gratuite
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
Stampa un file PDF in Python
Possiamo facilmente stampare un file PDF a livello di codice in Python seguendo i passaggi seguenti:
- Crea un’istanza della classe PdfViewer.
- Carica il documento PDF di input utilizzando il metodo bindpdf().
- Successivamente, chiama il metodo printdocument() per stampare il file PDF.
- 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();
Stampa più file PDF in Python
Possiamo anche stampare in batch file PDF da una cartella in Python seguendo i passaggi seguenti:
- Carica i file PDF dal percorso della cartella fornito.
- Passa in rassegna tutti i file PDF.
- Crea un’istanza della classe PdfViewer.
- Associa ciascun file PDF di input uno per uno utilizzando il metodo bindpdf().
- Successivamente, chiama il metodo printdocument() per stampare il file PDF.
- 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();
Stampa pagine specifiche di PDF in Python
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:
- Crea un’istanza della classe PdfViewer.
- Carica il documento PDF di input utilizzando il metodo bindpdf().
- Facoltativamente, specifica vari attributi del visualizzatore, come ridimensionamento automatico, rotazione automatica, ecc.
- Crea un’istanza della classe PageSettings.
- Inizializza l’oggetto della classe PrinterSettings.
- Specificare le proprietà printrange, frompage e topage.
- Successivamente, chiama il metodo viewer.printdocumentwithsettings() per stampare il documento utilizzando le impostazioni della stampante e della pagina.
- 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();
Stampa file PDF protetto in Python
Possiamo stampare un file PDF protetto o protetto da password seguendo i passaggi seguenti:
- Carica il PDF protetto con una password utilizzando la classe Document.
- Crea un’istanza della classe PdfViewer.
- Associa il documento PDF utilizzando il metodo bindpdf().
- Successivamente, chiama il metodo printdocument() per stampare il file PDF.
- 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();
Converti PDF in scala di grigi e stampa in Python
Possiamo stampare un documento PDF in scala di grigi seguendo i passaggi seguenti:
- Carica il documento PDF di input utilizzando la classe Document.
- Inizializza l’oggetto della classe RgbToDeviceGrayConversionStrategy.
- Passa in rassegna tutte le pagine e converti in GrayScale utilizzando il metodo Strategy.convert().
- Crea un’istanza della classe PdfViewer.
- Associa il documento PDF utilizzando il metodo bindpdf().
- Successivamente, chiama il metodo printdocument() per stampare il file PDF.
- 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.