Ir para conteúdo

Arquivado

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

cassiombc

[Resolvido] Renderizar PDF

Recommended Posts

Solucionei ao final da função voces devem colocar

 

header('Content-type: application/pdf');
           echo $pdf->render();

 

Solucionei ao final da função voces devem colocar

 

header('Content-type: application/pdf');
           echo $pdf->render();

 

 

So que quanto eu vo renderizar ele dis"O arquivo não começa com %pdf"

 

alguem sabe como solucionar isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera diante do seguinte codigo, não esta sendo possivel mais visualizar o pdf, mas esta sendo criado o arquivo

if ($this->getRequest()->isPost()) {

           $nome = $this->getRequest()->getPost('razao');
           $endereco = $this->getRequest()->getPost('endereco');
           $cidade = $this->getRequest()->getPost('cidade');
           $uf = $this->getRequest()->getPost('uf');
           $fone = $this->getRequest()->getPost('fone');
           $nossanf = $this->getRequest()->getPost('nossanf');
           $dataemissao = $this->getRequest()->getPost('dataemissao');
           $rma = $this->getRequest()->getPost('rma');
           $autorizado = $this->getRequest()->getPost('autorizado');
           $produto1 = $this->getRequest()->getPost('produto1');
           $produto1serial = $this->getRequest()->getPost('produto1serial');
           $produto1nf = $this->getRequest()->getPost('produto1nf');
           $produto1data = $this->getRequest()->getPost('produto1data');
           $produto1defeito = $this->getRequest()->getPost('produto1defeito');
           $produto2 = $this->getRequest()->getPost('produto2');
           $produto2serial = $this->getRequest()->getPost('produto2serial');
           $produto2nf = $this->getRequest()->getPost('produto2nf');
           $produto2data = $this->getRequest()->getPost('produto2data');
           $produto2defeito = $this->getRequest()->getPost('produto2defeito');
           $produto3 = $this->getRequest()->getPost('produto3');
           $produto3serial = $this->getRequest()->getPost('produto3serial');
           $produto3nf = $this->getRequest()->getPost('produto3nf');
           $produto3data = $this->getRequest()->getPost('produto3data');
           $produto3defeito = $this->getRequest()->getPost('produto3defeito');
           $produto4 = $this->getRequest()->getPost('produto4');
           $produto4serial = $this->getRequest()->getPost('produto4serial');
           $produto4nf = $this->getRequest()->getPost('produto4nf');
           $produto4data = $this->getRequest()->getPost('produto4data');
           $produto4defeito = $this->getRequest()->getPost('produto4defeito');
           try {
               require_once 'Zend/Pdf.php';
               $pdf = new Zend_Pdf();
               $pdfPage = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);

               $style = new Zend_Pdf_Style();
               $style->setLineColor(new Zend_Pdf_Color_RGB(0.9, 0, 0));
               $style->setFillColor(new Zend_Pdf_Color_GrayScale(0.2));
               $style->setLineWidth(3);
               $font = new Zend_Pdf_Resource_Font_Simple_Standard_TimesRoman();
               $style->setFont($font, 8);


               $imagem = new Zend_Pdf_Resource_Image_Jpeg("receba/rma1.jpg");
               $pageHeight = $pdfPage->getHeight();
               $pageWidth = $pdfPage->getWidth();
               $imageHeight = 700;
               $imageWidth = 500;
               $topPos = $pageHeight - 70;
               $leftPos = 50;
               $bottomPos = $topPos - $imageHeight;
               $rightPos = $leftPos + $imageWidth;
               $pdfPage->drawImage($imagem, $leftPos, $bottomPos, $rightPos, $topPos);



               $pdfPage->setStyle($style);
               $pdfPage->drawText($nome, 122, 733);
               $pdfPage->drawText($endereco, 105, 717);
               $pdfPage->drawText($cidade, 98, 698);
               $pdfPage->drawText($uf, 360, 698);
               $pdfPage->drawText($fone, 428, 698);
               $pdfPage->drawText($nossanf, 108, 681);
               $pdfPage->drawText($dataemissao, 385, 681);
               $pdfPage->drawText($rma, 98, 664);
               $pdfPage->drawText($autorizado, 235, 664);
               $pdfPage->drawText($produto1, 80, 596);
               $pdfPage->drawText($produto1serial, 237, 596);
               $pdfPage->drawText($produto1nf, 320, 596);
               $pdfPage->drawText($produto1data, 370, 596);
               $pdfPage->drawText($produto1defeito, 410, 596);
               $pdfPage->drawText($produto2, 80, 529);
               $pdfPage->drawText($produto2serial, 237, 529);
               $pdfPage->drawText($produto2nf, 320, 529);
               $pdfPage->drawText($produto2data, 370, 529);
               $pdfPage->drawText($produto2defeito, 410, 529);
               $pdfPage->drawText($produto3, 80, 470);
               $pdfPage->drawText($produto3serial, 237, 470);
               $pdfPage->drawText($produto3nf, 320, 470);
               $pdfPage->drawText($produto3data, 370, 470);
               $pdfPage->drawText($produto3defeito, 410, 470);
               $pdfPage->drawText($produto4, 80, 410);
               $pdfPage->drawText($produto4serial, 237, 410);
               $pdfPage->drawText($produto4nf, 320, 410);
               $pdfPage->drawText($produto4data, 370, 410);
               $pdfPage->drawText($produto4defeito, 410, 410);


               $nomePdf = 'RMA_' . date('d') . '-' . date('n') . '-' . date('Y') . '-' . date('H') . '-' . date('i') . '-' . date('s');
               $pdf->save('receba/' . $nomePdf . '.pdf');
               $pdf->pages[] = $pdfPage;
               header('Content-type: application/pdf');
               echo $pdf->render($nomePdf);
           } catch (Zend_Pdf_Exception $e) {
               echo "Exceção pega: ", $e->getMessage(), "\n";
           }
           echo 'Hello World';
       }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu tirei e ele deu o erro

script 'index/rmagerar.phtml' not found in path 

mas ai eu fui la e criei o arquivo rmagerar.phtml, e quando eu testo ele gera o seguinte codigo na tela.

 

 

%PDF-1.4 %���� 1 0 obj <> endobj 2 0 obj <> endobj 3 0 obj [] endobj 4 0 obj <> endobj 5 0 obj <> endobj 6 0 obj <> /MediaBox [0 0 595 842 ] /Contents [] /Parent 2 0 R >> endobj xref 0 7 0000000000 65535 f 0000000015 00000 n 0000000091 00000 n 0000000149 00000 n 0000000168 00000 n 0000000202 00000 n 0000000236 00000 n trailer < <64366235386639653139303639663739> ] /Size 7 /Root 1 0 R >> startxref 377 %%EOF

 

o que me entriga nao é isso é que depois que ele da esse erro eu bem animado, fui la e descomentei a linha do header

header('Content-type: application/pdf');

so que o peste tem a cara de pau de dizer que o "arquivo nao incia com %PDF-", neh fogo?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você vai gerar um PDF não precisa renderizar a view e nem o layout, por isso adicione as seguintes linhas na sua action:

 

$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);

 

Em vez de usar diretamente a função header do PHP você pode usar o Response do ZF, para isso substitua esta linha:

 

header('Content-type: application/pdf');

 

Por esta:

 

$this->getResponse()->setHeader('Content-Type', 'application/pdf');

Compartilhar este post


Link para o post
Compartilhar em outros sites

TU È O CAARRRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

GRAÇAS A DEUS

VLW CARA POOOOOOOOOOXA VLW MESMO

o codigo ficou assim

public function rmagerarAction() {

       if ($this->getRequest()->isPost()) {
           try {
               $pdf = new Zend_Pdf();
               $pdfpage = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
               $pdf->pages[] = $pdfpage;
               $nomePdf = 'RMA_' . date('d') . '-' . date('n') . '-' . date('Y') . '-' . date('H') . '-' . date('i') . '-' . date('s');
               $pdf->save('receba/' . $nomePdf . '.pdf');
               $this->getResponse()->setHeader('Content-Type', 'application/pdf');
               echo $pdf->render();
               $this->_helper->layout()->disableLayout();
               $this->_helper->viewRenderer->setNoRender(true);
           } catch (Zend_Pdf_Exception $e) {
               echo "Erro atraves da excecao " . $e->getMessage();
           }
       }
   }

 

Vlw mesmo cara que DEUS TE DE MUITA SABEDORIA E MUITA LUZ!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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