4

与在网页上呈现单个图像无关。目标是渲染整个网页,并将其保存为屏幕截图。想要向用户显示 HTML 文件的缩略图。我将截取的 HTML 文件将是 MIME 电子邮件消息中的 HTML 部分 - 理想情况下,我想截取整个 MIME 文件,但如果我可以对 HTML 文件执行此操作,我将处于良好状态。

API 将是理想的,但可执行文件也很好。

4

2 回答 2

1

您需要 html2ps,并从 ImageMagick 包中转换:

html2ps index.html index.ps 
convert index.ps index.png 

第二个程序为长 html 页面每页生成一个 png - 页面布局由 html2ps 完成。

找到了一个程序evince-thumbnailer,报如下:

apropos postscript | grep -i png 
evince-thumbnailer (1) - create png thumbnails from PostScript and PDF documents

但它不适用于简单的第一次测试。

如果您想将多个页面组合成一个更大的图像,convert 肯定会帮助您。

现在我看到了,convert 直接对 html 进行操作,所以

convert index.html index.png 

也应该工作。我看不出输出有什么不同,而且图像的大小几乎相同。

如果你有一个多部分的 mime 类型的电子邮件,你通常有一个邮件标题,可能是一些 pre-html-text、html 和附件。

您可以提取 html 并单独对其进行格式化 - 但将其嵌入嵌入可能并不容易。

这是我测试的一个文件,它是从 4 月 14 日开始的,所以我从邮件文件夹中提取了一封邮件:

sed -n "/From - Sat Apr 14/,/From -/p" /home/stefan/.mozilla-thunderbird/k2jbztqu.default/Mail/Local\ Folders-1/Archives.sbd/sample | \
sed -n '/<html>/,/<\/html>/p' | wkhtmltopdf - - > sample.pdf

然后我只提取其中的 html 部分。

wkhtmltopdf 需要- - 读取标准输入/写入标准输出。PDF 已渲染,但我不知道如何将其集成到您的工作流程中。

您可以替换wkhtml ...

 convert - sample.jpg 
于 2012-05-09T22:00:39.340 回答
0

我要使用 wkhtmltoimage。这在正确设置 xvfb 后起作用。后记建议未正确呈现,我们需要 img 而不是 pdf。

于 2012-05-11T16:57:43.817 回答