Как ограничить автоматическую линию разрыва для рисования 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());
}
?>
Также вы можете сослаться на этот подробный документ, чтобы решить вашу проблему
надеюсь, это поможет вам.