Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wagner Martins - SC

Dompdf não funciona com duas páginas

Recommended Posts

Estou querendo gerar um arquivo pdf com o PHP, escolhi a biblioteca Dompdf() para fazer isso, só que quando o arquivo pdf gerado fica mais de uma página, não funciona apenas fica em branco a tela, como poderia fazer com que funcionasse com mais de uma página?

 

Estou fazendo assim

$dompdf = new DOMPDF();


$dompdf->load_html($html);


$dompdf->render();


$dompdf->stream("AR.pdf", array('Attachment'=>0));

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Caio Vargas
      Olá bom dia!
      estou ctiando um sistema de catalogo online onde o mesmo sera gerado em pdf
      escolhi a dompdf 
      porem ele gera o pdf mais ao abrir ele da erro
      atualmente trabalho com estrutura mvc onde tenho pasta themes/nomedotema
      alguem ja passou por isso e saberia como resolver 
    • Por oliveiros
      Saudações.
      Alguém conseguiu alterar esse código para funcionar com o dompdf mais atual e php 7.4?
      :seta:
       
      Notei que com a versão antiga era possível exibir o documento no navegador sem salvar, e agora, ele salva primeiro num diretório tamporário para posterior exibição no navegador(firefox). Apenas observação. Esse não é o problema
      Outra alteração que fiz no arquivo:
      $papel = array(0,0,852,227.20);
      $dompdf->set_paper($papel, 'portrait');
      system("lpr -P MP-4200_TH_Miniprinter  -#1 -o landscape -o fit-to-page /var/www/html/centralmix/venda/venda.pdf");
       
      Gratidão!
       
      Pessoal, encontrei a solução reestruturando o código html com o php.
      Isto leva o script a funcionar com qualquer versão do php
      Porém, com a versão mais atual da dompdf não consigo por mais que uma tabela no documento. No meu caso preciso disso.
      Carregar a página  php com $html = file_get_contents('exemplo.php'); não funcionou.
      A solução que encontrei, não sei se é o correto, mas funcionou foi:
      Separar o html em outro arquivo;
      Pegar o conteúdo html do arquivo com  ob_get_contents(): $comanda = ob_get_contents();
      Colocar o conteúdo na sessão:  $_SESSION['comanda'] = $comanda;
      Depois no arquivo onde está a dompdf:
      $comanda = $_SESSION['comanda'];
      $comanda = utf8_decode($comanda);
      $dompdf->loadHtml($comanda);
       
        Notei que
       
    • Por Wanderson Moreira
      Opa, blz?
      Alguém me da um help?
       
      Estou criando um relatorio em PDF com o dompdf e ao adicionar algumas imagens no documento, as mesmas saem deitadas.
       
      No html as fotos saem com a orientação normal(em pé) conforme foi inserida
       
      alguém sabe o que pode ser?
    • Por Vanderson Bilck Barbosa
      Boa tarde;
      Busco ajuda com um assunto não muito comum e que já esta me tirando o sono a 2 dias....
      Estou gerando PDFs com o DOMPDF, porém alguns itens que são cadastrados no banco via TextArea não se alinham conforme o restante dos demais.
       
      *** Ressalto que já tentei todas as formas de alinhamento CSS possíveis, tanto diretamente no item quanto no css integrado, limpei os itens no textarea (https://summernote.org/) que são adicionados automático (exemplo: <p></p> ).
       
      1 - Arquivo que busca o arquivo já renderizado .php.
      <?php
      use Dompdf\Dompdf;
      $dompdf = new Dompdf(["enable_remote" => true]);
      $dompdf->setPaper('A4', 'portrait');
      ob_start();
      require "views/adm/ordemdeproducao.php";
      $dompdf->loadHtml(ob_get_clean());
      $datagera = date('dmY-His');
      $dompdf->render();
      $dompdf->stream("OrdemProducao_$datagera.pdf", array("Attachment" => false));
       
      2 - trecho do Arquivo que é chamado pelo anterior
                                 <tr style="background-color: #FFFFFF;">
                                      <td>
                                          <table>
                                              <tr>
                                                  <td class="bglaranja1 th titReceita">
                                                      <b>RECEITA:</b> <i><?php echo $receita->gettitulo(); ?></i>
                                                  </td>
                                              </tr>
                                          </table>
                                          <table>
                                              <thead>
                                                  <tr>
                                                      <th class="th" width="60">ITEM</th>
                                                      <th class="th">PRODUTO</th>
                                                      <th class="th" width="60">UN</th>
                                                      <th class="th" width="60">QTDE</th>
                                                  </tr>
                                              </thead>
                                              <tbody>
                                                  <?php
                                                  $receitaItem = new Receita();
                                                  $itensReceita = $receitaItem->getProdutoReceita(array($receita->gettoken()));
                                                  foreach ($itensReceita as $itemCalc) {
                                                  ?>
                                                      <tr class="small">
                                                          <td class="text-center td"><?php echo $itemCalc["id_produto"]; ?></td>
                                                          <td class="td"><?php echo $itemCalc["nome_produto"]; ?></td>
                                                          <td class="text-center td"><?php echo $itemCalc["um_produto"]; ?></td>
                                                          <td class="text-center td"><?php echo number_format(intval($valueCardapio["quantidade"]) * floatval($itemCalc["quantidade"]), 0, '', '.'); ?></td>
                                                      </tr>
                                                  <?php } ?>
                                              </tbody>
                                          </table>
                                          <table style="background-color: #FFFFFF;">
                                              <tr>
                                                  <td class="td small" valign="top">
                                                      <p style="left: 0; text-align: left; margin-left: 0; border: 1px solid #FF0000;">
                                                          <b>MATERIAIS DA RECEITA</b><br />
                                                          <?php echo $receita->getmateriais(); ?>  //item que não se alinha (left) como os demais
                                                      </p>
                                                  </td>
                                              </tr>
                                          </table>
                                          <table>
                                              <tr>
                                                  <td class="td small" valign="top" style="background-color: #FFFFFF;">
                                                      <p style="left: 0; text-align: left; margin-left: 0; border: 1px solid #FF0000;">
                                                          <b>MODO DE PREPARO</b><br />
                                                          <?php echo $receita->getmodo_preparo(); ?> //item que não se alinha (left) como os demais
                                                      </p>
                                                  </td>
                                                  <td class="td small" valign="top" style="background-color: #FFFFFF; width: 160px;">
                                                      <b>FOTO DA RECEITA</b><br />
                                                      <?php if ($receita->gettoken_img() == null) { ?>
                                                          <div class="image_receita" style="background-image: url('<? echo $urlFora;?>/views/adm/res/img/noimage-300.jpg')"></div>
                                                      <?php } else { ?>
                                                          <div class="image_receita" style="background-image: url('<? echo $urlFora;?>/img/<?php echo $receita->gettoken_img(); ?>/0/1')"></div>
                                                      <?php } ?>
                                                  </td>
                                              </tr>
                                          </table>
                                          <table class="mb-1">
                                              <tr>
                                                  <td class="td small">
                                                      <b>Tempo de Preparo:</b> <?php echo $receita->gettempo_preparo(); ?> Minutos</td>
                                                  <td class="td small">
                                                      <b>Rendimento:</b> <?php echo $receita->getrendimento(); ?>
                                                  </td>
                                              </tr>
                                              <tr>
                                                  <td class="td small">
                                                      <b>Tipo da Porção:</b>
                                                      <?php
                                                      $porcao = new Porcao();
                                                      $porcao->loadByIdAtivo($receita->gettb_porcao_id());
                                                      echo $porcao->getmedida_caseira();
                                                      ?>
                                                  </td>
                                                  <td class="td small">
                                                      <b>Medida da Porção (gramas): <?php echo $receita->getvalor_porcao(); ?></b>
                                                  </td>
                                              </tr>
                                          </table>
                                      </td>
                                  </tr>
       
      3 - arquivo gerado em pdf (Imagem Anexo) - Itens vermelhos, são os mesmos comentados no fonte acima //item que não se alinha (left) como os demais

       
    • Por cunhar7
      Boa noite a todos, Gostaria de saber se alguém pode me ajudar com o DomPdf. Estou utilizando como base do projeto o codeigniter e bootstrap.
      Preciso Gerar um PDF com uma galeria de produtos, o problema é que não consigo forçar uma quebra de linhas. Os itens sempre aparecem um na frete do outro.
       
      //controller public function ImprimirTrabalho(){ #pesquisando modelo do trabalho $pesquisaModelo = $this->Trabalho->trabalho_layout($this->uri->segment(2)); #passando Modelo do trabalho para a variavel modelo $modelo = $pesquisaModelo['0']['layout']; ob_start(); $this->load->view('header_impressao'); $this->load->view($modelo); $pdf = ob_get_clean(); $this->pdf->loadHtml($pdf); // (Optional) Setup the paper size and orientation $this->pdf->setPaper('A4', ''); // Render the HTML as PDF $this->pdf->render(); // Output the generated PDF to Browser $this->pdf->stream("",array("Attachment" => false)); }
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.