TCPDF - 将背景添加到PDF

时间:2015-07-16 10:32:23

标签: php html tcpdf

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

这一切都运作良好,所以我现在不愿意改变并使用别的东西。

但我刚才的问题是我需要在PDF文件中包含一个图像,该图像的大小,尺寸,宽高比都是未知的。

我添加此功能的解决方案是将其作为背景添加到表格单元格或div中,并使用'封面'用于添加图像的属性。

这在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上,或者建议一种替代方法,我可以将图像添加到需要在页面上固定大小的文档,但源图像是未知的尺寸和纵横比?

2 个答案:

答案 0 :(得分:2)

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

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

  • 字体家庭
  • 字体重量
  • 字体风格
  • 颜色
  • 背景颜色
  • 文字修饰
  • 宽度
  • 高度
  • 文本对齐

所以,到目前为止,我可以理解你想要实现的方式是不可能的,除非你使用这个例子,否则你无法添加背景TCPDF Background 您不想使用的;

所以TCPDF的替代方案绝对值得尝试: domPDF

答案 1 :(得分:1)

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

我最终如何做到这一点是做了两个过程。

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

然后我使用TCPDF将图像添加为标准图像,而不是背景图像。

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