Como ler o arquivo pdf em java

Como ler o arquivo PDF em Java

Não é difícil de ler arquivos PDF em Java usando bibliotecas que estão prontamente disponíveis. Leitura de arquivos PDF permite escrever programas Java que podem processar o texto nesses arquivos. Uma opção para leitura de arquivos PDF é a, open-source biblioteca PDFBox livre disponível a partir de Apache. A plataforma de desenvolvimento Eclipse Java torna este trabalho mais fácil e gerencia as bibliotecas que você irá baixar. Você precisa estar familiarizado com programação Java para fazer uso dessas bibliotecas Java.

Reunir bibliotecas necessárias

  • Faça o download do Java JDK a partir do site do Sol. Este é um arquivo executável que você pode instalar em seu sistema, executando-o. Estão disponíveis versões para Windows, Mac e Linux. Clique no vermelho "baixar" botão. Salvar um arquivo chamado "jdk-6uxx-windows-xxx.exe" quando solicitado. Salve o arquivo e clique duas vezes sobre ele para iniciar o instalador Java.

  • Faça o download do sistema de desenvolvimento Eclipse e descompacte-o em um diretório de nível superior. selecionar "Eclipse IDE for Java Developers." Isto irá iniciar a descarga do "eclipse-java-galileo-SR2-win32.zip." Dê um duplo clique no arquivo para descompactá-lo após a conclusão do download. Selecione os "C:" raiz local do diretório para descompactar Eclipse.

  • Comece Eclipse clicando duas vezes sobre "eclipse.exe" no diretório recém-criado por descompactar o arquivo zip eclipse. No sistema Eclipse, crie um projeto chamado "PrintPdf." selecionar "Arquivo" então "Novo" então "projeto Java." Digite o nome do projeto "PrintPdf" na caixa de diálogo que aparece. Certifique-se de que o botão de opção é selecionado que diz "Criar pastas separadas para arquivos de origem e de classe." Clique "Terminar."

  • Crie um "lib" pasta no seu "PrintPdf" projeto. direita; clique no "PrintPdf" projeto e selecione "Novo" e depois "Pasta." Digite o nome "lib" e clique em "Terminar."

  • baixar Apache "PDFBox.jar" no site da Apache e copie-o no diretório lib que você acabou de criar. Na mesma página web, baixar o "fontbox-nn.jar" arquivo eo "jempbox-nn.jar" Arquivo. Em cada caso, quando você clicar no arquivo jar, que o levará a uma página onde você pode selecionar um dos vários servidores que podem fornecer este arquivo. Escolha cada um deles e cada arquivo jar vai baixar. Copie cada arquivo jar no diretório lib que você acabou de criar.

  • Baixe o pacote log4j.jar Apache na mesma forma e copiar o arquivo log4j.jar para o diretório. A biblioteca Apache PDFBox usa esta biblioteca de log do Apache, assim que este arquivo precisa estar presente.

  • Baixe o pacote Apache Commons descoberta como um arquivo zip. Dê um duplo clique no arquivo zip, selecione o "commons-discovery-nn.jar" e extraí-lo para o diretório lib.

  • Em Eclipse, clique no "lib" diretório e pressione "F5." Certifique-se de que todos os arquivos jar que você adicionou são exibidos.



  • direito, clique sobre o projeto PrintPDF e selecione "Propriedades." selecionar "Caminho de Construção Java" e selecione o "bibliotecas" aba. Clique em "Adicionar frascos" e vá para o diretório lib que acabou de criar e adicionar "commons-logging-nn.jar" "fontbox-nn.jar," "jempbox-nn.jar," "log4j-nn.jar," e "pdfbox-nn.jar." Clique em "ESTÁ BEM."

Escreva o código para ler PDFs

  • direita; clique no "src" pasta de sua "PrintPDF" projeto e selecione "Novo" e a "Pacote." Criar um pacote usando qualquer nome significativo. Por exemplo, o nome do pacote "com.pdf.util." Clique "Terminar."

  • direito, clique sobre o nome do pacote que você acabou de criar e selecione "Novo" e depois "Classe." Crie uma classe chamada "PDFTextParser." Não esqueça de clicar na caixa de seleção marcada "void main public static ..." de modo que o sistema irá criar um "a Principal" Método.

  • editar o "a Principal" método no "PDFTextParser" classe para conter o seguinte código:

    void main (args String []) public static {
    &# 9-&# 9 PDFTextParser pdf = new PDFTextParser ("dados / javaPDF.pdf")
    IR
    &# 9-&# 9 - // impressão fora resultados
    &# 9-&# 9 System.out.println (pdf.getParsedText ())
    IR
    &# 9-}

    Note que o arquivo que você deseja imprimir está explicitada no construtor para PDFTextParser ("dados / JavaPDF.pdf"). Ele poderia facilmente ser um argumento de linha de comando:

    &# 9-&# 9 PDFTextParser pdf = new PDFTextParser (argv [0])
    IR

    ou seleccionado a partir de uma interface gráfica.

    Ele cria uma instância da classe PDFTextParser, e em seguida, chama a sua "getParsedText" Método.

  • Insira o seguinte código logo abaixo da linha de primeira classe "PDFTextParser classe pública" que foi criado para você.

    analisador PDFParser privado = null
    IR

    &# 9 - // extrair texto de PDF Document
    &# PDFTextParser 9-pública (String fileName) {
    &# 9-&# Arquivo 9-file = new File (nome do arquivo)
    IR
    &# 9-&# 9-if (! File.isFile ()) {
    &# 9-&# 9-&# 9 System.err.println ("Arquivo " + FileName + " não existe.")
    IR
    &# 9-&# 9-}
    &# 9-&# 9 - // Configurar instância do analisador PDF
    &# 9-&# 9-try {
    &# 9-&# 9-&# 9-parser = new PDFParser (novo FileInputStream (arquivo))
    IR
    &# 9-&# 9-} catch (IOException e) {
    &# 9-&# 9-&# 9 System.err.println ("Não é possível abrir Analisador PDF. " E.getMessage + ())
    IR
    &# 9-&# 9-}
    &# 9-}
    &# 9 - // -------------------------------
    &# 9 public String getParsedText () {
    &# 9-&# 9 PDDocument pdDoc = null
    IR
    &# 9-&# 9 COSDocument cosDoc = nulo-&# 9-
    &# 9-&# 9-String parsedText = nulo-
    IR
    &# 9-&# 9-&# 9-&# 9-
    &# 9-&# 9-try {&# 9-&# 9-&# 9-
    &# 9-&# 9-&# 9 PDFTextStripper pdfStripper = new PDFTextStripper ()
    IR
    &# 9-&# 9-&# 9 parser.parse ()
    IR
    &# 9-&# 9-&# 9 cosDoc = parser.getDocument ()
    IR
    &# 9-&# 9-&# 9 pdDoc = new PDDocument (cosDoc)
    IR
    &# 9-&# 9-&# 9-
    &# 9-&# 9-&# 9 - // Lista de todas as páginas ficar
    &# 9-&# 9-&# 9-List list = pdDoc.getDocumentCatalog (). getAllPages ()
    IR
    &# 9-&# 9-&# 9-
    &# 9-&# 9-&# 9 - // nota que você pode imprimir todas as páginas que você deseja
    &# 9-&# 9-&# 9 - // escolhendo diferentes valores da página de início e fim
    &# 9-&# 9-&# 9-pdfStripper.setStartPage (1) -&# 9 - // 1-based
    &# 9-&# 9-&# 9-int length = list.size () -&# 9-&# 9 - // número total de páginas
    &# 9-&# 9-&# 9-pdfStripper.setEndPage (comprimento) -&# 9 - // última página
    &# 9-&# 9-&# 9-
    &# 9-&# 9-&# 9 - // obtém o texto para as páginas selecionadas
    &# 9-&# 9-&# 9 parsedText = pdfStripper.getText (pdDoc)
    IR
    &# 9-&# 9-} catch (IOException e) {
    &# 9-&# 9-&# 9 System.err
    &# 9-&# 9-&# 9-&# 9-&# 9 .println ("Ocorreu uma exceção ao analisar o documento PDF."
    &# 9-&# 9-&# 9-&# 9-&# 9-&# 9-&# 9- + e.getMessage ())
    IR
    &# 9-&# 9-} finally {
    &# 9-&# 9-&# 9-try {
    &# 9-&# 9-&# 9-&# 9-se (cosDoc! = Null)
    &# 9-&# 9-&# 9-&# 9-&# 9 cosDoc.close ()
    IR
    &# 9-&# 9-&# 9-&# 9-se (pdDoc! = Null)
    &# 9-&# 9-&# 9-&# 9-&# 9 pdDoc.close ()
    IR
    &# 9-&# 9-&# 9-} catch (IOException e) {
    &# 9-&# 9-&# 9-&# 9 e.printStackTrace ()
    IR
    &# 9-&# 9-&# 9-}
    &# 9-&# 9-}&# 9-
    &# 9-&# 9-retorno parsedText
    IR
    &# 9-}

  • Executar o programa. direita; clique na classe PDFTextParser e clique em "Correr como" e, em seguida, sobre "programa Java." O programa deve ser executado e imprimir o conteúdo de texto do arquivo PDF que você entrou em seu código.

Suprimir a mensagem de erro Log4j Startup

  • Criar um arquivo de configuração para suprimir a mensagem de erro log4j sistema de log Java criado quando não é possível encontrar um arquivo de configuração quando ele inicia. Botão direito do mouse sobre o "src" pasta do projeto PrintPDF e selecione "Novo" e depois "Arquivo." Nomeie o arquivo "log4j.properties" Eclipse exibirá uma tela vazia para este novo arquivo.

  • Cole as seguintes linhas na tela vazia representando o "log4j.properties" Arquivo.

    # Definir o nível logger raiz para depurar e sua única appender para A1.
    log4j.rootLogger = WARN, A1

    # A1 é definido para ser uma ConsoleAppender.
    log4j.appender.A1 = org.apache.log4j.ConsoleAppender

    # A1 usa PatternLayout.
    log4j.appender.A1.layout = org.apache.log4j.PatternLayout
    log4j.appender.A1.layout.ConversionPattern =% - 4R [% t]% -5p% c% x -% m% n

  • Salve o "log4j.properties" Arquivo. A presença deste arquivo na de nível superior "src" diretório irá suprimir a mensagem de inicialização do log4j e quaisquer mensagens de log triviais. O sistema log4j irá imprimir somente os erros reais.

dicas & avisos

  • Há também uma série de pacotes comerciais que você pode usar para extrair texto de arquivos PDF, mas eles não são baratos.
De esta maneira? Compartilhar em redes sociais:

LiveInternet