C#实现Word和ODT文档相互转换详解
作者:E-iceblue 发布时间:2022-12-17 21:36:47
ODT文档格式一种开放文档格式(OpenDocument Text)。通常,ODT格式的文件可以使用LibreOffice Writer、MS Word或其他一些文档编辑器来打开。我们在处理文档时,可通过格式转换的方式,将ODT转为其他格式,或者将其他格式转为ODT,来获取目标文档。本文,以C#及VB.NET代码展示ODT和Word文档之间相互转换的方法。
程序环境
本次测试时,在程序中引入Free Spire.Doc for .NET。可通过以下方法引用Spire.Doc.dll文件:
方法1
将 Free Spire.Doc for .NET 下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。
方法2
通过 NuGet 安装。可通过以下2种方法安装:
(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。
(2)将以下内容复制到PM控制台安装。
Install-Package FreeSpire.Doc -Version 10.2.0
格式转换
转换时,只需要操作三行代码来实现:
1.创建Document类的对象。
2.调用Document.LoadFromFile(string fileName)方法加载源文档。
3.通过Document.SaveToFile(string fileName, FileFormat fileFormat)方法保存为目标文件格式到指定路径。
1. Word转为ODT
C#
using Spire.Doc;
namespace WordtoODT
{
class Program
{
static void Main(string[] args)
{
//创建Document类的对象
Document document = new Document();
//加载Word文档
document.LoadFromFile("sample.docx");
//保存为ODT格式
document.SaveToFile("ToODT.odt", FileFormat.Odt);
}
}
}
vb.net
Imports Spire.Doc
Namespace WordtoODT
Class Program
Private Shared Sub Main(args As String())
'创建Document类的对象
Dim document As New Document()
'加载Word文档
document.LoadFromFile("sample.docx")
'保存为ODT格式
document.SaveToFile("ToODT.odt", FileFormat.Odt)
End Sub
End Class
End Namespace
2. ODT转为Word
C#
using Spire.Doc;
namespace ODTtoWord
{
class Program
{
static void Main(string[] args)
{
//创建Document类的对象
Document document = new Document();
//加载ODT文档
document.LoadFromFile("test.odt");
//保存为Word格式
document.SaveToFile("toWord.docx", FileFormat.Docx2013);
}
}
}
vb.net
Imports Spire.Doc
Namespace ODTtoWord
Class Program
Private Shared Sub Main(args As String())
'创建Document类的对象
Dim document As New Document()
'加载ODT文档
document.LoadFromFile("test.odt")
'保存为Word格式
document.SaveToFile("toWord.docx", FileFormat.Docx2013)
End Sub
End Class
End Namespace
注:测试代码中的文件路径为程序Debug路径,文件路径可自定义为其他路径。
来源:https://www.cnblogs.com/Yesi/p/16252626.html


猜你喜欢
- 为什么需要ThreadLocalRandomjava.util.Random一直都是使用比较广泛的随机数生成工具类,而且java.lang.
- 今天在优化项目中的考勤同步功能时遇到将考勤机中的数据同步到数据库,两边都是几万条数据的样子,老代码的做法差不多半个小时,优化后我本机差不多4
- 注解注解定义Java 注解(Annotation)又称 Java 标注,是 JDK5.0 引入的一种注释机制。Java 语言中的类、方法、变
- 相信大家都经常使用String 的split方法,但是大家有没有遇到下面的这种情况:大家想想下面的代码执行结果是什么public stati
- 一、前言前面我们学习了多态中的转型,那么现在我们开始学习抽象类的概述和使用二、抽象类生活大多事物是具有抽象含义的,比如我说一个生物,你想不到
- 一.一维数组的定义1.创建数组数组定义有三种方法:int[] array1 = new int[10];//前面的int[]为数组的类型,后
- 1.OkHttp发起网络请求可以通过OkHttpClient发起一个网络请求//创建一个Client,相当于打开一个浏览器 OkHttpCl
- 本文实例讲述了Android应用启动另外一个apk应用的方法。分享给大家供大家参考,具体如下:在开发的过程中,经常会遇到在一个应用中启动另外
- 一、简述mybatis驼峰式命名规则自动转换:使用前提:数据库表设计按照规范“字段名中各单词使用下划线"_"划分”;使用
- 前言之前采取项目中嵌套html页面,实现基本的登录校验、权限校验、登出操作、记住我等功能试下。但是,现在的开发基本都是前后分离样式,后端并不
- 本文实例讲述了Android获取手机系统版本等信息的方法。分享给大家供大家参考。具体如下:String phoneInfo = "
- 本文实例为大家分享了flutter Container容器实现圆角边框的具体代码,供大家参考,具体内容如下在这里使用 Container 容
- 在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties
- 本文实例讲述了winform实现创建最前端窗体的方法。分享给大家供大家参考。具体实现方法如下:一、需求:1).需要这个窗体始终处于前端而且可
- 使用@Value取值出现的问题在springBoot项目中我们一般会把一些路径或者资源写在配置文件中,方便管理。但是取得时候有可能会出现一些
- 一、PointCut接口/* * Copyright 2002-2012 the original author or authors. *
- 1.Semaphore的概述public class Semaphore extends Object implements Seriali
- Android绘图常用方法有哪些,下面一一为大家列举:1、有关画笔(Paint)的方法Paint mPaint= new Paint();m
- 接口:官方的含义是---->java接口是一系列方法的声明,是一些方法特征的集合疑问:那为什么不用抽象类呢?把他们共有的方法集合起来放
- 前言从 Java 5.0 开始,String 类新增了一个强大的字符串格式化方法 format()。这个方法到现在用的人还是不多,实在是一种