博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
将HTML转换为图片(PNG,JPGE)
阅读量:4950 次
发布时间:2019-06-11

本文共 1432 字,大约阅读时间需要 4 分钟。

前言

想要将HTML转换为Image是因为我们的一个晒课程的需求,将我们的数据通过图片的方式转换出来,便于传播。这样的问题可能第一个就想到要用ImageMagick来做,重新画一遍,我嫌重新画太麻烦,而且有重复劳动。希望有一个工具能将我们已经做好的HTML页面直接转换为图片。

方法

Linux

Linux下有下面三个方法

1. 

khtml2png可以将html转成图片格式,有如下要求:

g++

KDE 3.x
kdelibs for KDE 3.x (kdelibs4-dev)
zlib (zlib1g-dev)
cmake

其他都好说,KDE太坑爹了,我一Linux服务器还要装上庞大的KDE。看到这个条件,我立马就放弃了。

2. 

CutyCapt使用起来也不难

./CutyCapt --url= --out=example.png

它的部署要求是:

CutyCapt depends on Qt 4.4.0+.

它比khtml2png好的一点是它可以不用装X server,可以用Xvfb这种轻量级的东西,然后就可以这样用了

xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=... --out=...
3.htmlpdfpng

这始终曲线救国的方式,如果是在不想装上面的东西,可以先将东西转成pdf,再转。

这种比上述几种要稍微好一些,但同样需要QT的支持,只是会自动给你装好。用到的是,,。在安装wkhtmltopdf时会自动安装QT的支持,而RMagick还需要一个插件才能支持读取PDF文件(具体名称忘了,见出错信息)

Mac

Mac下同样支持以上几种方式,而且还有一个专门针对Mac系统的工具,只需要符合

Check your computer has Mac OS X 10.2 or later, Safari 1.0 or later, and PyObjC 1.1 or later. If you have Mac OS X 10.5 Leopard or later everything you need is installed already.

就可以了。使用上也非常容易

python /path/to/webkit2png

Windows

Windows可以使用。也可以直接使用IE Com对象。就像:

Size mySize= webBrowser1.Document.Window.Size ; Bitmap myPic=new Bitmap (mySize.Width ,mySize.Height ); Rectangle myRec=new Rectangle (0,0,mySize.Width,mySize.Height ); webBrowser1.Size=mySize; webBrowser1.DrawToBitmap(myPic,myRec); myPic.Save ("c:\\aaaaaa.jpg");

总结

所有的方法都需要UI环境(比如QT)以及浏览器插件(比如WebKit)的支持。所以在linux上安装不可避免的需要这些环境,我们唯一能做的就是将这些环境的代价降到最低。

转载于:https://www.cnblogs.com/Stoned/archive/2012/02/28/2371215.html

你可能感兴趣的文章
最大流
查看>>
如何删除github上项目的文件
查看>>
scikit-learn 学习笔记-- Generalized Linear Models (二)
查看>>
数据比赛实现的细节
查看>>
准备工作
查看>>
【bzoj3998】弦论 后缀自动机
查看>>
积累_ZC_01
查看>>
操作系统启动
查看>>
extern "C" 用法解析
查看>>
PAT A 1022. Digital Library (30)【结构体排序检索】
查看>>
oracle 表空间talbespace 学习专题
查看>>
Hello world!
查看>>
Hibernate缓存何时使用和如何使用?
查看>>
Android_(自动化)自动获取手机电池的剩余电量
查看>>
Java线程
查看>>
《Java程序设计》第5周学习总结
查看>>
[置顶] 合唱音效
查看>>
My Team——面向对象与软件工程实验三
查看>>
两个div并排显示--Dreamweaver一个模板的修改
查看>>
【算法题目】求二叉树中节点的最大距离
查看>>