cassiombc 0 Denunciar post Postado Novembro 27, 2012 Galera consegui fazer um pdf, mas eu gostaria de renderizar ele para que o usuario possa salvar ou imprimir, isso quer dizer gostaria que abrisse o adobe reader, como poderia proceder? Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Novembro 27, 2012 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
cassiombc 0 Denunciar post Postado Novembro 28, 2012 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
Leozitho 81 Denunciar post Postado Novembro 28, 2012 Remova esta linha: echo 'Hello World'; Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Novembro 28, 2012 Removi e nao deu em nada, coloquei esta linha para ver se pelo menos ela era impresa mas nem isso. Compartilhar este post Link para o post Compartilhar em outros sites
Leozitho 81 Denunciar post Postado Novembro 28, 2012 Entendi. Experimente comentar o cabeçalho do PDF para ver se alguma mensagem de erro está sendo exibida. //header('Content-type: application/pdf'); Compartilhar este post Link para o post Compartilhar em outros sites
cassiombc 0 Denunciar post Postado Novembro 28, 2012 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
Leozitho 81 Denunciar post Postado Novembro 28, 2012 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
cassiombc 0 Denunciar post Postado Novembro 29, 2012 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
Leozitho 81 Denunciar post Postado Novembro 29, 2012 Fico feliz por ter ajudado! Compartilhar este post Link para o post Compartilhar em outros sites