我正在使用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上,或者建议一种替代方法,我可以将图像添加到需要在页面上固定大小的文档,但源图像是未知的尺寸和纵横比?
答案 0 :(得分:2)
TCPDF的CSS支持非常有限。它不支持所有属性。
目前,仅支持以下CSS属性:
所以,到目前为止,我可以理解你想要实现的方式是不可能的,除非你使用这个例子,否则你无法添加背景TCPDF Background 您不想使用的;
所以TCPDF的替代方案绝对值得尝试: domPDF
答案 1 :(得分:1)
我想坚持使用TCPDF,因为我也在其他地方使用它并且它运行良好。
我最终如何做到这一点是做了两个过程。
首先,我使用PHP来调整大小并将图像裁剪为PDF的正确宽高比。
然后我使用TCPDF将图像添加为标准图像,而不是背景图像。
现在一切正常,看起来就像我想要的那样。