PHP-PDFBox é uma pequena biblioteca que atua como um wrapper facilitando o uso de PDFBox https://pdfbox.apache.org/ em PHP.
Ele fornece uma API simples para chamar pdfbox-app.jar. A biblioteca está atualmente restrita à funcionalidade fornecida pelos utilitários de linha de comando do PDFbox. Atualmente suporta PDFBox versão 2.
PDFBox é publicado sob a licença Apache v2.0 e é descrito como "A biblioteca Apache PDFBox® é uma ferramenta Java de código aberto para trabalhar com documentos PDF."
Recomenda-se instalar o PHP-PDFBox através do Composer:
{
"require" : {
"php-pdfbox/php-pdfbox" : " ^2.0 "
}
}
pdfbox-app.jar está incluído na instalação. Você pode/deve verificar a integridade do pdfbox-app.jar com as assinaturas PGP disponíveis em https://pdfbox.apache.org/download.html.
O uso básico pode ser feito da seguinte forma:
$ file = new Pdfbox Processor PdfFile (
new Pdfbox (
' /path/to/java ' ,
' /path/to/pdfbox-app.jar '
);
);
// Convert pdf to text
echo $ file -> toText ( ' test.pdf ' );
(Fornecer um objeto Logger é opcional na v2.0.2+.) Para usar com psr/log e um registrador compatível com PSR-3, faça algo como:
use Psr Log LoggerInterface ;
use MyPSR3Logger ;
class Foo
{
private $ logger ;
public function __construct ( LoggerInterface $ logger = null ){
$ this -> logger = $ logger ;
}
public function doPdfBox (){
try {
$ file = new Pdfbox Processor PdfFile (
new Pdfbox (
' /path/to/java ' ,
' /path/to/pdfbox-app.jar ' ,
$ this -> logger ;
);
);
// Convert pdf to text
echo $ file -> toText ( ' test.pdf ' );
} catch ( Exception $ e ) {
$ this -> logger -> error ( $ e -> getMessage (), [ ' exception ' , $ e -> backtrace ()]);
}
}
}
$ myLogger = new MyPSR3Logger ();
$ foo = new Foo ( $ myLogger );
Veja examples/ConsoleLogger.php
para uma classe de logger padrão compatível com PSR3 que pode ser copiada e adaptada.
Veja examples/*.php
para mais exemplos.
A documentação HTML gerada pelo phpDocumentor pode ser encontrada em docs/api
.
PHP-Pdfbox é lançado sob licença MIT http://opensource.org/licenses/MIT
Consulte o arquivo LICENSE para obter mais informações.