Как ограничить автоматическую линию разрыва для рисования PDF

Я использую Zend-PDF для рисования данных, которые получают из базы данных. но когда я получаю длинные данные, это заставляет меня рисовать дубликаты данных, такие как:

Для моей собственной идеи я хочу ограничить длину данных, если она длиннее длины, я хочу, чтобы она разбивалась <br />, но я не знаю, как это сделать. Так что каждый может решить эту проблему? Я с нетерпением жду вашего ответа в ближайшее время! Благодарю.

1 ответ

Вы можете добавить эту функцию для переноса текста

<?php
// include auto-loader class
require_once 'Zend/Loader/Autoloader.php';

// register auto-loader
$loader = Zend_Loader_Autoloader::getInstance();

// define long string
$str = "Mary had a little lamb. It's fleece was white as snow. And everywhere that Mary went, the lamb was sure to go";

try {
  // create PDF
  $pdf = new Zend_Pdf();

  // create A4 page
  $page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);

  // define font resource
  $font = Zend_Pdf_Font::fontWithPath('/tmp/comic.ttf');

  // set font
  $page->setFont($font, 14);

  // wrap lines of text
  // start at (10,600) and use a block of dimensions 500x500
  $page->drawTextBlock($str, 10, 600, 500, 500, Zend_Pdf_Page::ALIGN_LEFT);  

  // wrap lines of text
  // start at (10,500) and use a block of dimensions 200x300
  $page->setFont($font, 20);
  $page->drawTextBlock($str, 10, 500, 200, 300, Zend_Pdf_Page::ALIGN_RIGHT);  

  // add page to document
  $pdf->pages[] = $page;

  // save as file
  $pdf->save('example.pdf');
  echo 'SUCCESS: Document saved!';  
} catch (Zend_Pdf_Exception $e) {
  die ('PDF error: ' . $e->getMessage());  
} catch (Exception $e) {
  die ('Application error: ' . $e->getMessage());    
}
?>

Также вы можете сослаться на этот подробный документ, чтобы решить вашу проблему

надеюсь, это поможет вам.

Другие вопросы по тегам