DANFE - Falha ao carregar documento PDF

254 views
Skip to first unread message

Mauro Jose Conte

unread,
Sep 29, 2023, 9:30:28 AM9/29/23
to NFePHP
PRIMEIROS testes no danfe, sempre retorna essa msg
Arquivo php:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
include __DIR__ . '/vendor/autoload.php';
use NFePHP\DA\NFe\Danfe;
$xml = file_get_contents(__DIR__ . '/entrada/mod55.xml');
//$logo = 'data://text/plain;base64,'. base64_encode(file_get_contents(realpath(__DIR__).'/../relatorios/images/logo_od.jpeg'));
$logo = 'data://text/plain;base64,'. base64_encode(file_get_contents(realpath(__DIR__ . '/images/tulipas.png')));

try {
    $danfe = new Danfe($xml);
   
    $danfe->exibirTextoFatura = false;
    $danfe->exibirPIS = false;
    $danfe->exibirIcmsInterestadual = false;
    $danfe->exibirValorTributos = false;
    $danfe->descProdInfoComplemento = false;
    $danfe->exibirNumeroItemPedido = false;
    $danfe->setOcultarUnidadeTributavel(true);
    $danfe->obsContShow(false);
    $danfe->printParameters(
        $orientacao = 'P',
        $papel = 'A4',
        $margSup = 2,
        $margEsq = 2
    );
    $danfe->logoParameters($logo, $logoAlign = 'C', $mode_bw = false);
    $danfe->setDefaultFont($font = 'times');
    $danfe->setDefaultDecimalPlaces(4);
    $danfe->debugMode(false);
    $danfe->creditsIntegratorFooter('WEBNFe Sistemas - http://www.webenf.com.br');

    $pdf = $danfe->render($logo);
    header('Content-Type: application/pdf');
    echo $pdf;
} catch (InvalidArgumentException $e) {
    echo "Ocorreu um erro durante o processamento :" . $e->getMessage();
}


Mauro Jose Conte

unread,
Sep 29, 2023, 9:35:19 AM9/29/23
to NFePHP
Anexando os arquivos
o arquivo xml e a imagem tulipas.png peguei da pasta fixtures do nfe php
Sempre aparece a mesma msg falha ao carregar documento
att
Mauro
mod55.xml
danfe.php

Mauro Jose Conte

unread,
Sep 30, 2023, 6:12:02 AM9/30/23
to NFePHP
Bom dia, 
Com essas linhas e o xml em anexo
O que recebo é erro, erro, falha.

<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
include __DIR__ . '/vendor/autoload.php';
use NFePHP\DA\NFe\Danfe;
$xml = file_get_contents(__DIR__ . '/entrada/mod55.xml');

$logo = 'data://text/plain;base64,'. base64_encode(file_get_contents(realpath(__DIR__ . '/../relatorios/images/logo_od.jpeg')));
//$logo = 'data://text/plain;base64,'. base64_encode(file_get_contents(realpath(__DIR__ . '/images/tulipas.png')));

try {
    $danfe = new Danfe($xml);
    $danfe->exibirTextoFatura = false;
    $danfe->exibirPIS = false;
    $danfe->exibirIcmsInterestadual = false;
    $danfe->exibirValorTributos = false;
    $danfe->descProdInfoComplemento = false;
    $danfe->exibirNumeroItemPedido = false;
    $danfe->setOcultarUnidadeTributavel(true);
    $danfe->obsContShow(false);
    $danfe->printParameters(
        $orientacao = 'P',
        $papel = 'A4',
        $margSup = 2,
        $margEsq = 2
    );

    $danfe->logoParameters($logo, $logoAlign='C', $mode_bw = false);

    $danfe->setDefaultFont($font = 'times');
    $danfe->setDefaultDecimalPlaces(4);
    $danfe->debugMode(false);
   
    $pdf = $danfe->render($logo);
    header('Content-Type: application/pdf');
    echo $pdf;

} catch (InvalidArgumentException $e) {
    echo "Ocorreu um erro durante o processamento :" . $e->getMessage();
}
mod55.xml

Francisco Leoncio

unread,
Sep 30, 2023, 8:13:14 AM9/30/23
to NFePHP
e cade o erro?

Mauro Jose Conte

unread,
Sep 30, 2023, 8:30:43 AM9/30/23
to NFePHP
Bom dia Francisco, Obrigado pelo retorno !
Então: o erro, é que não visualiza o danfe ! 
Segundo: no chrome, baixei ontem o adobe reader, pesquisando possíveis erros, há citações de erro no chrome ao visualizar arquivos pdf.
Nada, resultado o mesmo: falha ao visualizar.
E no código de php, com wamp64, não sai disso.
Sensação de andar no escuro, não tem erro, mesmo desabilitando linha a linha, não aparece algo !
o xml válido baixei do nfe php, pasta fixtures.
Enfim, se dizem que funciona, eu não consegui visualizar
Att
Mauro 

Francisco Leoncio

unread,
Sep 30, 2023, 8:46:10 AM9/30/23
to NFePHP
não sei qual seja teu problema, mas eu eu gerei teu xml em pdfimagem_2023-09-30_094604696.png

Francisco Leoncio

unread,
Sep 30, 2023, 8:48:34 AM9/30/23
to NFePHP
anexo o arquivo que usei parar gerar esse danfe
danfe.php

Mauro Jose Conte

unread,
Oct 1, 2023, 7:31:21 PM10/1/23
to NFePHP
Continua o problema, agora, após APARECE isso
/var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe
Warning: getimagesize(): data:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe/vendor/nfephp-org/sped-da/src/Common/DaCommon.php on line 287

Warning: getimagesize(data://text/plain;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAACbCAIAAAB+jAyZAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAFAPSURBVHhe7b0HeFxJlfe9szPMwsDAAEOOA8swsAO8ZHiXzH7LMrvALixpl8zywjKecY5yzlmyLMuWg2zZcpYtR+VWzjnnnHPOwXy/7mo37dtBddVBLfv+n/PYrdsVTp069a9T91bX/Zu/aNCgQYMGB6DRqAYNGjQ4BI1GNWjQoMEhaDSqQYMGDQ5Bo1ENGjRocAgajWrQoEGDQ9BoVIMGDRocgkajGjRo0OAQNBrVoEGDBoeg0agGDRo0OASNRjVo0KDBIWg0qkGDBg0OQaNRDRo0aHAIGo1q0KBBg0PQaFSDBg0aHMKCpNGZe/cmp6clZXpmxphNw0IGXTk8MTE0Pi4pOIkxpwYNLsaCpNGy1tbDUVEHw8JkJLKwcHRiwphTw4LF0aTkd67d8DcvL5GU7MYmY04NGlyMh59GEY1JHwJoNKrBY/FI0CiiMelCh0ajGjwWjwqNIhqTLmhoNKrBY/EI0SiiMenChUajGjwWDw+NeoeH+1iIIg2iMekChUajGjwWDw+NXs/Kiikq0plJeEGBn7WgVWPShQiNRjV4LB4eGq1ub7fcKljc1HQ0JkaREtGYdMFBo1ENHouHnEaBxqQPBzQa1eCxePhpFGhM+hBAo1EPBONtbHJyeHxiVpl6qH9M+EjQKLDFpAllZfiBMZEGD4ZGox6IwbHxnwYGvX/Dllnlam7+QzzQFiSNVrS1Beh0hyMjzaW2s9P+z6htMWlyRcW4xqQeD41GPRCFLS2f33tQYXmrcjotY1SjUY/C1PT04NjY4OiouUxKrBqKmpr8o6MVNIpoTOr50GjUAxFaUPjC1p0Ky1sVjUYfKmRUVx+xwaTa6t6TodGoB+JwfNL71m9RWN6qaDT6sE in /var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe/vendor/nfephp-org/sped-da/src/Common/DaCommon.php on line 287

Notice: Trying to access array offset on value of type bool in /var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe/vendor/nfephp-org/sped-da/src/Common/DaCommon.php on line 291

Fatal error: Uncaught Exception: O formato da imagem não é aceitável! Somente PNG ou JPG podem ser usados. in /var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe/vendor/nfephp-org/sped-da/src/Common/DaCommon.php:293 Stack trace: #0 /var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe/vendor/nfephp-org/sped-da/src/NFe/Danfe.php(456): NFePHP\DA\Common\DaCommon->adjustImage('data://text/pla...') #1 /var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe/vendor/nfephp-org/sped-da/src/Common/DaCommon.php(215): NFePHP\DA\NFe\Danfe->monta('data://text/pla...') #2 /var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe/danfe.php(27): NFePHP\DA\Common\DaCommon->render('data://text/pla...') #3 /var/www/html/pwd-informatica.com.br/web/kapaz/admin/index2.php(429): require('/var/www/html/p...') #4 {main} thrown in /var/www/html/pwd-informatica.com.br/web/kapaz/admin/nfe/vendor/nfephp-org/sped-da/src/Common/DaCommon.php on line 293

no wamp64, em SO com windows 10
da erro na geração do pdf
em produção maquina site no uol, a msg acima
DANFE não visualiza

Apaguei a pasta vendor.
Baixei novamente com o  composer require nfephp-org/sped-da:dev-master
executei e erro é o que esta cima

arquivo php em anexo
Att
Mauro

danfe.php

Shinoda kl

unread,
Oct 2, 2023, 8:45:08 AM10/2/23
to NFePHP
O Seu erro é de lógica de programação e não da biblioteca em sí.

remova o logo e veja que vai gerar normalmente, trate o erro sobre o carregamento da logo se não conseguir, deixe sem.

Mauro Jose Conte

unread,
Oct 2, 2023, 9:17:01 AM10/2/23
to NFePHP
Não procede, sua ajuda.
Isso ja foi feito  fiz novamente, gerar sem a logo.
o Teste foi feito em produção e em desenvolvimento (com wamp64)
Msg é a mesma, pelo adobe reader "ECONTRAMOS UM ERRO AO PROCESSAR O ARQUIVO. ALGUNS RECURSOS PODEM NÃO FUNCIONAR"
Agora, se você conseguiu, coloque por favor, o que vc mudou. 
Para mim, o DANFE é um mistério, nunca o vi ainda.
Na msg , estou anexando o xml e o arquivo php, para testar.
Resumindo, nos testes, não funciona.
Uma DUVIDA:
versão do mpdf e do composer, todas funcionam ?
att
Mauro
mod55.xml
danfe.php

Willian C. Klein

unread,
Oct 2, 2023, 12:55:11 PM10/2/23
to nfe...@googlegroups.com
o que posso te afirmar que é erro de configuração de ambiente isso ai, olhe bem esse 'warning' e ruindow$ tem dessas mesmo

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositórios: https://github.com/nfephp-org
---
You received this message because you are subscribed to the Google Groups "NFePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nfephp+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/nfephp/deb575f7-955d-45fc-ac20-8c886ed931cdn%40googlegroups.com.

Mauro Jose Conte

unread,
Oct 2, 2023, 7:47:54 PM10/2/23
to NFePHP
Willian, se for apenas isso, onde esta armazenado a aplicação no uol, tbem da erro.
Com servidor linux
A questão é a escuridão, você não vê erro, apenas msg que não funciona ao visualizar o pdf
pasta vendor ?
composer.json ?
extensões ?

É um tempo em testes grande. Obrigado pelo contato
Vou tentar ver com mais alguém o motivo de não gerar
Até
Mauro

Willian C. Klein

unread,
Oct 3, 2023, 7:56:26 AM10/3/23
to nfe...@googlegroups.com
sobre o adobe reader não sei te ajudar, realmente não uso e nem sei em que é usado, eu basicamente imprimo pelo mozilla/chrome então é drasticamente mais simples.

fiz um teste aqui e foi normal, usando php 8.2, composer, ubuntão da massa(vide o ambiente especficado pelo pacote)

$DaNFe = new Danfe($xml);
$logo = 'data://text/plain;base64,' . base64_encode('./logo.png');
$rawPDF = $DaNFe->render($logo);
header('Content-Type: application/pdf');
echo $rawPDF;

Message has been deleted

Lucas Miranda

unread,
Oct 3, 2023, 9:52:29 AM10/3/23
to NFePHP
danfe.pngAqui também funcionou perfeitamente:

Lucas Miranda

unread,
Oct 3, 2023, 9:54:48 AM10/3/23
to NFePHP
Tenta gerar o aquivo .pdf pelo put_contents
e analisa se cria corretamente
Message has been deleted

Shinoda kl

unread,
Oct 3, 2023, 10:03:46 AM10/3/23
to NFePHP
Utiliza o ob_clean(); antes do echo para limpar qualquer erro não tratado.

(Se mostrar  o PDF volte e remova o ob_clean e rastreie o problema);

Mauro Jose Conte

unread,
Oct 3, 2023, 12:14:25 PM10/3/23
to NFePHP
Então: esta funcionando a geração do danfe.
Com sistema operacional windows 10
Wamp64 bits
Gerou o danfe certo, abaixo esta o código utilizado
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'On');
error_reporting(E_ALL);
require(__dir__. '/vendor/autoload.php');

use NFePHP\DA\NFe\Danfe;
$xml  = file_get_contents( __dir__. '/entrada/mod55.xml'); // ARQUIVO XMl valido usado para teste

try {
    $danfe = new Danfe($xml);
   
    $danfe->exibirTextoFatura = false;
    $danfe->exibirPIS = false;
    $danfe->exibirIcmsInterestadual = false;
    $danfe->exibirValorTributos = false;
    $danfe->descProdInfoComplemento = false;
    $danfe->exibirNumeroItemPedido = false;
    $danfe->setOcultarUnidadeTributavel(true);
    $danfe->obsContShow(false);
    $danfe->printParameters(
        $orientacao = 'P',
        $papel = 'A4',
        $margSup = 2,
        $margEsq = 2
    );
   
    $danfe->setDefaultFont($font = 'times');
    $danfe->setDefaultDecimalPlaces(4);
    $danfe->debugMode(false);    

    $pdf = $danfe->render();
    header("Content-Type: application/pdf");
    ob_clean();    /// ultima modificação feita (Shinoda KL)
    echo $pdf;
    exit;


} catch (InvalidArgumentException $e) {
    echo "Ocorreu um erro durante o processamento :" . $e->getMessage();
}
?>
ob_clean() esta função, limpar o buffler , com a dica do Shinoda, hoje de manhã, passou a funcionar.
Outra pessoa que participou,  Francisco Leoncio verde...@gmail.com
Quem for utilizar ambiente windows ou linux, funciona em ambos. Fica o registro
No meu caso, ambiente de testes foi no windows 10 com wamp64, e em produção no UOL com linux, também esta funcionando
Outra coisa que deve ser registrado, a importância de aprender e saber utiliza-lo, falo do COMPOSER.
Era isso.
Fica registrado para quem passar por algo parecido, ficam as dicas e comentários sobre
att
Mauro

Reply all
Reply to author
Forward
0 new messages