没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:吉炜炜|2024-12-27 10:38:45.807|阅读 29 次
概述:Word 文档中的批注通常用于协作审阅和反馈。这些批注可能包含文本和图片,它们为文档改进提供了重要的参考信息。本文将演示如何使用 Spire.Doc for Java 在 Java 中提取 Word 文档中的批注文本和图片。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
Word 文档中的批注通常用于协作审阅和反馈。这些批注可能包含文本和图片,它们为文档改进提供了重要的参考信息。提取批注中的文本和图片可以帮助你分析和评估审阅者的反馈,从而全面了解文档的优点、缺点以及改进建议。本文将演示如何使用 Spire.Doc for Java 在 Java 中提取 Word 文档中的批注文本和图片。
首先,您需要在 Java 程序中添加 Spire.Doc.jar 文件作为依赖项。
<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>//repo.e-iceblue.cn/repository/maven-public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc</artifactId> <version>12.11.9</version> </dependency> </dependencies>
使用 Java 获取 Word 文档批注中的文本并不难。首先遍历 Word 文档中的所有批注,然后使用 Spire.Doc for Java 提供的 Document.getComments().get() 方法获取当前的批注,再然后遍历批注正文的每一个段落并获取当前段落,最后使用 Paragraph.getText() 方法获取该段落的文本。下面是具体的操作步骤:
import com.spire.doc.*; import com.spire.doc.documents.*; import com.spire.doc.fields.*; import java.io.*; public class ExtractComments { public static void main(String[] args) throws IOException { // 创建一个 Document 类的对象 Document doc = new Document(); // 加载一个 Word 文档 doc.loadFromFile("/AI绘画的利弊及法律应对.docx"); // 遍历文档中的每个批注 for (int i = 0; i < doc.getComments().getCount(); i++) { // 获取当前索引处的批注 Comment comment = doc.getComments().get(i); // 遍历批注正文中的每个段落 for (int j = 0; j < comment.getBody().getParagraphs().getCount(); j++) { // 获取当前的段落 Paragraph para = comment.getBody().getParagraphs().get(j); // 获取该段落的文本 String result = para.getText() + "\r\n"; // 将提取到的批注保存为文本文件 writeStringToTxt(result, "/批注信息.txt"); } } // 释放资源 doc.dispose(); } // 自定义将数据写入到文本文件的方法 public static void writeStringToTxt(String content, String txtFileName) throws IOException { FileWriter fWriter = new FileWriter(txtFileName); try { // 写入文本文件 fWriter.write(content); } catch (IOException ex) { ex.printStackTrace(); } finally { try { // 关闭文件写入器 fWriter.flush(); fWriter.close(); } catch (IOException ex) { ex.printStackTrace(); } } } }
要从 Word 文档的批注中提取图片,需要遍历批注段落中的子对象,找到 DocPicture 对象。然后通过 DocPicture.getImageBytes() 方法获取图片数据,并将其保存为图像文件。
import com.spire.doc.*; import com.spire.doc.documents.*; import com.spire.doc.fields.*; import java.io.*; import java.nio.file.*; import java.util.ArrayList; import java.util.List; public class ExtractCommentImages { public static void main(String[] args) { // 创建一个 Document 对象 Document document = new Document(); // 加载包含批注的 Word 文档 document.loadFromFile("/AI绘画的利弊及法律应对.docx"); // 创建一个列表来存储提取的图片数据 List images = new ArrayList<>(); // 遍历文档中的批注 for (int i = 0; i < document.getComments().getCount(); i++) { Comment comment = document.getComments().get(i); // 遍历批注正文中的所有段落 for (int j = 0; j < comment.getBody().getParagraphs().getCount(); j++) { Paragraph paragraph = comment.getBody().getParagraphs().get(j); // 遍历段落中的所有子对象 for (int k = 0; k < paragraph.getChildObjects().getCount(); k++) { DocumentObject obj = paragraph.getChildObjects().get(k); // 检查是否为图片 if (obj instanceof DocPicture) { DocPicture picture = (DocPicture) obj; // 获取图片数据并添加到列表 images.add(picture.getImageBytes()); } } } } // 指定输出路径 String outputDir = "/批注图片/"; new File(outputDir).mkdirs(); // 保存图片数据为文件 for (int i = 0; i < images.size(); i++) { String fileName = String.format("批注图片-.png", i); Path filePath = Paths.get(outputDir, fileName); try (FileOutputStream fos = new FileOutputStream(filePath.toFile())) { fos.write(images.get(i)); } catch (IOException e) { e.printStackTrace(); } } } }
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询 ;技术交流Q群(767755948)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dpuzeg.cn
文章转载自:慧都网Spire.Doc for WPF 是一款在WPF平台上操作的MS Word组件,可以轻松并专业地访问大量各种不同的word文档处理任务。
Spire.Doc for Silverlight是一款在Silverlight平台上操作的MS Word组件,让用户可以执行基本的文字处理任务。
本教程演示DevExpress WinForms的Banded Grid View 是如何进行用户自定义的,欢迎下载最新版组件体验!
可视化项目时间线对于有效规划和跟踪至关重要。在本篇教程中,您将学习如何使用 C# 在 Excel 中创建组合图,只需几行代码,即可自动生成动态、美观的组合图。
本文将为大家介绍DevExpress XAF将.NET Aspire集成到Blazor项目中后如何实现数据库依赖,欢迎下载最新版组件体验!
FP3 文件是使用流行的报表生成工具FastReport创建的报表。这种格式广泛用于存储可立即查看的报表数据,这些数据可以轻松共享或保存以供日后分析。但是,要打开和查看此类文件,需要一个特殊的程序——FastReport Viewer。
Spire.Doc for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。
Spire.Doc for WPFSpire.Doc for WPF 是一款在WPF平台上操作的MS Word组件,可以轻松并专业地访问大量各种不同的word文档处理任务。
Spire.Doc for SilverlightSpire.Doc for Silverlight是一款在Silverlight平台上操作的MS Word组件,让用户可以执行基本的文字处理任务。
Spire.Doc for JavaSpire.Doc for Java是Java Word组件,具有生成、读取、转换Word文档等功能
Spire.Doc for PythonSpire.Doc for Python是专为开发人员设计的专业 Word Python API
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@dpuzeg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢