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