本文整理汇总了PHP中Zend_Pdf_Style::getLineWidth方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Pdf_Style::getLineWidth方法的具体用法?PHP Zend_Pdf_Style::getLineWidth怎么用?PHP Zend_Pdf_Style::getLineWidth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Pdf_Style
的用法示例。
在下文中一共展示了Zend_Pdf_Style::getLineWidth方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getWrappedText
/**
* Get wrapped text
*
* @param string $string String
* @param Zend_Pdf_Style $style Style(font, fontsize, line width)
* @param bool $force Use force wrap ( break words )
*
* @return string Wrapped string
*/
private function getWrappedText($string, Zend_Pdf_Style $style, $force = false)
{
$wrappedText = '';
$max_width = $style->getLineWidth();
$lines = explode("\n", $string);
foreach ($lines as $line) {
$words = explode(' ', $line);
// Force wrap like:
// Fo
// rc
// e
//
if ($force) {
$array = array('');
foreach ($words as $word) {
$width = $this->widthForStringUsingFontsize($word, $style->getFont(), $style->getFontsize());
if ($width > $max_width) {
$width = intval($width / $max_width + 1);
$w = str_split($word, 2 * intval(strlen($word) / (2 * $width)));
foreach ($w as $wd) {
if ($this->widthForStringUsingFontsize($array[count($array) - 1] . $wd, $style->getFont(), $style->getFontsize()) < $max_width) {
$array[count($array) - 1] .= $wd;
} else {
$array[] = $wd;
}
}
} else {
$array[] = $word;
}
}
$words = $array;
}
$word_count = count($words);
$i = 0;
$wrappedLine = '';
while ($i < $word_count) {
if ($this->widthForStringUsingFontsize($wrappedLine . ' ' . $words[$i], $style->getFont(), $style->getFontsize()) < $max_width) {
if (!empty($wrappedLine)) {
$wrappedLine .= ' ';
}
$wrappedLine .= $words[$i];
} else {
$wrappedText .= $wrappedLine . "\n";
$wrappedLine = $words[$i];
}
$i++;
}
$wrappedText .= $wrappedLine . "\n";
}
return ltrim($wrappedText);
}