Pdf.js: DPUScan pdf mostra tela preta

Criado em 1 set. 2018  ·  14Comentários  ·  Fonte: mozilla/pdf.js

Anexe (recomendado) ou Link para o arquivo PDF aqui:
Não consigo obter o documento oficial devido a restrições. Mas eu anexei a captura de tela. O problema parece acontecer para todos os documentos DPUScan de pdf 1.5
img-20180831-wa0006

Configuração:

  • Navegador da Web e sua versão: Firefox 45. Também testado no Firefox 52
  • Sistema operacional e sua versão: Windows 7
  • Versão PDF.js: testado com 2.0.55.0 e 1.10.100
  • É uma extensão do navegador: Não

Etapas para reproduzir o problema:

  1. A renderização do documento da versão DPUScan pdf 1.5 via pdf.js gera uma tela preta. Também tentei abrir o mesmo documento via visualizador online e também acabei com a tela preta.
  2. Em anexo a captura de tela do problema.

Qual é o comportamento esperado? (adicionar captura de tela)
PDF deve ser renderizado corretamente

O que deu errado? (adicionar captura de tela)
A tela preta é mostrada

Link para um visualizador (se hospedado em um site diferente de mozilla.github.io/pdf.js ou como extensão Firefox/Chrome):

1-core 3-pdf-broken

Comentários muito úteis

Eu fiz algumas depurações e olhei para jpx_stream.js. Após jpxImage.parse() o objeto tem 1 bloco que é apenas zeros. O tamanho está correto, ou seja, 2496 x 3512 = 8765952.

(Com o outro arquivo que anexei, os bytes decodificados eram todos 255)

Portanto, isso sugere que o problema está no decodificador JPEG2000 e não no espaço de cores como no PDFBox.

@rafaelcaviquioli este é um projeto de código aberto e alimentado por voluntários que podem ou não ter tempo. Re "minha cabeça dependendo desta solução": se for assim, liberte alguém ou várias pessoas de sua equipe por alguns dias e faça com que depurem o decodificador JPEG2000. O espetáculo acontece em
https://github.com/mozilla/pdf.js/blob/master/src/core/jpx.js
perto de "case 0xFF93:".
Compare o que está acontecendo com as especificações do JPEG2000 (consulte https://jpeg.org/jpeg2000/ ) ou compare o que está acontecendo com um decodificador JPEG2000 funcionando, por exemplo, o de Java,
https://github.com/jai-imageio/jai-imageio-jpeg2000/

Todos 14 comentários

De https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md :

Se o problema estiver relacionado a erros produzidos por um PDF específico, sempre inclua o PDF fornecendo um URL onde os contribuidores possam baixá-lo. Sem um PDF para reprodução, tais edições serão encerradas.

Fechando, pois não há nada que possamos fazer sem um arquivo PDF de exemplo. Talvez você possa criar um arquivo PDF não classificado com a mesma ferramenta para compartilhar aqui, após o qual podemos reabri-lo.

Não poderei compartilhar o arquivo pdf aqui, posso ter seu emailId pessoal? para compartilhar o documento.

Finalmente consegui obter um arquivo pdf não classificado. Anexei o mesmo aqui. Alguém pode dar uma olhada?
teste.pdf

O arquivo também falha no PDFBox… em java a imagem tem um espaço de cores RGB icc mas no raster tem apenas 1 banda com pixels de 1 bit. Seria preciso analisar a imagem JPEG2000 com uma boa ferramenta que informasse quais metadados realmente existem.
PDFJS-10026-image.zip

Alguma atualização que possamos implementar no lado pdf.js para renderizar o arquivo pdf?

Aqui está outro arquivo PDF exótico com uma imagem JPEG2000 que não pode ser renderizada com PDF.js (página 11, canto inferior direito); a imagem JPEG2000 tem 4 bits por pixel.
https://issues.apache.org/jira/secure/attachment/12655396/PDFBOX-2204-012411.pdf

Quaisquer correções temporárias que possamos aplicar ao código pdf.js para renderizar este pdf? Por favor sugira.

Olá, você pode fornecer uma atualização?

Olá! Estou tendo o mesmo problema :/

Você poderia, por favor, dar uma olhada nisso? Mesmo problema aqui!

Na verdade, toda a equipe dependendo disso

Mesmo problema : /

Eu fiz algumas depurações e olhei para jpx_stream.js. Após jpxImage.parse() o objeto tem 1 bloco que é apenas zeros. O tamanho está correto, ou seja, 2496 x 3512 = 8765952.

(Com o outro arquivo que anexei, os bytes decodificados eram todos 255)

Portanto, isso sugere que o problema está no decodificador JPEG2000 e não no espaço de cores como no PDFBox.

@rafaelcaviquioli este é um projeto de código aberto e alimentado por voluntários que podem ou não ter tempo. Re "minha cabeça dependendo desta solução": se for assim, liberte alguém ou várias pessoas de sua equipe por alguns dias e faça com que depurem o decodificador JPEG2000. O espetáculo acontece em
https://github.com/mozilla/pdf.js/blob/master/src/core/jpx.js
perto de "case 0xFF93:".
Compare o que está acontecendo com as especificações do JPEG2000 (consulte https://jpeg.org/jpeg2000/ ) ou compare o que está acontecendo com um decodificador JPEG2000 funcionando, por exemplo, o de Java,
https://github.com/jai-imageio/jai-imageio-jpeg2000/

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

kleins05 picture kleins05  ·  3Comentários

liuzhen2008 picture liuzhen2008  ·  4Comentários

THausherr picture THausherr  ·  3Comentários

anggikolo11 picture anggikolo11  ·  3Comentários

sujit-baniya picture sujit-baniya  ·  3Comentários