Olá, mundo.
Alguém já teve o desprazer de fazer o download de uma arquivo PDF e não conseguir exibi-lo no visualizador padrão?
Isso já aconteceu comigo algumas vezes, mas hoje precisei abrir um documento neste formato digital e simplesmente apareceu: NADA. A tela fica toda preta dentro do visualizador de PDF. Utilizo o Zathura, software que lhe permite escolher qual biblioteca será utilizada como backend para visualizar os PDFs (optei pela mais utilizada - poppler) e é altamente customizável através de plugins, entre outros recursos.
Daí veio a idéia de debugar através do terminal. Executei o comando com o nome do arquivo:
zathura arquivo.pdf
Eis que apareceu o erro error: Unknown file type: 'application/octet-stream'
, o que me permitiu identificar que o cabeçalho do arquivo não estava dentro do padrão PDF.
Com a ferramenta hexdump
consegui visualizar os bytes não deveriam preceder o %PDF1.4
.
hexdump -C arquivo.pdf | more
00000000 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a 0d 0a |................|
*
00000030 0d 0a 0d 0a 25 50 44 46 2d 31 2e 34 0a 25 e2 e3 |....%PDF-1.4.%..|
00000040 cf d3 0a 32 20 30 20 6f 62 6a 0a 3c 3c 2f 4c 65 |...2 0 obj.<</Le|
00000050 6e 67 74 68 20 34 38 37 39 2f 46 69 6c 74 65 72 |ngth 4879/Filter|
00000060 2f 46 6c 61 74 65 44 65 63 6f 64 65 3e 3e 73 74 |/FlateDecode>>st|
00000070 72 65 61 6d 0a 78 da a5 5a 0b 98 15 c5 95 ae d3 |ream.x..Z.......|
Daí, resolvi abrir o arquivo pelo VIM e ele apareceu assim:
^M
^M
^M
^M
%PDF-1.4
%âãÏÓ
2 0 obj
<</Length 4879/Filter/FlateDecode>>stream
Foram 26 linhas com o caractere ^M
. Deletei essas linhas e salvei o arquivo.
Problema resolvido.
Após essa alteração a saída do comando hexdump -C arquivo.pdf
passou a exibir a primeira linha assim:
00000000 25 50 44 46 2d 31 2e 34 0a 25 e2 e3 cf d3 0a 32 |%PDF-1.4.%.....2|
e o arquivo pôde ser aberto normalmente.
0 comments:
Postar um comentário