Inheritance: extends NFePHP\Extras\CommonNFePHP, implements NFePHP\Extras\DocumentoNFePHP
Example #1
0
 /**
  * enviaMail
  * Envia a NFe por email aos destinatários
  * Caso $aMails esteja vazio serão obtidos os email do destinatário  e 
  * os emails que estiverem registrados nos campos obsCont do xml
  * @param string $pathXml
  * @param array $aMails
  * @param string $templateFile path completo ao arquivo template html do corpo do email
  * @param boolean $comPdf se true o sistema irá renderizar o DANFE e anexa-lo a mensagem
  * @return boolean
  * @throws Exception\RuntimeException
  */
 public function enviaMail($pathXml = '', $aMails = array(), $templateFile = '', $comPdf = false)
 {
     $mail = new MailNFe($this->aMailConf);
     $pathPdf = '';
     if ($comPdf && $this->modelo == '55') {
         $docxml = Files\FilesFolders::readFile($pathXml);
         $danfe = new Extras\Danfe($docxml, 'P', 'A4', $this->aDocFormat['pathLogoFile'], 'I', '');
         $id = $danfe->montaDANFE();
         $pathPdf = $this->aConfig['pathNFeFiles'] . DIRECTORY_SEPARATOR . $this->ambiente . DIRECTORY_SEPARATOR . 'pdf' . DIRECTORY_SEPARATOR . $id . '.pdf';
         $pdf = $danfe->printDANFE($pathPdf, 'F');
     }
     if ($mail->envia($pathXml, $aMails, $comPdf, $pathPdf) === false) {
         throw new Exception\RuntimeException('Email não enviado. ' . $mail->error);
     }
     return true;
 }
Example #2
0
<?php

/**
 * ATENÇÃO : Esse exemplo usa classe PROVISÓRIA que será removida assim que 
 * a nova classe DANFE estiver refatorada e a pasta EXTRAS será removida.
 */
error_reporting(E_ALL);
ini_set('display_errors', 'On');
include_once '../../bootstrap.php';
use NFePHP\Extras\Danfe;
use NFePHP\Common\Files\FilesFolders;
$chaveNotaFiscal = $_GET['chaveNotaFiscal'];
$logoLoja = $_GET['logoLoja'];
//var_dump($logoLoja);
//exit();
$xml = '../xml/' . $chaveNotaFiscal . '-nfe.xml';
$docxml = FilesFolders::readFile($xml);
$danfe = new Danfe($docxml, 'P', 'A4', '../../../../logos/' . $logoLoja, 'I', '');
$id = $danfe->montaDANFE();
$teste = $danfe->printDANFE($id . '.pdf', 'I');
Example #3
0
 /**
  *Método que faz o download da DANFE
  *
  * @name 	gerarDANFE
  * @access	public
  * @author	Roberson Faria
  * @param 	Numeric $customer_id
  * @param 	String $arquivo Caminho para o arquivo xml
  * @param   Char $tipoDownload Defini o tipo do download do arquivo "I" - abre o pdf no browser "D" - faz o download do PDF para a maquina do cliente.
  */
 public function printDanfe($arquivo, $tipoDownload = "I")
 {
     $dxml = base64_decode($arquivo);
     $logo = 'images/logo.jpg';
     if (strpos($arquivo, 'recebidas')) {
         $logo = '';
     }
     $docxml = FilesFolders::readFile($arquivo);
     $danfe = new Danfe($docxml, 'P', 'A4', $logo, $tipoDownload, '');
     $id = $danfe->montaDANFE();
     $danfe->printDANFE($id . '.pdf', $tipoDownload);
 }
Example #4
0
use NFePHP\Common\Files\FilesFolders;
$chave = isset($_POST['chave']) ? $_POST['chave'] : '';
$xml = isset($_POST['xml']) ? $_POST['xml'] : '';
$para = isset($_POST['para']) ? $_POST['para'] : '';
$comPdf = isset($_POST['comPdf']) ? $_POST['comPdf'] : '0';
$dxml = base64_decode($xml);
$xml = gzdecode($dxml);
$pathPdf = '';
$bPdf = false;
if ($comPdf === '1') {
    $bPdf = true;
    $logo = 'images/logo.jpg';
    if (strpos($xml, 'recebidas')) {
        $logo = '';
    }
    $docxml = FilesFolders::readFile($xml);
    $danfe = new Danfe($docxml, 'P', 'A4', $logo, 'I', '');
    $id = $danfe->montaDANFE();
    $pathPdf = '../base/' . $id . '.pdf';
    $pdf = $danfe->printDANFE($pathPdf, 'F');
}
$mail = new Mail();
$resp = $mail->envia($xml, $para, $bPdf, $pathPdf);
if ($resp === true) {
    echo "SUCESSO NFe n. {$chave}, enviada para {$para}.";
} else {
    echo "FRACASSO!! houve algum problema. {$mail->error}";
}
if ($comPdf && is_file($pathPdf)) {
    unlink($pathPdf);
}
Example #5
0
<?php

/**
 * ATENÇÃO : Esse exemplo usa classe PROVISÓRIA que será removida assim que 
 * a nova classe DANFE estiver refatorada e a pasta EXTRAS será removida.
 */
error_reporting(E_ALL);
ini_set('display_errors', 'On');
require_once '../../bootstrap.php';
use NFePHP\NFe\ToolsNFe;
use NFePHP\Extras\Danfe;
use NFePHP\Common\Files\FilesFolders;
$nfe = new ToolsNFe('../../config/config.json');
$chave = '52160500067985000172550010000000101000000100';
$xmlProt = "D:/xampp/htdocs/GIT-nfephp-org/nfephp/xmls/NF-e/homologacao/enviadas/aprovadas/201605/{$chave}-protNFe.xml";
// Uso da nomeclatura '-danfe.pdf' para facilitar a diferenciação entre PDFs DANFE e DANFCE salvos na mesma pasta...
$pdfDanfe = "D:/xampp/htdocs/GIT-nfephp-org/nfephp/xmls/NF-e/homologacao/pdf/201605/{$chave}-danfe.pdf";
$docxml = FilesFolders::readFile($xmlProt);
$danfe = new Danfe($docxml, 'P', 'A4', $nfe->aConfig['aDocFormat']->pathLogoFile, 'I', '');
$id = $danfe->montaDANFE();
$salva = $danfe->printDANFE($pdfDanfe, 'F');
//Salva o PDF na pasta
$abre = $danfe->printDANFE("{$id}-danfe.pdf", 'I');
//Abre o PDF no Navegador