NFePHP\Extras\Danfe::printDANFE PHP Method

printDANFE() public method

O destino da impressão pode ser : I-browser D-browser com download F-salva em um arquivo local com o nome informado S-retorna o documento como uma string e o nome é ignorado. Para enviar o pdf diretamente para uma impressora indique o nome da impressora e o destino deve ser 'S'.
public printDANFE ( string $nome = '', string $destino = 'I', string $printer = '' ) : string
$nome string Path completo com o nome do arquivo pdf
$destino string Direção do envio do PDF
$printer string Identificação da impressora no sistema
return string Caso o destino seja S o pdf é retornado como uma string
    public function printDANFE($nome = '', $destino = 'I', $printer = '')
    {
        $arq = $this->pdf->Output($nome, $destino);
        if ($destino == 'S') {
            //aqui pode entrar a rotina de impressão direta
        }
        return $arq;
        /*
           Opção 1 - exemplo de script shell usando acroread
             #!/bin/sh
            if ($# == 2) then
                set printer=$2
            else
                set printer=$PRINTER
            fi
            if ($1 != "") then
                cat ${1} | acroread -toPostScript | lpr -P $printer
                echo ${1} sent to $printer ... OK!
            else
                echo PDF Print: No filename defined!
            fi
            Opção 2 -
            salvar pdf em arquivo temporario
            converter pdf para ps usando pdf2ps do linux
            imprimir ps para printer usando lp ou lpr
            remover os arquivos temporarios pdf e ps
            Opção 3 -
            salvar pdf em arquivo temporario
            imprimir para printer usando lp ou lpr com system do php
            remover os arquivos temporarios pdf
        */
    }

Usage Example

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;
 }
All Usage Examples Of NFePHP\Extras\Danfe::printDANFE