TCPDF - 为 PDF 中显示的 table 单元格或 div 添加背景

TCPDF - adding a background to a table cell or div that shows on PDF

我正在使用 TCPDF 在我的网站上即时创建 PDF 文件。

这一切都很好,所以我现在不愿意更改和使用其他东西。

但我刚才遇到的问题是我需要在 PDF 文件中包含一张图像,该图像的大小、尺寸、纵横比等都是未知的。

我添加这个的解决方案是将它作为背景添加到 table 单元格或 div,并使用 'cover' 属性添加图像。

这在 HTML 中工作正常,看起来像我想要的那样。

但是将其添加到 PDF 文件会导致空白单元格或空白 div,并且不会添加任何背景。

以下两种方法我都试过了:

$html .= "<div align=\"center\">\n";
$html .= "<table cellpadding=\"0\" cellspacing=\"0\" style=\"width:200px; height:200px; border:2px solid black;\">\n";
$html .= "<tr><td style=\"width:200px; height:200px; background: url(model.jpg) 50% 0 no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;\"></td></tr>\n";
$html .= "</table>\n";
$html .= "</div>\n";

$html .= "<div align=\"center\">\n";
$html .= "<div style=\"width:200px; height:200px; border:2px solid black; background: url(model.jpg) 50% 0 no-repeat; -webkit-background-size: cover; -moz-background-size: cover; -o-background-size: cover; background-size: cover;\"></div>\n";
$html .= "</div>\n";

这两个都显示实线边框,但没有背景。

TCPDF网站上有一个关于添加背景的例子,但是它添加了一个覆盖整个页面的背景,这不是我想要的。

任何人都可以帮助我在创建的 PDF 中显示这些背景图像,或者建议我可以将图像添加到文档中的替代方法,该图像需要在页面上固定大小,但源图像在哪里未知尺寸和纵横比?

TCPDF 的 CSS 支持非常有限。它不支持所有属性。

目前,仅支持以下 CSS 个属性:

  • 字体系列
  • 字体粗细
  • 字体样式
  • 颜色
  • 背景色
  • 文字装饰
  • 宽度
  • 身高
  • 文本对齐

所以,据我所知,你试图实现你想要实现的方式是不可能的,除非你使用这个例子,否则你无法添加背景 TCPDF Background 您不想使用的;

因此绝对值得尝试的 TCPDF 替代品是: domPDF

我想坚持使用 TCPDF,因为我也在其他地方使用它并且运行良好。

我最终做到这一点的方法是进行两步处理。

首先,我使用 PHP 调整图像大小并将其裁剪为 PDF 的正确宽高比。

其次,我使用 TCPDF 添加标准图像,而不是背景图像。

现在一切正常,看起来就像我想要的那样。