- 浏览: 198979 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (49)
- Hibernate 单向多对一 (1)
- hiberntae 单向一对多 (0)
- Hiberntae 双向一对多 (1)
- Hibernate 单向一对多 (1)
- Hibernate 外键一对一 (1)
- Hibernate 多对多 (1)
- Hibernate annotation (1)
- maven 配置Hibernate (1)
- java与maven的环境变量配置 (1)
- 我自己日常使用的工具类 (1)
- maven实战的pdf (1)
- maven 资料 (1)
- oracle的一些资料 (0)
- excel模板的src (0)
- vss 的学习 (0)
- sql 自己的一些语句 (0)
- 扎感1122 (0)
- 运行 vb6.0 vss 出现 um.dat may be corrupt 的解决方法 (0)
- maven ear template (0)
- java 设计模式 (1)
- java design (0)
- ejb3 学习 (0)
- 人生感想 (0)
- jpa的工程 (1)
- was 7.0 startup cmd (0)
- myeclipse download (0)
- java 遍历文件夹 (0)
- 比较俩个文件夹 (0)
- 并删除指定的文件 (0)
- jQuery基础教程下载地址 (0)
- eclipse plugin (0)
- jquery的学习 (0)
- pom 设置outputDirectory (1)
- maven-antrun-plugin (1)
- maven-resources-plugin (1)
- aspectj的学习 (0)
- Thread 并发的测试 (0)
- html (0)
- jfreechart 中文乱码 (1)
- jfreechart (0)
- java keytool (0)
- xhtml (0)
- maven buildnumber (0)
- xss (0)
- FilterValueHelper (0)
- 获取request的参数 (1)
- previous url (0)
- 动态update sql (1)
- xss danger word (0)
- noted (0)
- eclipse uml (0)
- xss list (0)
- xss check (0)
- js create ul li (0)
- css (0)
- java (0)
- xhtml example (0)
- menu (0)
- css 树 (0)
- hadoop (0)
- css tree (0)
- css 垂直导航栏 (0)
- css 垂直翻转的列表 (0)
- css 创建水平导航条 (0)
- css 菜单 (0)
- xml bean的使用 (0)
- dom4j xml (0)
- css menu但是不完善 (0)
- css 比较差的menu (0)
- 没完善的窗口关闭 (0)
- logout (0)
- swing source (0)
- css 简单 menu (0)
- swing 工程 (0)
- css 模板网 (0)
- css 菜单模板网 (0)
- 小菜单 (0)
- swing login demo (0)
- swing 菜单 (0)
- FileUtil (1)
- vss cmd line (0)
- ant (0)
- html table (0)
- java 获取ie language的值 (0)
- 艾古互动 (0)
- web (0)
- 我的艾古互动 (0)
- display tag (0)
- login html (0)
- javascript(获取或设置html元素的宽 (0)
- 高 (0)
- 坐标) (0)
- 项目5:画飘香.zip (0)
- 项目经验总结 (0)
- 第三章 (0)
- 溢出文本显示省略号的详细方法 (0)
- 刘德华 真我的风采 (0)
- 喜羊羊与灰太狼之给快乐加油 (0)
- css 虚线 (0)
- freemarker的例子 (1)
- js (0)
- javascript 创建右键菜单 (0)
- StringUtil (1)
- PatternUtil (0)
- 模拟FreeMarket的process (0)
- oracle 查看进程 (0)
- 二级菜单 (0)
- css 弹出窗口 (0)
- linux shell sftp (0)
- linux sheel (0)
- BeanRefUtil (0)
- GenericsUtils (0)
- linux command (0)
- a good source program (0)
- 一个策略模式的应用 (0)
- cache (1)
- html dl dt dd的试验 (0)
- sencha (0)
- java gzip 配置 (0)
- sencha 的Panel例子 (0)
- senca的form的例子 (0)
- 使用json的Seche Touch Form的例子 (0)
- sencha touch 的一个弹出窗口的例子 (0)
- 圆角div (0)
- Sencha Touch Panel 调用其它页面 (0)
- div 隐藏select overlay (0)
- jquery overlay use div button (0)
- sencha touch (0)
- Disable Right-click (0)
- multiple select option (0)
- jquery (0)
- 纯CSS实现圆角、可拖动的一个DIV弹出层 (0)
- 弹出div的内容 (0)
- pretty (0)
- 弹出圆角div的例子 (0)
- jstl (0)
- css 教程 url (0)
- oracle data function (0)
- clear bat (1)
- sencha touch overlay (0)
- 年会 (0)
- javascript动态添加tr节点 (0)
- 笔记本发出无线信号 (0)
- sencha touch bug (0)
- sencha touch overlay 测试 (0)
- music (0)
- Araxis Merge 下载 (0)
- oracle resource (1)
- js 闭包 (0)
- JS学习 (0)
- prettyPhoto bug (0)
- 制作图库 (0)
- oracle case 语句 (0)
- photo (0)
- poi (0)
- button link style in member site (0)
- js pop winodw (0)
- java 时区 (0)
- java 正则表达式的例子 (0)
- java mail (0)
- photos (0)
- as400 命令 (0)
- as400 CL example (0)
- html table 小技巧 (0)
- java dbcp 测试与配置 (0)
- frameset的使用 (0)
- java split (0)
- java 10%的概率 (0)
- java set 过滤 重复对象 (1)
- 浪潮之巅 (0)
- 交通规矩 (0)
- java web download file (0)
- java get websphere envoriment (0)
- java servlet download (0)
- show file (0)
- html 页面传值 (0)
- jmeter (0)
- html5 canvas rose (0)
- flash 爱的宣言 (0)
- Adobe Captivate 3 (0)
- jmeter 保持session的例子 (0)
- 旅游 (0)
- maven antrun plugin (0)
- maven Repository (0)
- oracle sqlj jdk problem (0)
- oracle sqlj error (0)
- oracle (0)
- maven 2.0.7 (0)
- oracle 版本 (0)
- java 验证Ip和域名 (0)
- FB lock (0)
- qq 密码 (0)
- div (0)
- 忘记心中情 (0)
- 忘尽心中情 (0)
- jsp 禁用缓存 (0)
- 3 points (0)
- java auth (0)
- C3 P0 datasource (0)
- dbcp datasource (0)
- paros-3.2.13 (0)
- java 转换 IE JESSIONID (0)
- 金曲情牽半世紀演唱會 (0)
- apache ecs (0)
- test html (0)
- IETester (0)
- xss attack (0)
- java 面试 (0)
- java反射工具类 (0)
- aaaaa (0)
- JavaScript 提升运行速度之循环篇 译文 (0)
- javascript Array 遍历优化 (0)
- javascript 代码优化 (0)
- js动态添加与删除ul中的li (0)
- jdbc preparedstatement inserrt into select (0)
- 电话号码 (0)
- 办理结婚手续 (0)
- 让DIV块在页面的某个位置固定 (0)
- endoing error (0)
- java filter space coding (0)
- javascript auto to move next tab (0)
- 各种颜色之RGB值 (0)
- javascript document.write (0)
- 激励 (0)
- java static 并发 (0)
- common js (0)
- was 的虚拟目录 (0)
- oracle dbcp config (0)
- check session timeout (0)
- Http学习之使用HttpURLConnection发送post和get请求 . (0)
- 一个chm (0)
- pdf电子书分享平台 (0)
- js print 去除页头页脚 (0)
- js print 去除url (0)
- head (0)
- 页头页脚 (0)
- js 打印去掉页头页脚 (0)
- xss input 应该过滤的word (0)
- Websphere applican server 的 JNDI的调用 (0)
- oracel 数据库连接数过大 (0)
- java 内部类 (0)
- javascript (0)
- java 发送短信 (0)
- js 验证 (0)
- 关闭弹出窗口 (0)
- DatabaseMetaData的应用 (0)
- table的使用 (0)
- tomcat 内存配置 (0)
- windows (0)
- xss 检查工具类 (0)
- oracle DataConvert (0)
- 一品威客 (0)
- mysql (0)
- ibatis in (0)
- js String 添加与删除一个元素 (0)
- sql 动态update (0)
- flexviewer (0)
- ie 离开页面提示 (0)
- flex 获取url (0)
- struts2 后台获取错误信息 (0)
- flex (0)
- oracle 树查询 (0)
- js 定时器 (0)
- sql server (0)
最新评论
-
songyubo:
AnnexXML ?
InputStream转换为File -
li370036149:
3q
maven实战的pdf
需要eclipse的swt.jar
public class HtmlToImageUtil {
private Display display;
private Shell shell;
private Browser browser;
private boolean completed = false;
static final ArrayList urls = new ArrayList();
static boolean canRemove = false;
static void initialize(final Display display, Browser browser) {
browser.addListener(SWT.MouseDown, new Listener() {
public void handleEvent(Event event) {
System.out.println("event.time:" + event.time);
}
});
browser.addOpenWindowListener(new OpenWindowListener() {
public void open(WindowEvent event) {
// Embed the new window
final Shell shell = new Shell(display);
shell.setText("New Window");
shell.setLayout(new FillLayout());
final Browser browser = new Browser(shell, SWT.NONE);
initialize(display, browser);
event.browser = browser;
event.display.asyncExec(new Runnable() {
public void run() {
String url = browser.getUrl();
System.out.println(url);
System.out.println(browser.getText());
if (urls.contains(url)){
//flag to chek if the window is closed automatic
canRemove = false;
shell.close();
}
else{
canRemove = true;
urls.add(url);
}
}
});
// System.out.println("open...............");
}
});
browser.addVisibilityWindowListener(new VisibilityWindowListener() {
public void hide(WindowEvent event) {
Browser browser = (Browser) event.widget;
Shell shell = browser.getShell();
shell.setVisible(false);
// System.out.println("hide................");
}
public void show(WindowEvent event) {
Browser browser = (Browser) event.widget;
Shell shell = browser.getShell();
if (event.location != null)
shell.setLocation(event.location);
if (event.size != null) {
Point size = event.size;
shell.setSize(shell.computeSize(size.x, size.y));
}
if (event.addressBar || event.menuBar || event.statusBar
|| event.toolBar) {
// Create widgets for the address bar, menu bar, status bar and/or tool bar
// leave enough space in the Shell to accomodate a Browser of the size
// given by event.size
}
shell.open();
//System.out.println("show.......................");
}
});
browser.addDisposeListener(new DisposeListener(){
public void widgetDisposed(DisposeEvent event){
Browser browser = (Browser) event.widget;
if (canRemove)
urls.remove(browser.getUrl());
Shell shell = browser.getShell();
// shell.close();
// System.out.println("dispose....................");
}
});
}
public HtmlToImageUtil(){
}
/**
* 将html地址的内容转换成图片
* @param htmlUrl html的地址
* @param imgUrl 生成图片的地址
* @param xDifference 生成图片在原来的基础上的x轴方向的减量
* @param yDifference 生成图片在原来的基础上的y轴方向的减量
* @param imageWidth 生成图片的宽度
* @param imageHeight 生成图片的高度
*/
public HtmlToImageUtil(String htmlUrl,String imgUrl,int xDifference,int yDifference,int imageWidth,int imageHeight)
{
display = new Display();
shell = new Shell(display);
shell.setVisible(false);
shell.setLayout(new FillLayout());
browser = new Browser(shell, SWT.EMBEDDED | SWT.NO_FOCUS | SWT.NO_REDRAW_RESIZE );
browser.refresh();
browser.clearSessions();
browser.setUrl(htmlUrl);
initialize(display, browser);
//shell.open();
browser.addProgressListener(new ProgressListener(){
public void changed(ProgressEvent progressevent) {
// TODO Auto-generated method stub
//System.out.println("change.........");
}
public void completed(ProgressEvent progressevent) {
// TODO Auto-generated method stub
completed=true;
//System.out.println("complete........");
}
});
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
//display.update();
if(completed){
capture(imgUrl, xDifference, yDifference, imageWidth, imageHeight);
completed = false;
try {
Thread.sleep(50);
display.dispose();//注销display
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} else{
//display.dispose();
}
}
display.dispose();
}
/**
* 将html的内容转换成图片
* @param htmlText html的内容
* @param imgUrl 生成图片的地址
* @param xDifference 生成图片在原来的基础上的x轴方向的减量
* @param yDifference 生成图片在原来的基础上的y轴方向的减量
* @param imageWidth 生成图片的宽度
* @param imageHeight 生成图片的高度
*/
public HtmlToImageUtil(String htmlText,String imgUrl,int xDifference,int yDifference,int imageWidth,int imageHeight,Boolean isUser){
display = new Display();
shell = new Shell(display);
shell.setVisible(false);
shell.setLayout(new FillLayout());
browser = new Browser(shell, SWT.EMBEDDED | SWT.NO_FOCUS | SWT.NO_REDRAW_RESIZE );
browser.refresh();
browser.clearSessions();
browser.setText(htmlText);
initialize(display, browser);
//shell.open();
browser.addProgressListener(new ProgressListener(){
public void changed(ProgressEvent progressevent) {
// TODO Auto-generated method stub
//System.out.println("change.........");
}
public void completed(ProgressEvent progressevent) {
// TODO Auto-generated method stub
completed=true;
//System.out.println("complete........");
}
});
while (!shell.isDisposed())
{
if (!display.readAndDispatch())
{
//display.update();
if(completed){
capture(imgUrl, xDifference, yDifference, imageWidth, imageHeight);
completed = false;
try {
Thread.sleep(50);
display.dispose();//注销display
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} else{
//display.dispose();
}
}
display.dispose();
}
/**
*
* @param imgUrl 生成图片的地址
* @param xDifference 生成图片在原来的基础上的x轴方向的减量
* @param yDifference 生成图片在原来的基础上的y轴方向的减量
*/
private void capture(String imgUrl,int xDifference,int yDifference,int imageWidth,int imageHeight)
{
GC gc = new GC(browser);
//设置默认的宽度
if(BlankUtil.isBlank(imageWidth)){
imageWidth=1050;
}
//设置默认的高度
if(BlankUtil.isBlank(imageWidth)){
imageHeight=450;
}
//始终最前 (50:x轴,50:主轴,1050:图像的x轴的长度,450:图像的y轴的长度)
OS.SetWindowPos(shell.handle , OS.HWND_TOPMOST, 50 , 50 ,imageWidth, imageHeight , SWT.NULL);
shell.setVisible(true);
shell.open();
shell.layout();
try {
Thread.sleep(30);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Point size = browser.getSize();
Image image = new Image(display, size.x-xDifference, size.y-yDifference);
gc.copyArea(image, 0, 0);
shell.setVisible(false);
// BufferedImage bufferedImage=new BufferedImage(500,500,BufferedImage.TYPE_INT_RGB);
ImageLoader imageLoader = new ImageLoader();
imageLoader.data = new ImageData[] {image.getImageData()};
imageLoader.save(imgUrl, SWT.IMAGE_JPEG);
gc.dispose();
image.dispose();
//display.dispose();
//System.out.println("captured");
}
public class BrowserProgress implements ProgressListener
{
public void changed(ProgressEvent a_Event)
{
//completed = true;
//System.out.println("changed.......");
}
public void completed(ProgressEvent a_Event)
{
completed = true;
//System.out.println("complete........");
}
}
public static void main(String[] args) {
/*
new HtmlToImageUtil("E:/test.html","D:/test.jpg",18,0,1050,450);
System.out.println("test");*/
//new HtmlToImageUtil("aaa","F:/aa.jpg",18,0,1050,450,true);
//new HtmlToImageUtil("F:/reportWorkSpace/JxlReport/WebContent/test.html","D:/test.jpg",18,0,1050,802);
//new HtmlToImageUtil("D:/jakarta-tomcat-5.0.27/webapps/road/testImage/test.html","D:/test.jpg",18,0,1050,802);
//new HtmlToImageUtil("F:/d.html","D:/test.jpg",18,0,1050,802);
}
相关推荐
**Python-IMGKit将HTML转换成图像Python库** 在Python编程中,我们经常需要处理各种数据格式,其中HTML和图像都是常见的元素。有时,我们希望将HTML内容转换为静态图像,以便于分享、嵌入或者简化展示。这就是...
【图像到HTML转换器】是一种创新的技术,它允许我们将图像数据转化为HTML代码,进而通过网页浏览器展示。这种技术的核心在于将图像的像素信息转化为可读的HTML文本,从而实现用色彩丰富的文字来近似地模拟原始图像的...
ImageHTML是一款专用于将图像转换成ASCII字符的艺术形式的工具,它可以将图片转换为HTML格式,使得在网页上也可以展示这种独特的艺术效果。这个程序的独特之处在于它支持三种不同的图像处理模式,包括真彩色、灰度和...
虽然在这个特定的转换过程中不直接涉及,但如果你需要将Word文档也转换为HTML,可以使用类似的逻辑,只是需要使用不同的库,如`python-docx`来处理Word文件,然后同样将内容转化为图片或直接转换为HTML文本。...
OCR技术通过分析图像中的像素模式来识别并转化成文本,极大地提高了信息处理的效率和便捷性。 图像转换成文本的功能有多种应用场景。例如,对于纸质文档的数字化,用户可以拍摄或扫描文档照片,然后使用pictxt将...
"PDF转换成HTML转换器"就是这样一个工具,专门用于将PDF文件转换为可编辑、可搜索且适应网页浏览的HTML格式。 转换过程涉及到的技术主要包括PDF解析、图像处理、文本提取、CSS样式生成等。PDF文件包含了页面布局、...
标题 "mht 转换成html文件" 描述的是一个工具的功能,该工具能够将.mht文件转换为.html文件。这种转换过程对于处理Web内容和跨浏览器兼容性问题至关重要。下面我们将深入探讨.mht和.html文件格式的区别以及转换过程...
在IT领域,尤其是在Web开发中,有时候我们需要将HTML页面转换为静态图像,这在生成预览、报表或者保存页面快照时非常有用。`wkhtmltoimage`是一个流行且功能强大的开源工具,它利用WebKit渲染引擎(即WebKit背后的...
标题和描述中提到的"实现word文件转换成html文件实现在线打开预览word文件",这是一个关于将Microsoft Word文档转换为HTML格式,以便在网页上预览的技术问题。下面将详细介绍这个过程涉及的关键知识点。 1. **...
它允许用户将RTF文档快速、便捷地转化为HTML格式,以便于在网络上传播或优化在线阅读体验。这个小工具具备了一些高级功能,如错字改错、自动排版和样式调整,这些特性极大地提升了转换的准确性和美观性。 错字改错...
总结起来,"利用POI将word转换成html实现在线阅读"涉及到的关键技术包括Apache POI库的使用,WMF到PNG的图像转换,以及HTML和CSS的构建。通过这些技术,我们可以实现将传统的离线Word文档转化为适应于网络环境的HTML...
随着人工智能技术的快速发展,将图片转换成HTML和CSS代码的过程正变得越来越自动化,这一过程通常涉及图像识别和代码生成两个关键技术环节。目前,一些在线工具和服务如Fronty等已经能够提供这样的功能,让用户无需...
我们可以逐页处理PDF,提取文字和图像,然后利用Flying Saucer将这些内容转化为HTML。 ### **流程概述** 通常,文件转换的流程如下: 1. 读取源文件。 2. 解析文件内容,提取文本、图像和样式信息。 3. 使用适当的...
"C# CHtmlToWord 将HTML文件转换成word文档!"这个项目提供了一个解决方案,允许开发者通过C#编程语言实现这一功能,而无需在用户计算机上安装Microsoft Word软件。下面将详细介绍这个项目的实现原理、关键技术和...
4. **生成HTML文件**:最后,`mht2html`将处理过的所有内容组合成一个HTML文件,其中包含对分离出来的资源的引用,这样转换后的文件就可以在任何支持HTML的环境中打开和浏览了。 转换工具的使用方法通常包括命令行...
转换过程通常包括解析MHT文件中的所有组件,如HTML代码、图像、CSS样式和JavaScript,然后将它们重新组合成一个或多个HTML文件,同时保留原始布局和样式。这个工具的1.0版本发布于2009年6月2日,虽然可能没有最新...
通过FileReader对象的readAsDataURL方法,可以将图片文件转换为DataURL,这个数据URL可以直接在HTML中显示,或者作为Canvas的源图像。 此外,AlloyCrop还考虑到了性能和兼容性问题。对于大型图像,它可能会导致...
这是一个JavaScript库,它可以渲染DOM到Canvas上,并提供了将HTML转换为base64编码的图片的功能。在"html2img"这个压缩包中,可能包含了这个库的实现。 4. Base64编码: Base64是一种用于将任意二进制数据编码为...
视频处理则意味着这个工具能够分析视频内容,并将其转换为静态字符图像序列,再组合成动态的GIF或HTML动画。 在压缩包内的文件中,`ffmpeg.exe`是一个强大的开源跨平台多媒体处理工具,它用于处理音频和视频文件,...