Formato do PDF da Danfe

Bom dia pessoal,

Estou utilizando a rota de download do PDF da NF-e, e está funcionando corretamente, o PDF é retornado, mas ele chega pra mim como um binário, já tentei salvar ele como .PDF mas ele não visualiza, tentei utilizar a lib ZLIb para descomprimir ele, mas sem sucesso também.

Alguém teria alguma dica para me dar, de como transformar esse código binário do PDF, em um PDF legível, que abra com um leitor de PDF normal ???

Desde já agradeço qualquer colaboração.

Bom dia, o PDF é um binário. Bastaria salvar o conteúdo recebido como um arquivo com extensão .pdf e abrir ele normalmente. Como está recebendo esse PDF e salvando?

Perfeito, mas é exatamente isto que estou fazendo.

Segue anexo um zip contendo dois arquivos dentro, um txt com o código binário que a api me retornou, e um .PDF, que foi a tentativa de renomear ele para .pdf

danfe teste.zip (606,1,KB)

Não creio que você possa converter um TXT para PDF. Por que salvou em TXT e não em PDF direto?
Como está recebendo esse TXT e salvando?

Estou usando o Insomnia para testar as rotas da API, a rota de envio da NF-e funcionou, a rota que retorna o XML também, e agora estou na rota do download do PDF, esse texto que recebo vem direto da rota de download do PDF.

Agora eu preciso converter esse binário em um PDF legível, e é isto que estou com dificuldade.

Salvar esse TXT como PDF foi apenas um teste que não deu certo.

Alguém teria algum exemplo de como converter esse binário em um PDF legível usando Node + Java Script ?

Boa tarde, desculpe incomodar novamente, mas ainda não consegui achar uma solução.

Estou tentando salvar o arquivo PDF utilizando PHP, mas mesmo assim não dá certo, está gerando um PDF em branco.

Segue exemplo de como estou salvando o PDF:

E quando tento abrir o PDF, abre em branco.

Alguém teria alguma ideia de solução ??

Tentamos fazer o teste salvando o PDF utilizando o Node mas também não deu certo.

Será que não existe o risco da API estar retornando um binário inválido ??

Olá @projetos.web,

Qual o id da nota em questão?

Olá, a nota foi enviado na API sandBox, id 3a06bba4-895b-4169-8553-a2f61b424c89

Como o @wlandgraf já mencionou, o endpoint retorna o binário do PDF juntamente com o cabeçalho content-type: application/pdf indicando o formato. Dessa forma, ferramentas como Insomnia e Postman já exibem uma pré-visualização do conteúdo do PDF.

Você poderia fazer uma requisição em uma dessas ferramentas e nos enviar um print para entendermos melhor o que está acontecendo?

Muitíssimo obrigado, a situação foi resolvida.

Eu estava testando com o Insomnia e acontecia mesma coisa que quando testava pelo sistema.

Mas com a ideia de testar no Postman, me abriu os olhos, pois por ele funcionou, retornou o PDF certinho, só salvei como .PDF e abriu, coisa linda.

Daí a solução pro meu código do sistema, foi usar o Fetch e não o Axios para fazer a requisição do download.

Valeuuuu

1 curtida

Este tópico foi fechado automaticamente 24 horas depois da última resposta. Novas respostas não são mais permitidas.