我有以下HTML和CSS:

<div id="previewBox" style="background: #1e5799;
background: -moz-linear-gradient(top,  #1e5799 0%, #7db9e8 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#1e5799), color-stop(100%,#7db9e8));
background: -webkit-linear-gradient(top,  #1e5799 0%,#7db9e8 100%);
background: -o-linear-gradient(top,  #1e5799 0%,#7db9e8 100%);
background: -ms-linear-gradient(top,  #1e5799 0%,#7db9e8 100%);
background: linear-gradient(to bottom,  #1e5799 0%,#7db9e8 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1e5799', endColorstr='#7db9e8',GradientType=0 );
height:800px;border: 1px solid black;">
<font style="font-size:100pt;family:georgia;color:#3333FF">Some blue text here...</font>
</div>


我想使用html2pdf将其转换为PDF,但似乎无法正常工作。是否可以使用html2pdf转换渐变?

最佳答案

这取决于如何将其转换为PDF。如果使用PHP,则可以通过PHP的GD库生成图像,并将其设置为div的背景。

找到了一个可以使用权限here的示例和一个实时示例权限here的示例

然后将div的style属性更改为此:

  <div id="previewBox" style="background-image: url('path/to/gradiant.php?start=1e5799&end=7db9e8">


不要忘记在PHP中更改生成的背景渐变的宽度和高度。最佳做法是宽度为1个像素,高度为div的高度。

09-19 07:13