Autor Tema: package org.apache.pdfbox does not exist Java Imprimir Documento PDF existente  (Leído 4847 veces)

gatoher

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 86
    • Ver Perfil
Hola a todos, tengo un problema en un script en JAVA. Estoy buscando la forma de imprimir un documento PDF que ya existe en mi pc. Lo estoy intentando hacer con el jar pdfbox pero tengo problemas con los import. Cuando añado el .jar hay unas clases que me dice NetBeans:

   
Citar
package org.apache.pdfbox.pdmodel does not exist

Os pongo el codigo para que veais como lo tengo:

Código: [Seleccionar]
package pdf;

import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;
import java.io.File;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.print.PrintService;
import javax.print.PrintServiceLookup;
import javax.print.attribute.HashPrintServiceAttributeSet;
import javax.print.attribute.PrintServiceAttributeSet;
import javax.print.attribute.standard.PrinterName;

//IMPORT QUE ME DA ESE ERROR
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.exceptions.COSVisitorException;
 

/**
 *
 * @author carlos
 */
public class Imprimir {
   
    private PrinterJob printerJob;
    private PrintService printService;

    public void print(String filePath, String printerName) throws URISyntaxException, IOException, PrinterException{
        //Buscar una impresora por su nombre dentro de los servicios de impresión
        //disponibles PrintServiceAttributeSet
        System.out.print("El nombre de la impresora es: "+printerName);
        System.out.print("La ruta al archivo es: "+filePath);
        PrintServiceAttributeSet printServiceAttributeSet = new HashPrintServiceAttributeSet();
        printServiceAttributeSet.add(new PrinterName(printerName, null));
        PrintService[] printServices = PrintServiceLookup.lookupPrintServices(null, printServiceAttributeSet);
        //Guardar el servicio en un atributo de la clase
        this.printService = printServices[0];
        //Iniciar un nuevo trabajo de impresión
        this.printerJob = PrinterJob.getPrinterJob();
        //Intentar definirle el servicio de impresión asignado en el atributo de la clase previamente
        try{
            printerJob.setPrintService(this.printService);
         }catch(PrinterException e){
             System.out.print("Error al definir el servicio");
             System.out.println(e.toString());
          } try {
         //Cargar el documento
         PDDocument pdDocument = PDDocument.load(new File(new URI(filePath)));
          //imprimir el documento
          pdDocument.silentPrint(this.printerJob);
          } catch (URISyntaxException ex) {
              //Logger.getLogger(PDFBoxExample.class.getName()).log(Level.SEVERE, null, ex);
          }
   

       
    }       
       
   //clase     
}

  Aqui hay un enlace dnde explican como solucionarlo pero no llego a conseguirlo:
http://stackoverflow.com/questions/16504603/solved-java-imported-package-does-not-exist

  Cualquier ayuda se agradeceria.
« Última modificación: 03 de Enero 2016, 14:33 por Ogramar »

gatoher

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 86
    • Ver Perfil
Re:Imprimir Documento PDF ya existente
« Respuesta #1 en: 01 de Enero 2016, 21:26 »
Os pongo una imagen de la estructura del proyecto y veis donde he añadido el .jar:


Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas parece que se trata de un problema de configuración. Se me ocurre que puedes probar algunas cosas

Por un lado no basta con añadir los archivos, podrías intenter buscar dentro de las propiedades del proyecto las librerías vinculadas, e incluir esa librería como librería vinculada al proyecto (quizás esté en una opción como "User libraries" o "Librerías de usuario").

Otra opción sería intentar descomprimir el jar y añadir la estructura de archivos dentro de tu propio proyecto. Esto no creo que sea lo ideal pero quizás te sirva para escapar.

Salu2

gatoher

  • Principiante
  • **
  • APR2.COM
  • Mensajes: 86
    • Ver Perfil
Hola Orgramar, a ver he estado intentandolo y nada. He visto librerias como pdfRenderer que las puedes descargar y funcionan. Lo que estoy tratando de hacer es crear una etiqueta en pdf y una vez creada "objetivo conseguido" que se imprima.

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola si por lo que dices otras librerías te funcionan, ¿la librería sí es accesible? ¿Puedes crear código usando clases de esa librería? Es decir, no sé si el fallo está al acoplar la librería al proyecto o está ya en cuestiones propias de cómo usar la librería

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".