Imprima PDF con Java programáticamente

La impresión de documentos PDF suele ser una función clave en diferentes empresas y organizaciones. Puede imprimir fácilmente un archivo PDF mediante programación utilizando el lenguaje Java. Puede trabajar con Aspose.PDF for Java API configurándolo en su entorno. Veamos diferentes escenarios de impresión de PDF que son posibles en sus aplicaciones Java:

Imprimir archivo PDF usando Java

Puede imprimir fácilmente un archivo PDF usando código Java siguiendo los pasos a continuación:

  1. Crear objeto PdfViewer
  2. Cargar archivo PDF de entrada
  3. Imprimir el archivo PDF

El fragmento de código a continuación muestra cómo imprimir archivos PDF mediante programación usando Java:

//Crear objeto PdfViewer
PdfViewer viewer = new PdfViewer();
//Abrir archivo PDF de entrada
viewer.bindPdf(dataDir + "Test.pdf");
//Imprimir documento PDF
viewer.printDocument();
//Cerrar archivo PDF
viewer.close();

Impresión de varios documentos PDF con Java

La impresión de varios archivos o la impresión por lotes de archivos PDF es un proceso sencillo que utiliza el lenguaje Java. Puede imprimir varios archivos PDF siguiendo los pasos a continuación:

  1. Inicializar una lista de tipo String
  2. Agregue varios archivos PDF para imprimir
  3. Imprimir documentos PDF

El siguiente código muestra cómo imprimir múltiples archivos PDF utilizando el lenguaje Java:

// Inicializar una lista de tipo String
List<String> files = new ArrayList<>();

// Agregar varios archivos para imprimir
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// Procesar cada archivo para imprimir
for (String file : files)
{
    //Crear objeto PdfViewer
    PdfViewer viewer = new PdfViewer();
    //Abrir archivo PDF de entrada
    viewer.bindPdf(file);
    //Imprimir documento PDF
    viewer.printDocument();
    //Cerrar archivo PDF
    viewer.close();
}

Imprima páginas específicas o rango de páginas usando Java

La API le brinda mucho control al imprimir archivos PDF. Puede trabajar con diferentes campos y métodos mientras imprime archivos, según sus requisitos. Por ejemplo, si no desea imprimir todas las páginas de un archivo PDF y solo algunas páginas. Podría ser un rango de páginas continuas como desde la página número 3 hasta la página número 7, o podrían ser páginas aleatorias como las páginas número 1, 5 y 6. Puede cubrir ambos escenarios con los siguientes pasos:

  1. Inicializar objeto PdfViewer
  2. Establecer atributos para imprimir
  3. Crear objetos para la configuración de la impresora y la página
  4. Especifique si desea imprimir todas las páginas, páginas específicas o un rango de páginas continuo
  5. Imprima un documento PDF utilizando la impresora y la configuración de página

El siguiente código muestra cómo imprimir páginas específicas o un rango de páginas en un documento PDF con Java:

// Crear objeto PdfViewer
PdfViewer viewer = new PdfViewer();
// Abrir archivo PDF de entrada
viewer.bindPdf(dataDir + "test.pdf");
// Establecer atributos para imprimir
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

// Cree objetos para la configuración de la impresora y la página y PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Establecer el nombre de la impresora
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange(2); // 0 = todas las páginas; 1 = selección; 2 = algunas 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 la impresora y la configuración de página
viewer.printDocumentWithSettings(pgs, ps);

Imprima PDF protegido usando Java

A veces, los archivos PDF están protegidos o encriptados con contraseñas para garantizar el acceso autorizado a los datos. Puede acceder e imprimir fácilmente el archivo PDF seguro o encriptado usando el código Java e imprimir el archivo según sus requisitos. Debes seguir los siguientes pasos:

  1. Cargue el archivo de entrada PDF protegido con contraseña con la contraseña
  2. Inicializar objeto PdfViewer
  3. Imprimir el documento PDF

El siguiente código se basa en estos pasos que explican cómo imprimir los archivos PDF protegidos usando código Java:

//Cargue un documento PDF seguro mientras especifica la contraseña de usuario o propietario
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//Crear objeto PdfViewer
PdfViewer viewer = new PdfViewer();
//Abrir archivo PDF de entrada
viewer.bindPdf(document);
//Imprimir documento PDF
viewer.printDocument();
//Cerrar archivo PDF
viewer.close();

Verifique el estado de la tarea de impresión mientras imprime PDF usando Java

Puede controlar el estado del trabajo de impresión después de que el archivo se envíe a la cola de impresión de la impresora. Esto le permite a su aplicación decidir si la impresión ha sido exitosa o no. La clase PdfViewer expone el método getPrintStatus que lo ayuda a verificar el estado del trabajo de impresión. Por ejemplo, al imprimir un PDF a formato XPS, puede obtener el estado siguiendo los pasos a continuación:

  1. Cargar archivo PDF de entrada
  2. Establecer atributos para imprimir
  3. Crear objetos para la configuración de la impresora y la página
  4. Establecer el nombre de la impresora
  5. Imprimir la salida al archivo
  6. Comprobar el estado de impresión

El siguiente código muestra cómo verificar el estado de la tarea de impresión durante la impresión de PDF usando código Java:

// Crear objeto PdfViewer
PdfViewer viewer = new PdfViewer();
// Abrir archivo PDF de entrada
viewer.bindPdf(dataDir + "test.pdf");
// Establecer atributos para imprimir
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

// Cree objetos para la configuración de la impresora y la página y PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// Establecer el nombre de la impresora
ps.setPrinterName("Microsoft Print to PDF");


// Nombre de la impresión resultante
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// Imprimir la salida al archivo
ps.setPrintToFile(true);

// Imprima el documento con la configuración especificada anteriormente
viewer.printDocumentWithSettings(pgs, ps);

// Comprobar el estado de impresión
if (viewer.getPrintStatus() != null)
{
    // Se lanzó una excepción
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // Obtener mensaje de excepción
    }
}
else
{
    // No se encontraron errores. El trabajo de impresión se completó con éxito
    System.out.println("printing completed without any issue..");
}

Conclusión

Hemos explorado diferentes escenarios relacionados con la impresión de archivos PDF en sus aplicaciones Java. Puede integrar fácilmente estas funciones en sus aplicaciones web, aplicaciones de consola o cualquier otro tipo de proyecto con el que esté trabajando, utilizando el lenguaje Java. Puede explorar más la API aprendiendo de Referencias de API o Documentación del producto. Hay muchos más escenarios posibles relacionados con la impresión de PDF y puede hablar libremente con nosotros a través del Foro de soporte gratuito. ¡Estaremos encantados de ayudar!

Ver también