A biblioteca Apache PDFBox é uma ferramenta Java de código aberto para trabalhar com documentos PDF. Este projeto permite a criação de novos documentos PDF, a manipulação de documentos existentes e a capacidade de extrair conteúdo de documentos. PDFBox também inclui vários utilitários de linha de comando. PDFBox é publicado sob a licença Apache, versão 2.0.
PDFBox é um projeto da Apache Software Foundation.
Você pode baixar versões binárias para versões atualmente em desenvolvimento ou versões mais antigas em nossa página de download.
Você precisa do Java 11 (ou superior) e do Maven 3 para construir o PDFBox. O comando de compilação recomendado é:
mvn clean install
A compilação padrão compilará as fontes Java e empacotará as classes binárias em pacotes jar. Consulte a documentação do Maven para todas as outras opções de construção disponíveis.
Existem várias maneiras de nos ajudar a melhorar o PDFBox.
Por favor, siga as diretrizes em nossa página de suporte.
Se você tiver dúvidas sobre como usar o PDFBox, pergunte na lista de discussão de usuários. Isso lhe dará ajuda de toda a comunidade.
Os exemplos do PDFBox e o código de teste nas fontes também fornecerão informações adicionais.
E há recursos adicionais disponíveis em sites como Stack Overflow.
Se você tiver certeza de que encontrou um bug, relate o problema em nosso Issue Tracker.
Consulte o Issue Tracker para obter a lista completa de problemas conhecidos e recursos solicitados. Alguns dos problemas mais comuns são:
Você obtém um texto como "G38G43G36G51G5" em vez do esperado ao extrair texto. Isso ocorre porque os caracteres são uma codificação interna sem sentido que aponta para glifos incorporados no documento PDF. A única maneira de acessar o texto é usar OCR. Esta pode ser uma melhoria futura.
Você recebe uma mensagem de erro como java.io.IOException: Can't handle font width
this PODE ser devido ao fato de você não ter o diretório org/apache/pdfbox/resources em seu classpath. A solução mais fácil é incluir apache-pdfbox-xxxjar em seu classpath.
Você recebe um texto com os caracteres corretos, mas na ordem errada. Isso pode ser porque você não ativou a classificação. O texto em arquivos PDF é armazenado em partes e as partes não precisam ser armazenadas na ordem em que são exibidas em uma página. Por padrão, o PDFBox não classifica o texto.
Trabalho coletivo: Copyright 2015 The Apache Software Foundation.
Licenciado para a Apache Software Foundation (ASF) sob um ou mais contratos de licença de contribuidor. Consulte o arquivo AVISO distribuído com este trabalho para obter informações adicionais sobre a propriedade dos direitos autorais. A ASF licencia este arquivo para Você sob a Licença Apache, Versão 2.0 (a "Licença"); você não pode usar este arquivo exceto em conformidade com a Licença. Você pode obter uma cópia da Licença em
https://www.apache.org/licenses/LICENSE-2.0
A menos que exigido pela lei aplicável ou acordado por escrito, o software distribuído sob a Licença é distribuído "COMO ESTÁ", SEM GARANTIAS OU CONDIÇÕES DE QUALQUER TIPO, expressas ou implícitas. Consulte a Licença para saber o idioma específico que rege as permissões e limitações da Licença.
Esta distribuição inclui software criptográfico. O país em que você reside atualmente pode ter restrições à importação, posse, uso e/ou reexportação para outro país de software de criptografia. ANTES de usar qualquer software de criptografia, verifique as leis, regulamentos e políticas do seu país relativas à importação, posse ou uso e reexportação de software de criptografia para ver se isso é permitido. Consulte https://www.wassenaar.org/ para obter mais informações.
O Departamento de Comércio do Governo dos EUA, Bureau de Indústria e Segurança (BIS), classificou este software como Export Commodity Control Number (ECCN) 5D002.C.1, que inclui software de segurança da informação que usa ou executa funções criptográficas com algoritmos assimétricos. A forma e o modo desta distribuição da Apache Software Foundation a tornam elegível para exportação sob a exceção License Exception ENC Technology Software Unrestricted (TSU) (consulte os Regulamentos de Administração de Exportação do BIS, Seção 740.13) para código-objeto e código-fonte.
A seguir são fornecidos mais detalhes sobre o software criptográfico incluído:
Apache PDFBox usa Java Cryptography Architecture (JCA) e as bibliotecas Bouncy Castle para lidar com criptografia em documentos PDF.