将HTML表格转换为PNG并在网页上呈现

问题描述

我有一个html表。我想将该html表转换为png,并希望使用PHP在网页上呈现。

<table>
   <tbody>
      <tr>
         <td>Day</td>
         <td>Timing </td>
      </tr>
      <tr>
         <td>
            Sunday 
         </td>
         <td>8:30-6:30</td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Monday 
         </td>
         <td>8:30-6:30</td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Tuesday 
         </td>
         <td>8:30-6:30</td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Wednesday 
         </td>
         <td>8:30-6:30</td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Thursday 
         </td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Friday 
         </td>
      </tr>
      <!-- New  -->
      <tr>
         <td>
            Saturday 
         </td>
         <td>8:30-6:30</td>
      </tr>
   </tbody>
</table>

当前,此代码正在webapge上呈现html表。我只想显示该网页的PNG,以便该网页上只有图像,没有html表。

我已经尝试过这段代码,但是它只显示淡黄色

 <?PHP

$out = "<table><tr><td>There will be data</td></tr></table>";
header('Content-type: image/png');
$png_image = imagecreate(50,500);
$tcol = imagecolorallocate($png_image,255,0);
imagestring($png_image,4,30,25,$out,$tcol);
// echo $out;
imagepng($png_image);
imagedestroy($png_image);

 ?>

解决方法

您只是尝试直接打开此文件吗?还是将其显示在网页上?因为那样的话,您将以“ like”的形式引用此PHP文件,它是网页中带有<img src="table_image.php" />的图像。

另外,像官方示例(https://www.php.net/manual/en/function.imagecreate.php)一样,最好包括一些错误处理,以防您无法访问服务器上的imagecreate函数。

$png_image = @imagecreate(500,300)
or die("Cannot Initialize new GD image stream");