La stampa di documenti PDF è spesso una funzione chiave in diverse aziende e organizzazioni. Puoi facilmente stampare un file PDF a livello di codice utilizzando il linguaggio Java. Puoi lavorare con l’API Aspose.PDF for Java configurandola nel tuo ambiente. Esaminiamo i diversi scenari di stampa PDF che sono possibili nelle tue applicazioni Java:
- Stampa file PDF utilizzando Java
- Stampa di più documenti PDF utilizzando Java
- Stampa pagine specifiche o intervallo di pagine utilizzando Java
- Stampa PDF protetto utilizzando Java
- Verifica lo stato dell’attività di stampa durante la stampa di PDF utilizzando Java
Stampa file PDF utilizzando Java
È possibile stampare facilmente un file PDF utilizzando il codice Java seguendo i passaggi seguenti:
- Crea un oggetto PdfViewer.
- Carica il file PDF di input
- Stampa il file PDF
Il frammento di codice seguente mostra come stampare file PDF a livello di codice utilizzando Java:
//Crea oggetto PdfViewer
PdfViewer viewer = new PdfViewer();
//Apri il file PDF di input
viewer.bindPdf(dataDir + "Test.pdf");
//Stampa documento PDF
viewer.printDocument();
//Chiudi file PDF
viewer.close();
Stampa di più documenti PDF utilizzando Java
La stampa di più file o la stampa in batch di file PDF è un processo semplice che utilizza il linguaggio Java. È possibile stampare un certo numero di file PDF seguendo i passaggi seguenti:
- Inizializza un elenco di tipo String
- Aggiungi più file PDF da stampare
- Stampa documenti PDF
Il codice seguente mostra come stampare più file PDF utilizzando il linguaggio Java:
// Inizializza un elenco di tipo String
List<String> files = new ArrayList<>();
// Aggiungi più file da stampare
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");
// Elabora ogni file da stampare
for (String file : files)
{
//Crea oggetto PdfViewer
PdfViewer viewer = new PdfViewer();
//Apri il file PDF di input
viewer.bindPdf(file);
//Stampa documento PDF
viewer.printDocument();
//Chiudi file PDF
viewer.close();
}
Stampa pagine specifiche o intervallo di pagine utilizzando Java
L’API ti offre molto controllo durante la stampa di file PDF. Puoi lavorare con diversi campi e metodi durante la stampa di file, secondo le tue esigenze. Ad esempio, se non si desidera stampare tutte le pagine di un file PDF e solo alcune pagine. Potrebbe essere un intervallo di pagine continuo come dalla pagina numero 3 fino alla pagina numero 7, oppure potrebbero essere pagine casuali come la pagina numero 1,5 e 6. Puoi coprire entrambi gli scenari con i seguenti passaggi:
- Inizializza l’oggetto PdfViewer.
- Imposta gli attributi per la stampa
- Crea oggetti per le impostazioni della stampante e della pagina
- Specificare se si desidera stampare tutte le pagine, pagine specifiche o un intervallo di pagine continue
- Stampa il documento PDF utilizzando la stampante e le impostazioni della pagina
Il codice seguente mostra come stampare pagine specifiche o un intervallo di pagine in un documento PDF con Java:
// Crea oggetto PdfViewer
PdfViewer viewer = new PdfViewer();
// Apri il file PDF di input
viewer.bindPdf(dataDir + "test.pdf");
// Imposta gli attributi per la stampa
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing
// Crea oggetti per le impostazioni della stampante e della pagina e PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Imposta il nome della stampante
ps.setPrinterName("Microsoft Print to PDF");
// ps.setPrintRange(2); // 0 = tutte le pagine; 1 = selezione; 2 = alcune pagine
// ps.setFromPage(1);
// ps.setToPage(2);
ps.setPrintRange(1); // 0 = all pages; 1 = selection; 2 = some pages
ps.setSelectedPages(new int[]{1, 3, 5});
// Stampa il documento utilizzando le impostazioni della stampante e della pagina
viewer.printDocumentWithSettings(pgs, ps);
Stampa PDF protetto utilizzando Java
A volte i file PDF sono protetti o crittografati con password per garantire l’accesso autorizzato ai dati. Puoi facilmente accedere e stampare il file PDF protetto o crittografato utilizzando il codice Java e stampare il file secondo le tue esigenze. È necessario seguire i passaggi seguenti:
- Carica il file di input PDF protetto da password con la password
- Inizializza l’oggetto PdfViewer.
- Stampa il documento PDF
Il codice seguente si basa su questi passaggi che spiegano come stampare i file PDF protetti utilizzando il codice Java:
//Carica un documento PDF protetto specificando la password Utente o Proprietario
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//Crea oggetto PdfViewer
PdfViewer viewer = new PdfViewer();
//Apri il file PDF di input
viewer.bindPdf(document);
//Stampa documento PDF
viewer.printDocument();
//Chiudi file PDF
viewer.close();
Verifica lo stato dell’attività di stampa durante la stampa di PDF utilizzando Java
È possibile tenere d’occhio lo stato del lavoro di stampa dopo che il file è stato inviato alla coda di stampa della stampante. Ciò consente all’applicazione di decidere se la stampa è andata a buon fine o meno. La classe PdfViewer espone il metodo getPrintStatus che aiuta a controllare lo stato del lavoro di stampa. Ad esempio, durante la stampa di un PDF in formato XPS, è possibile ottenere lo stato seguendo i passaggi seguenti:
- Carica il file PDF di input
- Imposta gli attributi per la stampa
- Crea oggetti per le impostazioni della stampante e della pagina
- Imposta il nome della stampante
- Stampa l’output su file
- Controllare lo stato di stampa
Il codice seguente mostra come controllare lo stato dell’attività di stampa durante la stampa di PDF utilizzando il codice Java:
// Crea oggetto PdfViewer
PdfViewer viewer = new PdfViewer();
// Apri il file PDF di input
viewer.bindPdf(dataDir + "test.pdf");
// Imposta gli attributi per la stampa
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing
// Crea oggetti per le impostazioni della stampante e della pagina e PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Imposta il nome della stampante
ps.setPrinterName("Microsoft Print to PDF");
// Nome della stampa risultante
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");
// Stampa l'output su file
ps.setPrintToFile(true);
// Stampa il documento con le impostazioni specificate sopra
viewer.printDocumentWithSettings(pgs, ps);
// Controllare lo stato di stampa
if (viewer.getPrintStatus() != null)
{
// È stata generata un'eccezione
Exception ex = (Exception)viewer.getPrintStatus();
if (ex != null)
{
// Ricevi messaggio di eccezione
}
}
else
{
// Non sono stati trovati errori. Il lavoro di stampa è stato completato correttamente
System.out.println("printing completed without any issue..");
}
Conclusione
Abbiamo esplorato diversi scenari relativi alla stampa di file PDF nelle tue applicazioni Java. Puoi facilmente integrare queste funzionalità nelle tue applicazioni web, applicazioni console o qualsiasi altro tipo di progetto con cui stai lavorando, utilizzando il linguaggio Java. Puoi esplorare ulteriormente l’API imparando da Riferimenti API o Documentazione prodotto. Ci sono molti più scenari possibili relativi alla stampa di PDF e puoi discutere liberamente con noi tramite il Forum di supporto gratuito. Saremo lieti di aiutarti!