A impressão de documentos PDF costuma ser uma função-chave em diferentes empresas e organizações. Você pode imprimir facilmente um arquivo PDF programaticamente usando a linguagem Java. Você pode trabalhar com a API Aspose.PDF for Java configurando em seu ambiente. Vamos percorrer diferentes cenários de impressão de PDF que são possíveis em seus aplicativos Java:
- Imprimir arquivo PDF usando Java
- Imprimindo vários documentos PDF usando Java
- Imprimir páginas específicas ou intervalo de páginas usando Java
- Imprimir PDF protegido usando Java
- Verifique o status da tarefa de impressão ao imprimir PDF usando Java
Imprimir arquivo PDF usando Java
Você pode imprimir facilmente um arquivo PDF usando o código Java seguindo as etapas abaixo:
- Criar objeto PdfViewer
- Carregar arquivo PDF de entrada
- Imprima o arquivo PDF
O trecho de código abaixo mostra como imprimir arquivos PDF programaticamente usando Java:
//Criar objeto PDFViewer
PdfViewer viewer = new PdfViewer();
//Abrir arquivo PDF de entrada
viewer.bindPdf(dataDir + "Test.pdf");
//Imprimir documento PDF
viewer.printDocument();
//Fechar arquivo PDF
viewer.close();
Imprimindo vários documentos PDF usando Java
A impressão de vários arquivos ou a impressão em lote de arquivos PDF é um processo simples usando a linguagem Java. Você pode imprimir vários arquivos PDF seguindo as etapas abaixo:
- Inicializar uma lista do tipo String
- Adicione vários arquivos PDF para imprimir
- Imprimir documentos PDF
O código a seguir mostra como imprimir vários arquivos PDF usando a linguagem Java:
// Inicializar uma lista do tipo String
List<String> files = new ArrayList<>();
// Adicione vários arquivos a serem impressos
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");
// Processe cada arquivo para impressão
for (String file : files)
{
//Criar objeto PDFViewer
PdfViewer viewer = new PdfViewer();
//Abrir arquivo PDF de entrada
viewer.bindPdf(file);
//Imprimir documento PDF
viewer.printDocument();
//Fechar arquivo PDF
viewer.close();
}
Imprimir páginas específicas ou intervalo de páginas usando Java
A API oferece muito controle ao imprimir arquivos PDF. Você pode trabalhar com diferentes campos e métodos durante a impressão de arquivos, conforme suas necessidades. Por exemplo, se você não quiser imprimir todas as páginas de um arquivo PDF e apenas algumas páginas. Pode ser algum intervalo de páginas contínuo, como da página número 3 até a página número 7, ou podem ser páginas aleatórias, como número da página 1,5 e 6. Você pode cobrir ambos os cenários com as seguintes etapas:
- Inicialize o objeto PdfViewer
- Definir atributos para impressão
- Criar objetos para configurações de impressora e página
- Especifique se deseja imprimir todas as páginas, páginas específicas ou um intervalo de páginas contínuo
- Imprimir documento PDF usando as configurações da impressora e da página
O código a seguir mostra como imprimir páginas específicas ou um intervalo de páginas em um documento PDF com Java:
// Criar objeto PDFViewer
PdfViewer viewer = new PdfViewer();
// Abrir arquivo PDF de entrada
viewer.bindPdf(dataDir + "test.pdf");
// Definir atributos para impressão
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
// Criar objetos para configurações de impressora e página e PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Definir nome da impressora
ps.setPrinterName("Microsoft Print to PDF");
// ps.setPrintRange(2); // 0 = todas as páginas; 1 = seleção; 2 = algumas páginas
// ps.setFromPage(1);
// ps.setToPage(2);
ps.setPrintRange(1); // 0 = all pages; 1 = selection; 2 = some pages
ps.setSelectedPages(new int[]{1, 3, 5});
// Imprimir documento usando as configurações da impressora e da página
viewer.printDocumentWithSettings(pgs, ps);
Imprimir PDF protegido usando Java
Às vezes, os arquivos PDF são protegidos ou criptografados com senhas para garantir o acesso autorizado aos dados. Você pode acessar e imprimir facilmente o arquivo PDF protegido ou criptografado usando o código Java e imprimir o arquivo conforme suas necessidades. Você precisa seguir os passos abaixo:
- Carregar arquivo de entrada PDF protegido por senha com a senha
- Inicialize o objeto PdfViewer
- Imprima o documento PDF
O código abaixo é baseado nestas etapas que explicam como imprimir os arquivos PDF protegidos usando o código Java:
//Carregar documento PDF seguro ao especificar a senha de usuário ou proprietário
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//Criar objeto PDFViewer
PdfViewer viewer = new PdfViewer();
//Abrir arquivo PDF de entrada
viewer.bindPdf(document);
//Imprimir documento PDF
viewer.printDocument();
//Fechar arquivo PDF
viewer.close();
Verifique o status da tarefa de impressão ao imprimir PDF usando Java
Você pode ficar de olho no status do trabalho de impressão depois que o arquivo for enviado para a fila de impressão da impressora. Isso permite que seu aplicativo decida se a impressão foi bem-sucedida ou não. A classe PdfViewer expõe o método getPrintStatus que ajuda a verificar o status do trabalho de impressão. Por exemplo, ao imprimir um PDF no formato XPS, você pode obter o status seguindo as etapas abaixo:
- Carregar arquivo PDF de entrada
- Definir atributos para impressão
- Criar objetos para configurações de impressora e página
- Definir nome da impressora
- Imprima a saída em arquivo
- Verifique o status da impressão
O código a seguir mostra como verificar o status da tarefa de impressão durante a impressão de PDF usando o código Java:
// Criar objeto PDFViewer
PdfViewer viewer = new PdfViewer();
// Abrir arquivo PDF de entrada
viewer.bindPdf(dataDir + "test.pdf");
// Definir atributos para impressão
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
// Criar objetos para configurações de impressora e página e PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Definir nome da impressora
ps.setPrinterName("Microsoft Print to PDF");
// Nome da impressão resultante
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");
// Imprima a saída em arquivo
ps.setPrintToFile(true);
// Imprima o documento com as configurações especificadas acima
viewer.printDocumentWithSettings(pgs, ps);
// Verifique o status da impressão
if (viewer.getPrintStatus() != null)
{
// Uma exceção foi lançada
Exception ex = (Exception)viewer.getPrintStatus();
if (ex != null)
{
// Obter mensagem de exceção
}
}
else
{
// Nenhum erro foi encontrado. O trabalho de impressão foi concluído com sucesso
System.out.println("printing completed without any issue..");
}
Conclusão
Exploramos diferentes cenários relacionados à impressão de arquivos PDF em seus aplicativos Java. Você pode integrar facilmente esses recursos em seus aplicativos da Web, aplicativos de console ou qualquer outro tipo de projeto com o qual esteja trabalhando, usando a linguagem Java. Você pode explorar ainda mais a API aprendendo com referências da API ou Documentação do produto. Há muito mais cenários possíveis relacionados à impressão de PDF e você pode discutir livremente conosco através do Free Support Forum. Ficaremos felizes em ajudar!