montaDANFE() public method

A definição de margens e posições iniciais para a impressão são estabelecidas pelo conteúdo da funçao e podem ser modificados.
public montaDANFE ( string $orientacao = '', string $papel = 'A4', $logoAlign = 'C', $situacaoExterna = NFEPHP_SITUACAO_EXTERNA_NONE, $classPdf = false, $depecNumReg = '', $margSup = 2, $margEsq = 2, $margInf = 2 ) : string
$orientacao string (Opcional) Estabelece a orientação da impressão (ex. P-retrato), se nada for fornecido será usado o padrão da NFe
$papel string (Opcional) Estabelece o tamanho do papel (ex. A4)
return string O ID da NFe numero de 44 digitos extraido do arquivo XML
Example #1
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 #2
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 #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);
 }