Tecnología

Inicio

Cómo leer archivos PDF en Java

Cómo leer archivos PDF en Java


No es difícil de leer archivos PDF en Java utilizando las bibliotecas que están fácilmente disponibles. La lectura de archivos PDF le permite escribir programas Java que pueden procesar el texto en esos archivos. Una de las opciones para la lectura de archivos PDF es el de código abierto biblioteca libre PDFBox disponible de Apache. La plataforma de desarrollo Eclipse Java hace que este trabajo sea más fácil y gestiona las bibliotecas que se descarga. Es necesario estar familiarizado con la programación Java para hacer uso de estas bibliotecas Java.

Instrucciones

Reunir las bibliotecas requeridas

1 Descargar el JDK de Java desde el sitio web del solar. Este es un archivo ejecutable que se puede instalar en su sistema mediante la ejecución de la misma. Las versiones están disponibles para Windows, Mac y Linux. Haga clic en el botón rojo \ "Download \". Guardar un archivo llamado \ "jdk-6uxx-windows-xxx.exe \" cuando se le solicite. Guarde este archivo y haga doble clic en él para iniciar la instalación de Java.

2 Descargar el sistema de desarrollo Eclipse y descomprimirlo en un directorio de nivel superior. Seleccione \ "Eclipse IDE para desarrolladores de Java. \" Esto iniciará la descarga de \ "eclipse-java-galileo-SR2-win32.zip. \" Haga doble clic en el archivo para descomprimirlo después de la descarga se ha completado. Seleccione el \ "C: \" ubicación del directorio raíz para descomprimir Eclipse.

3 Iniciar Eclipse haciendo doble clic sobre \ "eclipse.exe \" en el directorio que acaba de crear descomprimir el archivo zip del eclipse. En el sistema Eclipse, crear un proyecto llamado \ "PrintPdf. \" Seleccione \ "Archivo \", entonces \ entonces \ "proyecto Java. \" "Nuevo \" Escriba el nombre del proyecto \ "PrintPdf \" en el cuadro de diálogo que aparece. Asegúrese de que el botón de opción se selecciona que dice \ "Crear carpetas separadas para los archivos de origen y de clase. \" Haga clic en \ "Finalizar. \"

4 Crear una carpeta \ "lib \" en su proyecto \ "PrintPdf \". Haga clic en el \ proyecto "PrintPdf \" y seleccione \ "nuevo \" y luego \ "carpeta. \" Introduzca el nombre de \ "lib \" y haga clic en \ "Finalizar. \"

5 Descargar Apache \ "PDFBox.jar \" del sitio de Apache y copiarlo en el directorio lib que acaba de crear. En la misma página web, descargar el archivo \ "fontbox-nn.jar \" y el archivo \ "jempbox-nn.jar \". En cada caso, cuando se hace clic en ese archivo jar, que le llevará a una página donde puede seleccionar uno de varios servidores que pueden proporcionar este archivo. Recoger cada uno de ellos y cada archivo jar se descargará. Copiar cada archivo jar en el directorio lib que acaba de crear.

6 Descargar el paquete log4j.jar Apache de la misma manera y copiar el archivo en el directorio log4j.jar. La biblioteca Apache PDFBox utiliza esta biblioteca de registro de Apache, por lo que este archivo tiene que estar presente.

7 Descargar el paquete de Apache Commons Descubrimiento como un archivo zip. Haga doble clic en el archivo zip, seleccione el \ "Commons-descubrimiento-nn.jar \" y extraerlo en el directorio lib.

8 En Eclipse, haga clic en el \ directorio "lib \" y pulse \ "F5. \" Asegúrese de que todos los archivos jar que agregó se muestran.

9 Haga clic derecho en el proyecto PrintPDF y seleccione \ "Propiedades. \" Seleccione \ "Java Build Path \" y seleccione el \ "Bibliotecas \" ficha. Haga clic en \ "Añadir frascos \" y vaya al directorio lib que acaba de crear, y añadir \ "commons-logging-nn.jar \" \ "fontbox-nn.jar, \" \ "jempbox-nn.jar, \ "\" log4j-nn.jar, \ "y \" PDFBox-nn.jar. \ "Haga clic en \" Aceptar \ ".

Escribir el código para leer archivos PDF

10 Haga clic derecho en la carpeta \ "src \" de su proyecto \ "PrintPDF \" y seleccione \ "nuevo \" y el \ "paquete. \" Crear un paquete utilizando cualquier nombre significativo. Por ejemplo, el nombre de la "com.pdf.util. \" Paquete \ Haga clic en \ "Finalizar. \"

11 Haga clic en el nombre del paquete que acaba de crear y seleccione \ "nuevo \" y luego \ "Clase. \" Crear una clase llamada \ "PDFTextParser. \" Asegúrese de hacer clic la casilla de verificación marcada \ "public static void main. .. \ método "para que el sistema creará un \" principal \ ".

12 Editar el \ método "main \" en el \ "PDFTextParser \" clase para contener el siguiente código: <br /> <br /> void Main (args String []) {public static <br /> PDFTextParser pdf = new PDFTextParser (\ "datos / javaPDF.pdf \") <br /> <br /> GO // imprimir los resultados de <br /> System.out.println (pdf.getParsedText ()) <br /> <br /> GO } <br /> <br /> Nota que el archivo que desea imprimir se explica en el constructor de PDFTextParser (\ "datos / JavaPDF.pdf \"). Sólo podría ser tan fácilmente un argumento de línea de comandos: <br /> <br /> PDFTextParser pdf = new PDFTextParser (argv [0]) <br /> <br /> IR <br /> o seleccionado de una interfaz gráfica de usuario. <br /> <br /> Se crea una instancia de la clase PDFTextParser, y luego llama a su \ "getParsedText \" método.

13 Inserte el siguiente código justo debajo de la línea de primera clase \ "clase pública PDFTextParser \" que se ha creado para usted. <br /> <br /> Analizador PDFParser privada = null <br /> IR <br /> <br /> / / extraer el texto de documento PDF <br /> PDFTextParser pública (String filename) {<br /> archivo del archivo = new File (archivo) <br /> <br /> IR if (! file.isFile ()) {<br /> System.err.println (\ "archivo \" + + \ "no existe. \" Nombre de archivo) <br /> <br /> GO} <br /> // Configurar instancia del analizador PDF <br / > try {<br /> analizador = new PDFParser (nuevo FileInputStream (archivo)) <br /> <br /> GO} catch (IOException e) {<br /> System.err.println (\ "No se puede abrir PDF analizador. \ "+ e.getMessage ()) <br /> <br /> GO}} <br /> <br /> // ------------------ ------------- <br /> getParsedText public String () {<br /> PDDocument pdDoc = null <br /> <br /> IR COSDocument cosDoc = null; <br /> cadena parsedText = null; <br /> <br /> IR <br /> <br /> try {PDFTextStripper pdfStripper = new PDFTextStripper () <br /> <br /> GO parser.parse () < br /> <br /> IR cosDoc = parser.getDocument () <br /> <br /> GO pdDoc = new <br PDDocument (cosDoc) <br /> <br /> GO /> // obtener la lista de todos páginas <br /> listado <PDPage> = pdDoc.getDocumentCatalog (). getAllPages () <br /> <br /> <br /> GO // nota que usted puede imprimir cualquier página que desea <br /> / / eligiendo diferentes valores de la página de inicio y el final <br /> pdfStripper.setStartPage (1); // 1-basado longitud <br /> int = list.size (); // Número total de páginas <br /> pdfStripper.setEndPage (longitud); // Última página <br /> <br /> // obtener el texto de las páginas seleccionadas <br /> parsedText = pdfStripper.getText (pdDoc) <br /> <br /> GO} catch (IOException e) {< br /> <br /> System.err .println (\ "Una excepción ocurrió en analizar el documento PDF. \" <br /> + e.getMessage ()) <br /> <br /> GO} finally {< br /> <br /> try {si (cosDoc! = null) <br /> cosDoc.close () <br /> <br /> si IR (pdDoc! = null) <br /> pdDoc.close () <br /> <br /> GO} catch (IOException e) {<br /> e.printStackTrace () <br /> <br /> GO}} <br /> <br /> <br /> retorno parsedText IR <br />}

14 Ejecuta el programa. Haga clic derecho en la clase PDFTextParser y haga clic en \ "Ejecutar como \" y luego en \ "programa Java. \" El programa debe ejecutar e imprimir el contenido de texto del archivo PDF que ha introducido en su código.

Reprimir Log4J inicio Mensaje de error

15 Crear un archivo de configuración para suprimir el mensaje de error log4j sistema de registro de Java creado cuando no puede encontrar un archivo de configuración cuando se inicia. Haga clic derecho en la carpeta de \ "src \" del proyecto PrintPDF y seleccione \ "nuevo \" y luego \ "del archivo. \" nombre el archivo \ "log4j.properties \" Eclipse mostrará una pantalla vacía para este nuevo archivo.

dieciséis Pegar las siguientes líneas en la pantalla en blanco que representan a la \ "log4j.properties \" archivo. <br /> <br /> # Ajuste el nivel de registrador de la raíz de depurar y su único appender a A1. <br /> Log4j.rootLogger = WARN , A1 <br /> <br /> # A1 está dispuesto a ser un ConsoleAppender. <br /> log4j.appender.A1 = org.apache.log4j.ConsoleAppender <br /> <br /> # A1 utiliza PatternLayout. < br />log4j.appender.A1.layout=org.apache.log4j.PatternLayout <br /> log4j.appender.A1.layout.ConversionPattern =% - 4R [% t]% -5p% c% x -% m% norte

17 Guarde el "log4j.properties \" \ archivo. La presencia de este archivo en el nivel superior \ directorio "src \" suprimirá el mensaje de inicio de log4j y los mensajes de registro triviales. El sistema log4j imprimirá sólo los errores reales.

Consejos y advertencias

  • También hay una serie de paquetes comerciales que se pueden utilizar para extraer texto de archivos PDF, pero no son baratos.