学习GroupDocs.Comparison的简单实践

GroupDocsGroupDocs.Comparison
placeholder image
admin 发布于:2025-03-25 13:20:55
阅读:loading

前面在摸索了Aspose For Java的全量产品组件共计23款,闲来无事偶然又发现了在GroupDocs方向又存在一些产品,这些产品基本都是取自于一个又一个的组件,取自所有组件中的一个方向进行汇总,组成一个统一的产品包。本次摸索学习GroupDocs.Redaction产品,经过一些持续的分析和摸索,结合使用反射的形式来调用,也就是说在API的使用前进行一次特殊的代码注册,即可实现授权,全程不需要License之类的xml,或是文档无水印、或是文档页数限制、或是获取内容无限制,等等。

特别说明:只为单纯的学习摸索与自我突破,商业软件请勿直接使用于生产环境(购买商业授权)

1.基本介绍

本次实践的是GroupDocs.Comparison for Java的24.7版本(当前最新版本),用于比较 Java 应用程序中文档之间差异的 API,使用高度可配置的文档比较库开发 Java 个应用程序,以比较相似的文档格式,包括文件、其内容和文本样式。属于 GroupDocs 的一系列文档处理工具之一,旨在帮助用户快速找出文档之间的差异。支持众多常见的文档格式,包括 Word、Excel、PDF 等文件。

(1)Java 中的文件比较,在段落、单词和字符级别检测源文件和目标文件之间的变化。识别样式和格式变化,例如粗体、斜体、下划线、删除线、字体类型等。

(2)支持的大量格式,使用 GroupDocs.Comparison API,您可以轻松比较多种支持格式的文档。这包括 PDF、HTML、电子邮件、Microsoft Office Word 个文档、Excel 个电子表格、PowerPoint 演示文稿、OneNote、Visio 图表、文本、JPEG、PNG、GIF 和 BMP 图像以及许多其他格式。

(3)轻松应用或拒绝更改,比较文档之间的每一个差异都可以应用或拒绝,然后导出到输出文档。

(4)比较摘要报告,生成摘要报告,列出比较文档中的所有更改。

总的来说,GroupDocs.Comparison for Java 是一个非常实用的工具,提供了直观的 API,开发者可以轻松地将其集成到 Java 应用程序中。由于它是一个跨平台库,开发者可以在多种操作系统上运行和部署应用,是一个强大的文件内容对比的解决方案。

(1)支持的文档格式

A.Microsoft Office 和 OpenDocument 格式

    Word: DOCX, DOC, DOCM,DOT, DOTM, DOTX, RTX, RTF, TXT

    Excel: XLSX, XLS, XLT, XLTM, XLSB, XLSM

    PowerPoint: PPTX, PPT, POT, POTX, PPS, PPSX

    Outlook: EML, EMLX, MSG

    OneNote: ONE

    OpenDocument: ODT, ODP, OTP, ODS, OTT

    固定页面布局: PDF

B.图像和其他格式

    图像、图形和图表

    光栅图像: BMP, GIF, JPG, JPEG, PNG

    医学成像: DICOM

    Microsoft Visio: VSDX, VSD, VSS, VST, VDX

    AutoCAD Drawing: DWG, DXF

C.其他

    文本: TXT

    编程语言: CS, Java, CPP, JS, PY, RB, PL, ASM, GROOVY, JSON, PHP, SQL, LOG, DIFF, LESS, SCALA

    网页: HTM, HTML, MHT, MHTML

    电子书: MOBI, DjVu

    分隔符分隔的值: CSV

(2)支持的功能如下:轻松比较 PDF 和 Office 文档、图像和其他格式。

    A.易于使用的文档对比:轻松分析和查明两个文档之间的差异;

    B.比较多个文档:同时检查和突出显示多个文档之间的差异;

    C.支持的格式:与来自不同类别的50多种广泛使用的文档格式兼容;

    D.接受或拒绝更改:对已识别的更改进行清晰的可视化,并提供接受或拒绝修改的选项;

    E.生成预览:能够将比较结果保存为图像预览;

    F.内容对比:全面比较各个层面的文本内容,包括逐行、段落、单词和字符分析,重点是修改; 

    G.风格对比:能够检测和突出显示格式和样式元素的变化;

    H.设置元数据:可以选择保留源文件或目标文件中的元数据,或允许用户定义的元数据设置;

    I.密码保护:便于分析受密码保护的文档,并为生成的文档启用密码保护;

    J.比较特定页面:根据需要加载和比较文档的特定部分或页面;

    K.显示评论:加载源文档时可灵活显示或隐藏注释;

上面这一段摘自官网的介绍,整体上觉得很抽象,运行示例项目中相关的例子后我理解的意思:GroupDocs.Comparison是一个文档内容对比的开发工具包,旨在帮助开发人员在其应用程序中实现对多种不同文档格式内容对比的功能,是一个强大的文档内容对比解决方案

2.示例实践

以官网提供的Github示例`https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Java`为准,上面介绍说GroupDocs.Comparison for Java 是一种文档比较 API,它能够检测源文件和目标文件之间的差异,以了解段落、单词和字符级别的变化,并可以识别样式和格式变化。该 API 支持50 多种流行类别的文档类型,例如 Microsoft Office、OpenOffice、AutoCAD、Visio、图像、编程、PDF 等。本次实践运行了Github Examples示例包下的示例代码,主要介绍官方提供的功能为主,过一下示例的功能,详细参考如下:

image.png

(两个Word对比结果)

image.png

(两个PDF对比结果)

image.png

(两个PPT比对结果)

image.png

(两个Excel对比结果)

image.png

(两个文件夹结构文件对比)

3.其它说明

(1)`GroupDocx.xxx`不是开源免费的使用,Github上有示例项目,包含了大量的示例,示例的结果就是生成了一些《Evaluation Warning》警告、水印、内容页数限制、内容文本限制等;

(2)aspose旗下有许多的产品,都是商业付费版本,常见于各种文档格式文件的操作,都需要商业授权使用,也基本都是支持多种编程语言的,如有Java、C++、.NET等等,官网也有多种在线示例;

(3)示例与相关文件下载:《GroupDocs.Comparison示例相关文件.zip》,注:下载并不包含具体的科学实现部分,只是源文件与示例输出文件;

(4)科学实现分为两种情况,一种是使用反射,另一种是使用License.xml文件;

(5)aspose相关的各个产品组件为独立存在的各个产品,GroupDocs是提取全集产品中的某个功能的集合,提供了一个大类的功能操作,并且统一对外提供API;

(6)运行RunExamples.java中的`CompareMultipleDocumentsPath.compareMultipleDiagramDocuments();`报错了,直接无视;

 点赞


 发表评论

当前回复:作者

 评论列表


留言区