HTML文件截图为.jpg或其他图像

时间:2012-05-09 20:27:14

标签: html linux image screenshot jpeg

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

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

2 个答案:

答案 0 :(得分: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

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

如果您想将多个页面组合成一个更大的图像,转换将对您有所帮助。

现在我看到,转换直接在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需要- -来读取stdin /写入stdout。 PDF已呈现,但我不知道如何将其集成到您的工作流程中。

您可以将wkhtml ...替换为

 convert - sample.jpg 

答案 1 :(得分:0)

我要和wkhtmltoimage一起去。这工作一次正确设置xvfb。后记建议没有正确呈现,我们需要img而不是pdf。