Python 将Word、Excel、PDF、PPT文档转为OFD文档

OFDOpen Fixed-layout Document )是我国自主制定的一种开放版式文件格式标准。OFD文档具有不易被篡改、格式独立、版式固定等特点,目前常用于政府公文、金融、电子发票等领域。

如果想要通过PythonOffice文档(如WordExcelPowerPoint)及PDF文档转换为OFD格式,可以参考本文中提供的实现方法。

目录

1. 安装Python库

2. 将Word(Doc、Docx)转为ODF文档

3. 将Excel (XLS、XLSX) 转为OFD文档

4. 将PowerPoint (PPT、PPTX) 转为OFD文档

5. 将PDF文档转为OFD格式


1. 安装Python

首先,我们需要安装一个国产Python - Spire.Office for Python。这个库可以用于操作Word/Excel/PPT/PDF等各种文档。我们可以通过pip来安装它:

pip install Spire.Office

2. 将WordDocDocx)转为ODF文档

安装成功后,可以使用以下简单代码将Word文档转为ofd格式

from spire.doc import *
from spire.doc.common import *# 创建Document类的对象
document = Document()# 加载一个.doc或.docx文档
document.LoadFromFile("示例.doc")# 将Word转为ofd文档
document.SaveToFile("OFD\\Word转OFD.ofd", FileFormat.OFD)
document.Close()

3. 将Excel (XLSXLSX) 转为OFD文档

from spire.xls import *
from spire.xls.common import *# 创建Workbook类的对象
workbook = Workbook()# 加载一个.xls或.xlsx文档
workbook.LoadFromFile("示例.xlsx")# 将Excel转为OFD
workbook.SaveToFile("OFD\\ExcelToOFD.ofd", FileFormat.OFD)
workbook.Dispose()

4. 将PowerPoint (PPTPPTX) 转为OFD文档

from spire.presentation.common import *
from spire.presentation import *# 创建Presentation类的对象
ppt = Presentation()# 加载一个.ppt或.pptx文档
ppt.LoadFromFile("示例.pptx")# 将PowerPoint转为OFD
ppt.SaveToFile("OFD\\PPT转OFD.ofd", FileFormat.OFD)
ppt.Dispose()

5. 将PDF文档转为OFD格式

from spire.pdf.common import *
from spire.pdf import *# 创建PdfDocument类的对象
pdf = PdfDocument()# 加载一个PDF文档
pdf.LoadFromFile("示例.pdf")# 将PDF文档转为OFD格式
pdf.SaveToFile("OFD\\PDF转OFD.ofd", FileFormat.OFD)
pdf.Close()

生成文件:

通过以上示例,我们就可以将通过简单的操作和代码将WordExcelPPTPDF文档转换为OFD格式。有问题可前往论坛交流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/19536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 车载 Audio 中 有关系统按键无声的问题排查小结

本文简单记录一下,车载中系统按键音的问题排查从 App --> FrameWork --> HAL层 的问题排查。 通过日志分析: AudioStreamOutSink 这个有数据写入到 HAL 中(方式一) 查看 dump 文件。(方式二) 先 …

SAP 物料的与压缩库存数据不一致

在测试系统中进行501和561增加库存的时候,系统提示物料的预压缩库存数据不一致的报错。 如下图所示: 首先想到的就是搜SAP的NOTES,找到了相关的两个note:293356 note:2197042 表示:数据库表 ACDOCA 和 ACDOCA_M_EXTRACT 之间的差异。 经过查询发现是由于物料分类账中的…

Docker 图形化界面管理工具 Portainer | 让你更轻松的管理 Docker

本文首发于只抄博客,欢迎点击原文链接了解更多内容。 前言 Portainer 是一个 Docker 图形化管理工具,可以通过 Web UI 轻松的管理容器、镜像、网络、卷。与 Dockge 相比功能更加的完善,同时上手难度也更大一些 Portainer 分为社区版和商业版…

你是否正确地编写了 Git 提交信息?

介绍 在版本控制方面,Git 是一个非常有效的工具。然而,像任何其他工具一样,你必须正确使用它才能充分发挥其作用。你需要考虑不同的方面。本文着重介绍如何按照传统提交规范(Conventional Commits specification)编写…

线上商城API接口再次升级||电商API接口对接线上商城搭建

功能更新 商城对接【蚂蚁搬客】应用 API接口产品上传及订单状态修改 01 商城对接API应用 ▼ 使用场景 适用于多个电商平台(如淘宝、京东、天猫、1688、苏宁、唯品会、当当等)的产品搬家,包括产品标题、主图等信息,轻松完成商…

NFTScan 获 Google Cloud 战略支持!

近日,NFT 数据基础设施服务商 NFTScan 获得全球领先云计算服务提供商 Google Cloud 战略支持。未来,双方将在链上数据和区块链领域展开战略合作,高效联动,共同探索区块链技术的更多可能性,为用户和行业带来更多惊喜与成…

束测后台实操文档2-OpenWrt

束测后台实操文档1-PVE、PBS 上面文,把proxmox装好并添加好PBS上的镜像存储空间后,还原已经做好的镜像基本上就可以在已有的镜像下开展工作了。 调试的PVE环境一般两个网口,一个外网wan,一个子网lan,虚拟机一般在lan…

【UnityShader入门精要学习笔记】第十六章 Unity中的渲染优化技术 (上)

本系列为作者学习UnityShader入门精要而作的笔记,内容将包括: 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更,有始无终 我的GitHub仓库 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 移动平台上…

【Python】解决Python报错:AttributeError: ‘module‘ object has no attribute ‘xxx‘

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

flink 操作mongodb的例子

简述 该例子为从一个Collection获取数据然后插入到另外一个Collection中。 Flink的基本处理过程可以清晰地分为以下几个阶段: 数据源(Source): Flink可以从多种数据源中读取数据,如Kafka、RabbitMQ、HDFS等。Flink会…

21 厂商考证介绍(华为 华三 锐键 深信服)+AI 解析

一 认识考证体系 二 明确考证的大致方向 锐键 职业资格证书等级介绍 职业资格证书是由国家职业资格鉴定机构或相关行业主管部门颁发的,用于证明一个人在特定职业领域具备一定技能和知识水平的证明文件。职业资格证书的等级分为初级、中级、高级、技师、高级技师、…

【Python】解决Python报错:AttributeError: ‘NoneType‘ object has no attribute ‘xxx‘

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

谢宁DOE培训的课程大纲分享

谢宁DOE培训旨在深入讲解谢宁问题解决方法在质量管理中的重要作用,学会如何利用谢宁问题解决方法工具,在不中断生产过程的前提下,找出生产中碰到的复杂而顽固的问题的原因,从而彻底地解决问题。 【课程内容】 第一部分&#xff1…

GEE 10m近实时 LULC 数据集Dynamic World

Google Earth Engine 和 Dynamic World Google 利用其地球引擎(Earth Engine)和人工智能(AI)平台技术,推出了 Dynamic World 数据库,能够提供接近实时的全球土地环境数据。Dynamic World 是基于 Google Ear…

c++ QT 实现QMediaPlayer播放音频显示音频级别指示器

文章目录 效果图概述代码总结 效果图 概述 QMediaPlayer就不介绍了,就提供了一个用于播放音频和视频的媒体播放器 QAudioProbe 它提供了一个探针,用于监控音频流。当音频流被捕获或播放时,QAudioProbe 可以接收到音频数据。这个类在需要访问…

亚马逊云科技专家分享 | OPENAIGC开发者大赛能量加油站6月5日场预约开启~

由联想拯救者、AIGC开放社区、英特尔联合主办的“AI生成未来第二届拯救者杯OPENAIGC开发者大赛”自上线以来,吸引了广大开发者的热情参与。 为了向技术开发者、业务人员、高校学生、以及个体创业人员等参赛者们提供更充分的帮助与支持,AIGC开放社区特别…

C# WinForm —— 24 Threading.Timer 组件介绍与使用

1. 简介 System.Threading.Timer 多线程 轻量级 精度高 提供以指定的时间间隔对线程池线程执行方法的机制 和System.Timers.Timer 类似,每隔一段时间触发事件,执行操作(不是由UI线程执行的),即使事件中执行了比较耗时的操作,也…

万字长文深度解析Agent反思工作流框架Reflexion上篇:安装与运行

今天,我们将迈出从理论到实践的关键一步——通过安装和测试Reflexion框架,我们将揭开智能体工作流的神秘面纱,实现知识的深度融合与应用。由于框架东西较多,我们暂定分为上中下三篇来讲解。 1. 安装 1.1 克隆和查看项目 git clo…

JVM学习-类加载过程(二)

Initialization初始化阶段 为类的静态变量赋予正确的初始值 具体描述 类的初始化是类装载的最后一个阶段,如果前面的步骤没有问题,那么表示类可以顺利装载到系统中,此时,类才会开始执行Java字节码(即,到了初始化阶段…

React-基础样式控制

组件基础样式方案 React组件基础的样式控制有两种方式 1、行内样式(不推荐) 属性名是多个单词的需要使用驼峰写法 也可以把样式都提取到一个变量里,再赋值到style里 2、class类名控制 classnames优化类名控制 classnames是一个简单的JS库&…