Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: gatoher en 01 de Enero 2016, 21:20

Título: package org.apache.pdfbox does not exist Java Imprimir Documento PDF existente
Publicado por: gatoher en 01 de Enero 2016, 21:20
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.
Título: Re:Imprimir Documento PDF ya existente
Publicado por: gatoher en 01 de Enero 2016, 21:26
Os pongo una imagen de la estructura del proyecto y veis donde he añadido el .jar:

(http://)
Título: Re:package org.apache.pdfbox does not exist Java Imprimir Documento PDF existente
Publicado por: Ogramar en 03 de Enero 2016, 14:34
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
Título: Re:package org.apache.pdfbox does not exist Java Imprimir Documento PDF existente
Publicado por: gatoher en 03 de Enero 2016, 19:32
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.
Título: Re:package org.apache.pdfbox does not exist Java Imprimir Documento PDF existente
Publicado por: Alex Rodríguez en 05 de Enero 2016, 23:00
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