无需MS Office!使用Aspose在C ++中以编程方式将 DOCX 转换为 DOC

2023-11-05

Microsoft Word 文档有两种格式, DOC 和 DOCX。DOC 是一种较旧的格式,而 DOCX 是它的继任者。可以将 DOCX 文件转换为 DOC 格式,反之亦然。在本文中,将学习如何将 DOCX 文件转换为 DOC 格式以及如何将 DOC 文件转换为 DOCX 格式。

让我们探索以下有关的内容:

  • 使用 C++ 将 DOCX 文件转换为 DOC 格式
  • 使用 C++ 将 DOCX 文件批量转换为 DOC 格式
  • 使用 C++ 将 DOC 文件转换为 DOCX 格式
  • 使用 C++ 将 DOC 文件批量转换为 DOCX 格式

无需MS Office!使用Aspose在C ++中以编程方式将 DOCX 转换为 DOC

Aspose.Words for C++ 是一个原生的 C++ 库,允许您创建、读取和修改 Microsoft Word 文档。此外,它还支持将 DOCX 文件转换为 DOC 格式和将 DOC 文件转换为 DOCX 格式。

>>你可以下载Aspose.Words for C ++ 最新版测试体验。


使用 C++ 将 DOCX 文件转换为 DOC 格式

可以按照以下步骤将 DOCX 文件转换为 DOC 格式。

  • 创建LoadOptions类的实例。
  • 使用LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value)方法将加载格式设置为 DOCX 。
  • 使用Document 类加载源 DOCX 文件 。
  • 使用Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat)方法保存转换后的 DOC 文件。

以下示例代码显示了如何使用 C++ 将 DOCX 文件转换为 DOC 文件。

// Create an instance of the LoadOptions class
auto loadOptions = System::MakeObject();

// Specify LoadFormat of input word document
loadOptions->set_LoadFormat(LoadFormat::Docx);

// Load source DOCX file
System::SharedPtrdoc = System::MakeObject(u"SourceDirectory\\Word\\Sample 4.docx", loadOptions);

// Save the DOC file
doc->Save(u"OutputDirectory\\output.doc", SaveFormat::Doc);

使用 C++ 将 DOCX 文件批量转换为 DOC 格式

如果有数百个 DOCX 文件需要转换为 DOC 格式,则只需执行一次程序即可轻松转换它们。在这个例子中,我们将使用 boost 库来遍历目录中的文件。以下是将DOCX文件批量转换为DOC格式的步骤。

  • 遍历目录中的文件。
  • 创建LoadOptions类的实例。
  • 使用LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value)方法将加载格式设置为 DOCX 。
  • 使用Document 类加载 DOCX 文件。
  • 将文件名中的扩展名更改为 DOC。
  • 使用Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat)方法保存转换后的 DOC 文件。

以下示例代码演示了如何使用 C++ 将 DOCX 文件批量转换为 DOC 格式。

// Iterate through the files in the directory
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
    // Check file extension
    if (file.path().extension().string() == ".docx")
    {
        // Create an instance of the LoadOptions class
        auto loadOptions = System::MakeObject();

        // Specify LoadFormat of input word document
        loadOptions->set_LoadFormat(LoadFormat::Docx);

        // Load the DOCX file
        System::SharedPtrdoc = System::MakeObject((System::String)file.path().string(), loadOptions);

        // Change the file extension
        System::String fileName = (System::String)file.path().filename().string();
        fileName = fileName.Replace(u".docx", u".doc");

        // Save the DOC file
        doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Doc);
    }
}

使用 C++ 将 DOC 文件转换为 DOCX 格式

以下是将 DOC 文件转换为 DOCX 文件的步骤。

  • 创建LoadOptions类的实例。
  • 使用LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value)方法将加载格式设置为 DOC 。
  • 使用Document 类加载源 DOC 文件 。
  • 使用Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat)方法保存转换后的 DOCX 文件。

以下示例代码显示了如何使用 C++ 将 DOC 文件转换为 DOCX 文件。

// Create an instance of the LoadOptions class
auto loadOptions = System::MakeObject();

// Specify LoadFormat of input word document
loadOptions->set_LoadFormat(LoadFormat::Doc);

// Load source DOC file
System::SharedPtrdoc = System::MakeObject(u"SourceDirectory\\Word\\Sample 1.doc", loadOptions);

// Save the DOCX file
doc->Save(u"OutputDirectory\\output.docx", SaveFormat::Docx);

使用 C++ 将 DOC 文件批量转换为 DOCX 格式

要将 DOC 文件批量转换为 DOCX 格式,请使用以下步骤。

  • 遍历目录中的文件。
  • 创建LoadOptions类的实例。
  • 使用LoadOptions->set_LoadFormat(Aspose::Words::LoadFormat value)方法将加载格式设置为 DOC 。
  • 使用Document 类加载 DOC 文件。
  • 将文件名中的扩展名更改为 DOCX。
  • 使用Document->Save(System::String fileName, Aspose::Words::SaveFormat saveFormat)方法保存转换后的 DOCX 文件。

以下示例代码演示了如何使用 C++ 将 DOC 文件批量转换为 DOCX 格式。

// Iterate through the files in the directory
for (directory_entry& file : directory_iterator("SourceDirectory\\Word"))
{
    // Check file extension
    if (file.path().extension().string() == ".doc")
    {
        // Create an instance of the LoadOptions class
        auto loadOptions = System::MakeObject();

        // Specify LoadFormat of input word document
        loadOptions->set_LoadFormat(LoadFormat::Doc);

        // Load the DOC file
        System::SharedPtrdoc = System::MakeObject((System::String)file.path().string(), loadOptions);

        // Change the file extension
        System::String fileName = (System::String)file.path().filename().string();
        fileName = fileName.Replace(u".doc", u".docx");

        // Save the DOCX file
        doc->Save(System::String::Concat(u"OutputDirectory\\", fileName), SaveFormat::Docx);
    }
}

如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),我们很高兴为您提供查询和咨询。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无需MS Office!使用Aspose在C ++中以编程方式将 DOCX 转换为 DOC 的相关文章

随机推荐

  • vue中,实现锚点定位及跳转(url不发生变化)

    直接上代码 lt div class footer click returnTop gt methods returnTop function document querySelector header scrollIntoView tru
  • 大学生数学建模优秀论文发表

    大学生数学建模优秀论文篇1 浅谈大学生数学建模的意义 摘 要 本文重点分析了数学建模对当前数学教育教学改革的现实意义 探讨了数学建模对学生应用数学能力的培养 阐述了计算机在数学建模竞赛中的作用和地位 最后介绍了数学建模对数学教学改革的启示意
  • 微信小程序-weUI组件库

    微信小程序的开发过程中 常常会出现很多重复性的功能翻来覆去地使用 那么直接用一套封装好的组件库 就能大大提升开发速度 微信小程序的UI组件库有很多 可以参考下面这个内容 微信小程序UI组件库合集 微信开放社区 qq com https de
  • 英伟达GPU驱动和CUDA的版本对应关系

    CUDA Toolkit Toolkit Driver Version Linux x86 64 Driver Version Windows x86 64 Driver Version CUDA 11 6 GA gt 510 39 01
  • 深入研究java.lang.ThreadLocal类

    深入研究java lang ThreadLocal类 一 概述 ThreadLocal是什么呢 其实ThreadLocal并非是一个线程的本地实现版本 它并不是一个Thread 而是threadlocalvariable 线程局部变量 也许
  • matlab的损失函数mse,MSELoss损失函数

    MSELoss损失函数中文名字就是 均方损失函数 公式如下所示 这里 loss x y 的维度是一样的 可以是向量或者矩阵 i 是下标 很多的 loss 函数都有 size average 和 reduce 两个布尔类型的参数 因为一般损失
  • 消费者与生产者模式(管程法、消息队列的方法)

    生产者和消费者模式 管程法SynContainer 我们知道wait notify notifyAll 方法都是java lang Object类的 native方法 如果我们要在某个线程中的synchronized块中调用 wait no
  • activiti7的网关

    工作流 activiti7网关 1 排他网关 排他网关 也叫异或 XOR 网关 或叫基于数据的排他网关 用来在流程中实现决策 当流程执行到这个网关 所有分支都会判断条件是否为true 如果为 true 则执行该分支 注意 排他网关只会选择一
  • Hbase基础入门

    HBase 1 HBase是什么 1 1 HBase的概念 1 2 HBase的特点 2 HBase集群安装部署 2 1 准备安装包 2 2 修改HBase配置文件 2 2 1 hbase env sh 2 2 2 hbase site x
  • RocketMQ入门

    1 认识MQ 1 1 什么是MQ MQ全称为Message Queue 即消息队列 是一种提供消息队列服务的中间件 也称为消息中间件 是一套提供了消息生 产 存储 消费全过程的软件系统 遵循FIFO原则 1 2 为什么用MQ 并发量高时 当
  • 微信小程序 组件生命周期

    完整微信小程序 Java后端 技术贴目录清单页面 必看 组件的生命周期 指的是组件自身的一些函数 这些函数在特殊的时间点或遇到一些特殊的框架事件时被自动触发 其中 最重要的生命周期是 created attached detached 包含
  • yolov5详解与改进

    https github com z1069614715 objectdetection script YOLOV5改进 Optimal Transport Assignment Optimal Transport Assignment O
  • 49天精通Java,第43天,缓冲区数据结构bytebuffer

    目录 专栏导读 一 缓冲区 二 常用方法 三 通道获取 1 从 FileInputStream FileOutputStream 中获取 2 从 RandomAccessFile 中获取 3 通过 FileChannel open 获取 四
  • 如何创建A/B Test谷歌广告实验(3种类型)

    为了更精细化的测试广告 我们需要做一些测试 谷歌广告实验 我们也经常会叫A B Test 目前谷歌支持搜索广告 展示广告和视频广告三种广告系列类型的A B Test 在谷歌广告实验中分为广告变体 自定义实验和视频实验三种类型 广告变体主要用
  • Hadoop集群完全分布式搭建

    本人也只是hadoop学习的一个萌新 在这段时间内因为课程的需要 安装了一下hadoop集群 里面遇到了一些问题 找到了一些解决办法 如果文章内有什么错误 欢迎大家与我交流 下面就开始搭建hadoop集群吧 搭建环境为win10 虚拟机为V
  • 在Linux环境搭建Java版Minecraft(我的世界)服务器

    文章目录 前言 一 帮助轻松开服的工具 1 Xshell 2 XFTP 二 开服步骤 1 准备一个可以满足你需要的Linux服务器 2 安装工具 3 连接服务器 4 配置服务器 确保你已经完成第三步 成功连接上了服务器 1 安装Java 如
  • HDFS入门和应用开发场景案例:如何模拟实现分布式存储?

    如何解决海量数据存的下问题 1 传统式存储方式 应对文件存储服务 传统做法是在服务器上部署文件服务比如FTP 但是随着数据变多 会遇到存储瓶颈 此时 本能的操作反应是 内存不够加内存 磁盘不够加磁盘 单机纵向扩展 但是单机能够扩展的内存磁盘
  • 使用Python进行名片OCR(识别姓名,职务,电话,Email邮箱)

    上一篇博客介绍了如何通过以下方式自动OCR和扫描收据 检测输入图像中的接收 应用透视变换以获得收据的自顶向下视图 利用Tesseract对收据上的文本进行OCR 使用正则表达式提取价格数据 这篇博客将介绍如何使用Python对名片进行OCR
  • JAVA面试题 整合版

    1 List Set和Map 的区别 List 以索引来存取元素 有序的 元素是允许重复的 可以插入多个null Set 不能存放重复元素 无序的 只允许一个null Map 保存键值对映射 List 底层实现有数组 链表两种方式 Set
  • 无需MS Office!使用Aspose在C ++中以编程方式将 DOCX 转换为 DOC

    Microsoft Word 文档有两种格式 DOC 和 DOCX DOC 是一种较旧的格式 而 DOCX 是它的继任者 可以将 DOCX 文件转换为 DOC 格式 反之亦然 在本文中 将学习如何将 DOCX 文件转换为 DOC 格式以及如