Html Zend PDF:如何打印粗体文本或其他颜色的文本等?

Html Zend PDF:如何打印粗体文本或其他颜色的文本等?,html,styles,zend-pdf,Html,Styles,Zend Pdf,我有一根很长的绳子,比如: 在工作和生活中,所有人都会被视为一个有价值的人,而不是一个有价值的人。在vero eos和accusam以及justo duo dolores和ea Reum。斯泰特·克莱塔·卡斯德·古伯格伦(Stet clita kasd gubergren),没有海洋保护区是属于同一领域的 一些单词应该是粗体的,一些文本应该有另一种颜色,等等。是否有可能给drawText函数一个已经包含正确语法的字符串,这样PDF就会有粗体文本等等?大概是这样的: $text = "my <

我有一根很长的绳子,比如:

在工作和生活中,所有人都会被视为一个有价值的人,而不是一个有价值的人。在vero eos和accusam以及justo duo dolores和ea Reum。斯泰特·克莱塔·卡斯德·古伯格伦(Stet clita kasd gubergren),没有海洋保护区是属于同一领域的

一些单词应该是粗体的,一些文本应该有另一种颜色,等等。是否有可能给drawText函数一个已经包含正确语法的字符串,这样PDF就会有粗体文本等等?大概是这样的:

$text = "my <b>text</b>...";
$page->drawText($text, 100, ($page->getHeight() - 100));
$text=“我的文本…”;
$page->drawText($text,100,($page->getHeight()-100));
它不使用HTML,而是一些简单的东西


谢谢

您的问题的简短答案是否定的,Zend Framework不提供您正在寻找的格式化功能

Zend_Pdf
提供了在页面上绘制文本、线条、圆圈等的基本功能,仅此而已。如果你想在中间行一些粗略的文字,你必须画出第一个文本,把字体变为粗体,画出你想要的文本,切换到原来的字体样式,然后画出剩余的线条。你还得自己照顾换行、分页符等


不久前,我写了一篇博文,更深入地讨论了这些挑战,并在github上发布了一个包装器类,使Zend_Pdf更易于使用。帖子在这里:包装类在这里:。不幸的是,这个版本的类并不能完全满足您的需要,但是修改
writeText()
方法来实现您所追求的字体更改系统应该不会太难。

我也在寻找类似的方法。我们有一些使用Zend PDF呈现PDF的遗留代码。。这很复杂

我以前使用过一种叫做DomPDF的东西——这可能是您需要的,因为它可以将HTML转换为PDF——非常容易使用


如果可以,请查看zend.pdf.drawing;

您需要将PHP字符串拆分,然后在每个PHP字符串之间更改Zend PDF绘图样式

$style->setFont(\Zend_Pdf_Font::fontWithName(\Zend_Pdf_Font::FONT_TIMES_BOLD), 12);
$page->setStyle($style);
$page->drawText(....);
$style->setFont(\Zend_Pdf_Font::fontWithName(\Zend_Pdf_Font::FONT_TIMES), 10);
$page->setStyle($style);
$page->drawText(....);