A boa notícia : há uma maneira de capturar seu pdf em sua totalidade.
A má notícia : é um pouco longo e o pdf pode não sair 100% correto!
(É melhor que nada, certo?)
Então, para que tudo isso funcione, você precisará fazer o seguinte:
- Pegue uma versão do NodeJS de aqui e instale-a
-
a . Se você tiver
git instalado, basta clonar o mozilla/pdf.js repo de github , assim como git clone git://github.com/mozilla/pdf.js.git pdfjs e cd no diretório
b . se você não tiver git , precisará baixar o repositório de código inteiro daqui: https://github.com/mozilla/pdf.js/archive/master.zip
descompacte-o e abra command prompt e cd na raiz da pasta
- executar
node make server
O que você tem feito até agora é criar um servidor web rodando em localhost:8888 que é capaz de renderizar pdfs usando JavaScript . Você pode ver um exemplo de pdf indo para a seguinte página: http://localhost:8888/web/viewer.html?file=/examples/learning/helloworld.pdf
Em seguida, você precisará baixar o PhantomJS.
- Pegue em aqui
- Descompacte-o onde desejar e depois no prompt de comando
cd na pasta bin
- Copie o arquivo
rasterize.js da pasta examples de phantomjs para a pasta bin (Eu sei que é um pouco sujo, mas podemos resolvê-lo mais tarde, certo?)
- Abra
rasterize.js porque precisamos alterar algo.
- Vá para a linha
45 e altere a hora de 200 para algo como 5000 por enquanto. O código deve se parecer com: link
- Coloque uma cópia do arquivo
pdf que você deseja capturar em uma pasta chamada test na pasta raiz pdfjs
- Por fim, execute o seguinte comando em
phantomjs.exe rasterize.js http://localhost:8888/web/viewer.html?file=/test/xxx.pdf test.png 1920px*1080px
Quais são esses parâmetros que eu ouço você dizer?
O primeiro diz phantomjs qual script executar. Isso é fácil, no nosso caso é a versão modificada de rasterize.js !
O segundo é o URL para carregar, que é o servidor local executando pdfjs . Observe que você precisará substituir o xxx pelo nome do seu arquivo pdf .
O terceiro parâmetro é o nome e o formato do arquivo para o qual você salvará a captura.
Finalmente, o último parâmetro é o tamanho da captura. Você precisará brincar com o tamanho para ter certeza de capturar toda a página.