Quais bibliotecas, extensões etc. seriam necessárias para renderizar uma parte de um documento PDF em um arquivo de imagem?
A maioria das bibliotecas PDF PHP que encontrei se concentra na criação de documentos PDF, mas existe uma maneira simples de renderizar um documento para um formato de imagem adequado para uso na Web?
Nosso ambiente é uma pilha LAMP.
.jpg
extensão. Eu tentei o método .htaccess AddHandler e não funcionou.Respostas:
Você precisa
ImageMagick
eGhostScript
Os
[0]
meiospage 1
.fonte
$im->thumbnailImage(1500, 0);
Isso definirá sua imagem jpg para uma largura de 1500 e manterá a escala. Veja a documentaçãoPara aqueles que não têm o ImageMagick por qualquer motivo, as funções GD também funcionarão em conjunto com o GhostScript. Execute o comando ghostscript com
exec()
para converter um PDF em JPG e manipule o arquivo resultante comimagecreatefromjpeg()
.Execute o comando ghostscript:
Para manipular, crie uma nova imagem de espaço reservado
$newimage = imagecreatetruecolor(...)
e traga a imagem atual.$image = imagecreatefromjpeg('whatever.jpg')
e, em seguida, você pode usarimagecopyresampled()
para alterar o tamanho ou qualquer número de outrosimagemagick
comandos não internosfonte
gs
binário.something;rm -rf /
?Você também pode obter a contagem de páginas usando
Então você pode criar miniaturas de todas as páginas usando um loop, por exemplo.
fonte
Use a extensão php Imagick . Para controlar o tamanho desejado da imagem de saída raster, use a função setResolution
(Extensão sobre Paolo Bergantino, sua resposta, e Luis Melgratti, seu comentário. Você precisa definir a resolução antes de carregar a imagem.)
fonte
Se você estiver carregando o PDF a partir de um blob, é assim que você obtém a primeira página em vez da última página:
fonte
Você também pode tentar executar o utilitário 'converter' que acompanha o imagemagick.
fonte
convert
binário.echo 'image-0.jpg';
retorna uma string.Eu sou o autor do PDFlib, que é um wrapper GhostScript para php, a vantagem de usar esta biblioteca é que ela já foi testada e não requer
ImageMagic
Sempre os
GhostScript
comandos são mais rápidos do queImageMagic
quando se trata de pdf, portanto, você deve optar por um wrapper GhostScript ou comandos puros do GhostScriptfonte
Eu instalo terminado! Funcionou!
Você pode instalar o imagemagick no Windows.
Na
php (local)
chamada usoexec(<command line>)
ex:Além disso, você pode ser usado
class imagick
na classe PHP ImagickObrigado a todos me ajudaram!
fonte
Pense de maneira diferente, você pode usar a seguinte biblioteca para converter pdf em imagem usando javascript
http://usefulangle.com/post/24/pdf-to-jpeg-png-with-pdfjs
fonte
Aqui está uma classe simples que eu escrevi e usei em alguns projetos. Apenas envolve
imagick
e lida com a gravação de cada página no disco. Se alguém ainda estiver procurando uma maneira fácil de fazer isso, esse link poderá ser útil.fonte