为你的Java应用嵌入一个功能强大的文字编辑器

最全面的swing文本编辑器 该文本编辑器是记事本的强化版,可以插入图片,鼠标画图等等... 立即下载

如果你想在Java应用中嵌入一个功能强大的文字编辑器,那么XDocBuilder可能是最好的选择
1、免费
2、格式丰富,可以处理段落、文字、图形、图片、图表、表格等
3、文件格式支持丰富:xdoc、docx、pdf、rtf、doc、htm、txt、swf、svg等
4、标准格式xdoc是一个简单的xml文本
5、包依赖少,只有一个包是必须的
6、嵌入简单,它只是一个JComponent
7、API功能强大:打开、编辑、打印、格式转换等

程序库:

 

名称

用途

下载地址

hg.jar

主程序库(必须)

http://www.hgsql.com/xdoc/lib/hg.jar

fgio.jar

输出swf、svg、emf、ps

http://www.hgsql.com/xdoc/lib/fgio.jar

filters.jar

滤镜

http://www.hgsql.com/xdoc/lib/filters.jar

itext.jar

输出pdf、rtf

http://www.hgsql.com/xdoc/lib/itext.jar

jfreechart.jar

图表

http://www.hgsql.com/xdoc/lib/jfreechart.jar

poi.jar

读取doc、输出xls、ppt

http://www.hgsql.com/xdoc/lib/poi.jar

api文档:

http://www.hgsql.com/XDocApi/index.html

在线:

http://www.hgsql.com/XDocBuilder.asp

例子:

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.File;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JToolBar;
import javax.swing.UIManager;

import com.hg.xdoc.XDocBuilder;
import com.hg.xdoc.XDocIO;

/**
 * XDocBuilder嵌入测试
 * @author xdoc
 */
public class XDocBuilderTest {
    private static XDocBuilder builder;
    /**
     * @param args
     */
    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
            //获取XDocBuilder实例
            builder = new XDocBuilder();
            JFrame frame = new JFrame("XDocBuilder嵌入测试");
            //将XDocBuilder放入面板中
            frame.getContentPane().add(builder, BorderLayout.CENTER);
            JToolBar bar = new JToolBar("工具条");
            JButton btn = new JButton("新建");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //新建
                    builder.create();
                }
            });
            btn = new JButton("打开");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //打开
                    builder.open();
                    //builder.open("http://www.hgsql.com/down/XDocIntro.xdoc", XDocIO.READ_FORMAT_XDOC);
                }
            });
            bar.add(btn);
            btn = new JButton("查看XML");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //显示XML内容
                    try {
                        JOptionPane.showMessageDialog(null, builder.getXml());
                    } catch (Exception e1) {
                        JOptionPane.showMessageDialog(null, e1.getMessage());
                    }
                }
            });
            bar.add(btn);
            btn = new JButton("保存");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //保存当前文件
                    builder.save();
                }
            });
            bar.add(btn);
            btn = new JButton("全部保存");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    for (int i = 0; i < builder.getXDocCount(); i++) {
                        //选择第i个文件
                        builder.activeXDoc(i);
                        //保存
                        builder.save();
                        //builder.save("xdox" + i + ".rtf", XDocIO.WRITE_FORMAT_PDF);
                    }
                }
            });
            bar.add(btn);
            btn = new JButton("关闭");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //关闭当前文件
                    builder.close();
                }
            });
            bar.add(btn);
            btn = new JButton("打印");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    builder.print();
                }
            });
            bar.add(btn);
            btn = new JButton("直接打印");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    //打印到指定打印机
                    builder.print("HG JPD 虚拟打印机");
                }
            });
            bar.add(btn);
            btn = new JButton("关于");
            btn.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    builder.about();
                }
            });
            bar.add(btn);
            Container content = frame.getContentPane();
            content.add(bar, BorderLayout.NORTH);
            frame.setSize(800, 600);
            frame.setVisible(true);
            frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
            frame.addWindowListener(new WindowListener() {
                public void windowOpened(WindowEvent e) {}
                public void windowClosing(WindowEvent e) {
                    //frame关闭时做处理
                    for (int i = 0; i < builder.getXDocCount(); i++) {
                        try {
                            XDocIO.write(builder.getXDoc(i), new File("c:/xdoc" + i + ".xdoc"));
                        } catch (Exception e1) {
                            JOptionPane.showMessageDialog(null, e1.getMessage());
                        }
                    }
                    System.exit(0);
                }
                public void windowClosed(WindowEvent e) {}
                public void windowIconified(WindowEvent e) {}
                public void windowDeiconified(WindowEvent e) {}
                public void windowActivated(WindowEvent e) {}
                public void windowDeactivated(WindowEvent e) {}
            });
            frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, e.getMessage());
        }
    }
}

 运行效果:



 

  • 大小: 25 KB
doc_pdf解析用到的PDFRenderer.jar、hg.jar等jar PDFRenderer开源库是操作PDF的一个简单有强大的类库 hg.jar XDOC引擎与JSP引擎类似,它的目标是动态生成pdf、flash、docx、html、png等各种格式。与JSP不同的是XDOC是可视化设计的,提供了更多高级的显示功能,如:条形码、图表等。最重要的 jar 立即下载

相关推荐

Xdoc资源jar包hg.jar

hg.jar XDOC引擎与JSP引擎类似,它的目标是动态生成pdf、flash、docx、html、png等各种格式。与JSP不同的是XDOC是可视化设计的,提供了更多高级的显示功能,如:条形码、图表等。最重要的 jar

使用IDEA开发java swing,开发小型桌面应用,导出数据库表结构到word中

开发小型桌面应用,导出数据库表结构到word中

桃子疯狂_博客 1410

百度富文本编辑器完整版 java.rar

UEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 UEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本编辑器,这是java版,包含html段及js,以及jsp前端文件

SWT 中嵌入Word 控件应用

利用WebOffice进行Word控件的应用,源码如下: 效果图如下: package com.edocbase.desktop.word; import java.io.File; import java.util.HashMap; import java.util.Iterator; import org.eclipse.swt.SWT; import org.ecl...

java 遇我 1170

PDF解析jar包

PDF解析jar包。可以用

手把手教你设计MTBF加速寿命试验:从阿伦尼斯模型到卡方计算(含Excel模板)

本文详细介绍了如何设计MTBF加速寿命试验,从阿伦尼斯模型到卡方计算,帮助工程师在合理时间内获得准确的MTBF数据。通过工业电源模块的实例演示,涵盖活化能确定、温度应力设计、样本量计算及数据记录规范,并提供Excel模板实现自动化计算,显著提升测试效率。

weixin_42563415的博客 545

java 集成pageoffice_Java集成PageOffice在线打开编辑word文件 - Spring Boot

开发环境:JDK1.8、Eclipse、Sping Boot + Thymeleaf框架。一. 构建Sping Boot + Thymeleaf框架的项目(不再详述):1. 新建一个maven project项目:demo。2. 修改pom.xml配置,把项目配置为Spring Boot项目;3. 配置Thymeleaf:添加Thymeleaf依赖,并在application.properties...

weixin_42357916的博客 1644

Windows下Anaconda换清华镜像源最全指南(含常见问题解决)

本文提供了一份详尽的Windows系统下Anaconda配置清华镜像源的完整指南。针对网络下载缓慢的痛点,文章详细对比了命令行添加与直接编辑配置文件两种主流方法,并重点解决了配置过程中常见的文件缺失、安装失败、环境求解缓慢等疑难问题,帮助用户一劳永逸地提升包管理效率。

brandy的博客 337

用 java swing 编写的富文本编辑器,成品小程序,拿来即可用

用 java swing 编写的富文本编辑器,成品小程序,拿来即可用

u014480136的博客 1120

硅传CC1310二次开发必备:手把手教你用JTAG解锁被锁定的Flash存储器

本文针对硅传CC1310模块二次开发中常见的Flash锁定问题,提供了从原理剖析到实战操作的完整解决方案。详细介绍了如何使用Uniflash和Flash Programmer 2等工具进行Flash解锁和擦除,并强调了硬件连接稳定性与供电质量的关键作用,帮助开发者彻底解决烧录障碍,为后续应用开发铺平道路。

weixin_29189373的博客 255

Ubuntu20.04下运行LOAM系列:A-LOAM、LeGO-LOAM、SC-LeGO-LOAM、LIO-SAM 和 LVI-SAM

在我第一篇博文Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM2+Gazebo仿真运行ORB-SLAM2+各种相关库的安装的基础环境下跑通A-LOAM首先已经按照上一篇文章已经安装好了ROS noetic、Eigen3.4.0、OpenCV4.2.0和PCL1.10,A-LOAM在Github的开源地址:https://github.com/HKUST-Aerial-Robotics/A-LOAM。接下来根据代码要求,需要安装Ceres,另外环境的变

zardforever123的博客 3万+

【转】为你的Java应用嵌入一个功能强大的文字编辑器

http://xdoc.iteye.com/blog/1126216 以下文章转自:   如果你想在Java应用中嵌入一个功能强大的文字编辑器,那么XDocBuilder可能是最好的选择1、免费2、格式丰富,可以处理段落、文字、图形、图片、图表、表格等3、文件格式支持丰富:xdoc、docx、pdf、rtf、doc、htm、txt、swf、svg等4、标准格式xdoc是一个简单的xm...

郑林的专栏 213

使用Java实现CRC16 MODBUS 格式校验

CRC16校验,测试如下 String str = "a5 98 03 00 00 5f c6 0f 7c 40 78 06 09 46 dc 6e db 00 16 3e 12 5c 98 00 19 98 0e 10 03 06 09 46 dc 6e db 03 0b bf 5f c6 0f 7c 43 bd b9 61 ee 96 76 99"; 校验规则: /** * CRC16_CCITT:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结

weixin_45063710的博客 1316

前端Java应用中如何嵌入支持Word上传的富文本编辑器?

要求:开源,免费,技术支持编辑器:百度ueditor前端:vue2,vue3,vue-cli,react,html5需求:复制粘贴word内容图片,word图片转存交互,导入pdf,导入PowerPoint(PPT),web截屏用户体验:Ctrl+V快捷键操作平台:Windows,macOS,Linux,RedHat,CentOS,Ubuntu,中标麒麟,银河麒麟,统信UOS,信创国产化系统。

2501_90694782的博客 684

手把手教你用CMake和MinGW64编译libuvc:静态链接与动态链接的选择

本文详细指导如何在Windows平台上使用CMake和MinGW64编译libuvc库,并深入探讨静态链接与动态链接的选择策略。通过对比两种链接方式在部署复杂度、内存占用和版本管理等方面的差异,帮助开发者根据项目需求做出最优决策,实现高效的USB摄像头开发。

weixin_29171087的博客 255

瑞芯微RK3506开发板Ethercat主站性能优化实战:从内核配置到微秒级延迟控制

本文详细介绍了在瑞芯微RK3506开发板上实现EtherCAT主站微秒级延迟控制的实战优化方案。核心在于部署Preempt-RT实时内核,并进行深度系统调优,包括CPU隔离、中断亲和性设置、内存锁定及电源管理调整。通过绕过Linux网络栈的专用驱动加载与配置,最终实现了稳定的高性能实时控制,满足工业自动化需求。

tcp8optimizer的博客 317

【技术教程】如何将文档编辑器集成至基于Java的Web应用程序

自研文档功能成本高、兼容性差,第三方插件又容易出现 “割裂感”,怎么才能让专业文档工具和现有 Java Web 系统 “无缝对接”? ONLYOFFICE 文档轻松嵌入 Java、Python、Node.js 等各类 Web 应用,让你的系统瞬间拥有企业级文档处理能力。阅读本文,了解详细教程

ONLYOFFICE的官方博客 1260

excel 如何自动调整行间距 vba

EXCEL是一个非常使用的软件,虽然我们平时仅使用他做一些报表,仅此而已;我在工作中,由于很懒,不愿意做考试重复的工作,就想着使用vba的宏来完成重复的工作,这样就能省出一部分的时间来了。本人不喜欢在博客里面写以下教程类的东西,我的理念是将工作中的痛点的解决办法分享出来,以解决问题为主。

sixtome 1316

CKEditor在线编辑器

CKEditor是个专门使用在网上属于开放源码的文字编辑器,它用于轻量化,不需要太复杂的安装步骤即可使用,它可以和PHP,javascript,asp,java等不同的编程语言相结合。接下来介绍CKEditor在线编辑器的实例。...

Muhtar_的博客 3784

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

html java编辑器插件,5+用Java编写的最佳代码编辑器插件

本文概述如今, 开发工作正在突飞猛进, 如今你触手可及的基于云的IDE使你无论身在何处都能工作。这些服务中最重要的组件是代码编辑器。是的, 你可以在其中编辑代码的那个框用奇特的颜色, 自动完成和其他(可能)可以帮助你更快地工作的东西突出显示。享受我们5个用Java编写的最佳代码编辑器插件的集合。5. EditArea例子 EditArea是用于源代码的免费JavaScript编辑器。该编辑器旨在编...

weixin_35367645的博客 1071

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

javaweb编辑器ckeditor配置_Java Web学习笔记12:CKEditor在线编辑器

文章目录一、CKEditor概述CKEditor是一款专业在线文字编辑器,支持各种不同的浏览器,可以让Web开发者轻松实现在线编辑功能。1、在页面头部引入ckeditor核心文件ckeditor.js2、在使用编辑器的地方插入文本区控件注意在控件中加上 class="ckeditor" 。3、将相应的控件替换成编辑器代码CKEDITOR.replace('mckeditor');4、配置ckedi...

weixin_39630498的博客 302
上一篇: 免费在线文字处理软件XDocBuilder发布7.4.0版本
下一篇: word方式编辑EPUB电子书
xdocs
博客等级 码龄11年 30粉丝 98原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值