将HTML表格另存为图像

zd4*_*428 6 html php screenshot html-table image

我有一个我正在构建的网站,它从表单中获取数据(人名)并将其发布到下一页表格中的自定义"注释"中.我希望用户能够将他们的"注释"保存为带有自定义名称的图像.有没有办法将特定HTML表格保存为PNG?也许在网页上截取特定坐标的屏幕截图?

如果没有,是否有办法在HTML画布中从表单中呈现已发布的PHP内容?

任何帮助都会很棒.我现在有点过头了.

gho*_*oti 5

虽然您可以使用多种工具呈现 HTML,但您不能确定这些工具是否会以与浏览器呈现的方式相同的方式呈现 HTML。

如果您的最终目标是生成带有文本的图像,那么让我们解决该问题,而不是尝试使您建议的解决方案起作用。

看看 PHP 的imagettftext()函数。它包含一个示例 #1,它从可以存储在任何变量中的文本创建一个小的、简单的图像......包括一个表单变量。

通过使用这个示例,并添加一些其他PHP 的 GD 函数,您可以制作一个不错的表格副本,并确保它看起来完全符合您的要求,而不是 html2ps 或其他一些工具呈现它的方式。

<?php
// Set the content-type
header('Content-Type: image/png');

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);

// The text to draw
$text = isset($_POST['name']) ? $_POST['name'] : "name";
// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
Run Code Online (Sandbox Code Playgroud)

以下是上述脚本生成的示例输出:

在此处输入图片说明

请注意,您需要arial.ttf按照上述链接中的说明进行提供。

如果事情不起作用,请先在屏幕上和 Web 服务器的错误日志中查找错误,然后再在此处跟进。您的 Web 服务器上可能没有安装 PHP 的 GD 模块。如果是这种情况,您应该咨询您的服务器管理员,以确保您可以使用所需的内容。


Tes*_*son 1

可行的解决方案

  • 使用fpdf从html(表)创建pdf
  • 使用imagemagick将pdf转换为png