Zend Framework PDF satırlı sorunlar

1 Cevap php

http://pastebin.com/f6413f664: Bir problem var, Zend_PDF satırlı ile, benim sorunum ben can't write the entire text Benim pdf.My metin bu gibi görünüyor olduğunu

. http://screencast.com/t/1CBjvRodeZQd: Ben pdf dosyasını açtığınızda ancak, metin bu gibi görünüyor

Ve burada benim kod:

    public function pdfAction()
{
	$this->_helper->layout->disableLayout();
	$this->_helper->viewRenderer->setNoRender();

	$theID = ($this->_getParam('id') !== NULL) ? (int)$this->_getParam('id') : false;

	($theID === false) ? $this->_redirect('/home') : false;

	//Information
	$info = $this->artists->artistInfo($theID);

	// Create new PDF 
	$pdf = new Zend_Pdf(); 
    $pdf->properties['Title'] = "TITLE";
    $pdf->properties['Author'] = "AUTHOR";

	// Add new page to the document 
	$page = $pdf->newPage(Zend_Pdf_Page::SIZE_A4); 
	$pdf->pages[] = $page; 

	// Set font 
	$page->setFont(Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA), 8); 

	// Draw text
	 foreach (explode("</p>", $info[0]['biography']) as $i => $line) {
	   $page->drawText($line, 0, 820 - $i * 10, 'UTF-8');
	 }

    $this->getResponse()->setHeader('Content-type', 'application/x-pdf', true);
    $this->getResponse()->setHeader('Content-disposition', 'attachment; filename=my-file.pdf', true);
    $this->getResponse()->setBody($pdf->render());
}

Her <p> bir mola (<br /> \ n) ve tüm metni görüntülemek için ben yapmak istiyorum, ne olduğunu.

Herhangi bir çözüm beyler?

1 Cevap

Bunun yerine:

 // Draw text
 foreach (explode("</p>", $info[0]['biography']) as $i => $line) {
   $page->drawText($line, 0, 820 - $i * 10, 'UTF-8');
 }

: Bu bir deneyin (bunu deneyin vermedi) Give

// Draw text    
$charsPerLine = 50;
$heightPerLine = 10;

$text = str_replace('<p>','',$info[0]['biography']);
$lines = array();

foreach (explode("</p>", $text) as $line) {
    $lines = array_merge(
        	    	$lines, 
        	    	explode(
        	    	    	"\n",
        	    	    	wordwrap($line, $charsPerLine, "\n")
        	    	)
    );
}

foreach ( $lines as $i=>$line ) {
    $page->drawText($line, 0, 820 - $i * $heightPerLine, 'UTF-8');
}

Belli ki iyi sonuçları elde etmek için bu 2 "sabitler" ile oynamak gerekiyor.

Umarım yardımcı olur.