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 |
<?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');
/** * 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; }
/** *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); }