[备忘.OFD]OFD是什么、OFD与PDF格式文件的互转换
OFD(Open Fixed-layout Document)是一种由工业和信息化部软件司牵头中国电子技术标准化研究院制定的版式文档国家标准,属于中国的一种自主格式。OFD旨在打破政府部门和党委机关电子公文格式不统一的问题,以方便电子文档的存储、读取以及编辑。
OFD的定义和背景
OFD是一种开放的固定版式文档格式,主要用于电子文档的存储和交换,特别适用于需要保持版式不变的文件,如电子发票、电子文档、电子图书等。它吸收了PDF的大部分优点,覆盖了布局文件的核心内容,同时抛弃了冗余复杂的特点,是我国电子文件自主布局的重要技术。
OFD的特点
- 开放性:OFD文件基于开放标准,任何人都可以自由地查看、编辑和创建这种格式的文档,无需担心软件版权或专利问题。
- 兼容性:OFD文件可以在多种操作系统和应用软件上打开和查看,大大提高了文档的兼容性。
- 安全性:支持加密和数字签名技术,确保文档在传输和存储过程中的安全性,防止文档被非法复制或篡改。
- 交互性:支持多种交互功能,如超链接、表单填写等,使得文档的阅读和编辑更加便捷。
- 体积精简:OFD文件通常具有较好的压缩率,便于存储和传输。
OFD的应用领域
OFD文件已经被广泛应用于政府、企业、教育等多个领域。例如,在政府采购中,OFD格式的电子招投标文件已经成为一种标准形式,大大提高了招投标过程的透明度和效率。此外,OFD还将作为电子发票的统一采用格式,已经在许多地方开始采用这种格式。
OFD与PDF格式文件的互转换
其实OFD本质上是一个XML格式的描述性文档,而文档中包含的图片及字体等资源都是独立的文件,然后通过压缩打包成为了最终的.ofd文件。
要实现与PDF格式的互转换,可以自己按标准去实现,也可以直接使用已有的三方库。以 .net 为例:
- Spire.Pdf(收费)(以下是C#代码示例)
public void ConvertPdf2Ofd(string inputPdfPath, string outputOfdPath)
{PdfDocument doc = new PdfDocument();doc.LoadFromFile(inputPdfPath, FileFormat.PDF);doc.SaveToFile(outputOfdPath, FileFormat.OFD);
}
public void ConvertOfd2Pdf(string inputOfdPath, string outputPdfPath)
{OfdConverter ofdCov = new OfdConverter(inputOfdPath);ofdCov.ToPdf(outputPdfPath);
}
- sdk-docs - 福昕SDK开发中心(收费)
- XiaoFeng.Ofd(开源 Apache-2.0)
- ...
相关资料:
《版式文档格式标准OFD国家标准正式发布》 2016-10-17 来源:信息技术研究中心
《GB/T 33190-2016 电子文件存储与交换格式版式文档》
《我们经常使用的PDF是什么? PDF, PDF/A, PDF/Archive, OFD》
相关文章:
[备忘.OFD]OFD是什么、OFD与PDF格式文件的互转换
OFD(Open Fixed-layout Document)是一种由工业和信息化部软件司牵头中国电子技术标准化研究院制定的版式文档国家标准,属于中国的一种自主格式。OFD旨在打破政府部门和党委机关电子公文格式不统一的问题,以方便电子文档的存…...
Pycharm连接远程解释器
这里写目录标题 0 前言1 给项目添加解释器2 通过SSH连接3 找到远程服务器的torch环境所对应的python路径,并设置同步映射(1)配置服务器的系统环境(2)配置服务器的conda环境 4 进入到程序入口(main.py&#…...
嵌入式系统 tensorflow
🎬 秋野酱:《个人主页》 🔥 个人专栏:《Java专栏》《Python专栏》 ⛺️心若有所向往,何惧道阻且长 文章目录 探索嵌入式系统中的 TensorFlow:机遇与挑战一、TensorFlow 适配嵌入式的优势二、面临的硬件瓶颈三、软件优化策略四、实…...
深度学习知识点:LSTM
文章目录 1.应用现状2.发展历史3.基本结构4.LSTM和RNN的差异 1.应用现状 长短期记忆神经网络(LSTM)是一种特殊的循环神经网络(RNN)。原始的RNN在训练中,随着训练时间的加长以及网络层数的增多,很容易出现梯度爆炸或者梯度消失的问…...
11.C语言内存管理与常用内存操作函数解析
目录 1.简介2.void 指针3.malloc4.free5.calloc6.realloc7.restrict 说明符8.memcpy9.memmove()10.memcmp 1.简介 本篇原文为:C语言内存管理与常用内存操作函数解析。 更多C进阶、rust、python、逆向等等教程,可点击此链接查看:酷程网 C 语…...
Python 中的错误处理与调试技巧
💖 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长…...
门禁系统与消防报警的几种联动方式
1、规范中要求的出入口系统与消防联动 1.1《建筑设计防火规范》GB 50016-2018 1.2《民用建筑电气设计规范》JGJ 16-2008 14.4出入口控制系统 3 设置在平安疏散口的出入口限制装置,应与火灾自动报警系统联动;在紧急状况下应自动释放出入口限制系统&…...
云原生安全风险分析
一、什么是云原生安全 云原生安全包含两层含义: 面向云原生环境的安全具有云原生特征的安全 0x1:面向云原生环境的安全 面向云原生环境的安全的目标是防护云原生环境中基础设施、编排系统和微服务等系统的安全。 这类安全机制不一定具备云原生的特性…...
解决cursor50次使用限制问题并恢复账号次数
视频内容: 在这个视频教程中,我们将演示如何解决科sir软件50次使用限制的问题,具体步骤包括删除和注销账号、重新登录并刷新次数。教程详细展示了如何使用官网操作将账号的剩余次数恢复到250次,并进行软件功能测试。通过简单的操…...
python学习笔记—16—数据容器之元组
1. 元组——tuple(元组是一个只读的list) (1) 元组的定义注意:定义单个元素的元组,在元素后面要加上 , (2) 元组也支持嵌套 (3) 下标索引取出元素 (4) 元组的相关操作 1. index——查看元组中某个元素在元组中的位置从左到右第一次出现的位置 t1 (&qu…...
rabbitmq——岁月云实战笔记
1 rabbitmq设计 生产者并不是直接将消息投递到queue,而是发送给exchange,由exchange根据type的规则来选定投递的queue,这样消息设计在生产者和消费者就实现解耦。 rabbitmq会给没有type预定义一些exchage,而实际我们却应该使用自己定义的。 1.1 用户注册设计 用户在…...
Matlab APP Designer
我想给聚类的代码加一个图形化界面,需要输入一些数据和一些参数并输出聚类后的图像和一些评价指标的值。 gpt说 可以用 app designer 界面元素设计 在 设计视图 中直接拖动即可 如图1,我拖进去一个 按钮 ,图2 红色部分 出现一行 Button 图…...
CSS语言的编程范式
CSS语言的编程范式 引言 在现代网页开发中,CSS(层叠样式表)作为一种样式语言,承担着网站前端呈现的重要角色。无论是简单的静态网页还是复杂的单页应用,CSS都在人机交互中发挥着至关重要的作用。掩盖在美观背后的&am…...
一个简单的php博客
一个简单的 PHP 博客的示例代码: 收起 php <?php // 连接数据库 $servername "localhost"; $username "root"; $password ""; $dbname "blog_db";// 创建连接 $conn new mysqli($servername, $username, $passw…...
解决anaconda prompt找不到的情况
由于打开某个文件夹导致系统卡死了,鼠标使用不了,只能使用快捷键ctrlaltdelete打开,点任务管理器也没什么用,就点了注销选项。 注销:清空缓存空间和注册表信息,向系统发出清除现在登陆的用户的请求。 导致…...
【深度学习】多目标融合算法(二):底部共享多任务模型(Shared-Bottom Multi-task Model)
目录 一、引言 1.1 往期回顾 1.2 本期概要 二、Shared-Bottom Multi-task Model(SBMM) 2.1 技术原理 2.2 技术优缺点 2.3 业务代码实践 三、总结 一、引言 在朴素的深度学习ctr预估模型中(如DNN),通常以一个行…...
如何使用vue引入three.js
在 Vue.js 项目中引入和使用 Three.js 是一个常见的需求,Three.js 是一个用于在浏览器中创建和显示动画 3D 计算机图形的 JavaScript 库。以下是一个基本的示例,展示如何在 Vue 项目中引入和使用 Three.js。 1. 创建 Vue 项目 如果你还没有一个 Vue 项…...
城市生命线安全综合监管平台
【落地产品,有需要可留言联系,支持项目合作或源码合作】 一、建设背景 以关于城市安全的重要论述为建设纲要,聚焦城市安全重点领域,围绕燃气爆炸、城市内涝、地下管线交互风险、第三方施工破坏、供水爆管、桥梁坍塌、道路塌陷七…...
计算机毕设【开题报告】怎么写?
技巧 1. 标题简洁且具体 技巧:开题报告的标题要简明扼要,并准确表达研究的核心内容。避免使用复杂的术语或过于宽泛的题目。 实用方法:根据你的研究方向,标题应该包括你的系统类型、技术框架或研究对象。例如,“基于…...
Go学习:多重赋值与匿名变量
1. 变量的多重赋值 1.1 基本语法格式 go语言中,可以将多个赋值语句 合并成 一句,比如: a : 10 b : 20 c : 30//a,b,c三个变量的赋值语句可以简练成以下格式a, b, c : 10, 20, 30 1.2 交换变量值 当需要交换两个变量的值时&#…...
夜神模拟器抓包微信小程序实战指南
1. 环境准备与基础配置 想要抓取微信小程序的数据包,首先得搭建好工作环境。我推荐使用夜神模拟器的安卓7版本,这个版本稳定性好,兼容性强,而且自带root权限,省去了很多麻烦。安装完模拟器后,你会发现系统已…...
Appstore 上架问题汇总--持续更新
一、Guideline 3.2.1(viii) - Business - Other Business Model Issues - Acceptable 问题: We still found the app provides loan services but the domains listed on the apps Product Pages are not clearly under your control or ownership. Since users m…...
如何解决JAVA无人共享无人健身房物联网结合系统防尾随问题
在JAVA无人共享无人健身房物联网结合系统中,防尾随问题可通过AB门防尾随方案结合物联网技术、AI算法和JAVA后端逻辑实现,其核心在于双门互锁机制AI人数检测实时通信控制。以下是具体解决方案:一、系统架构设计硬件层:双门结构&…...
Arroyo分布式流处理引擎的完整测试策略指南:单元测试、集成测试与SQL测试框架详解
Arroyo分布式流处理引擎的完整测试策略指南:单元测试、集成测试与SQL测试框架详解 【免费下载链接】arroyo Distributed stream processing engine in Rust 项目地址: https://gitcode.com/gh_mirrors/ar/arroyo Arroyo是一个用Rust编写的分布式流处理引擎&a…...
3分钟掌握RePKG:Wallpaper Engine资源提取与转换全攻略
3分钟掌握RePKG:Wallpaper Engine资源提取与转换全攻略 【免费下载链接】repkg Wallpaper engine PKG extractor/TEX to image converter 项目地址: https://gitcode.com/gh_mirrors/re/repkg RePKG是一款专为Wallpaper Engine设计的强大资源提取工具&#x…...
[论文阅读]DeepSeek-V3 Technical Report
DeepSeek-V3 Technical Report https://arxiv.org/abs/2412.19437 核心亮点: 多头潜在注意力机制MLA、DeepSeek MoE架构、多Token预测训练目标MTP 这张图其实已经可以比较清晰地说明MLA和MoE架构了。 对于MLA,主要的策略是把输入的hiddenstates进行降…...
突破限制的AI开发助手:Cursor Free VIP开源工具全攻略
突破限制的AI开发助手:Cursor Free VIP开源工具全攻略 【免费下载链接】cursor-free-vip [Support 0.45](Multi Language 多语言)自动注册 Cursor Ai ,自动重置机器ID , 免费升级使用Pro 功能: Youve reached your tri…...
Makefile 入门与 C/C++ 项目构建指南
Makefile 入门与 C/C 项目构建指南 本文面向 C/C 初学者与日常维护多文件工程的开发者,系统说明 GNU Make 与 Makefile 的作用、执行逻辑、常用语法与可复用模板,帮助从「手动敲 gcc」过渡到可维护的自动化构建,并具备阅读、修改常见开源项目…...
Win11Debloat:5大模块让Windows 11系统重获新生
Win11Debloat:5大模块让Windows 11系统重获新生 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and customiz…...
年没人敢碰的老代码,我用AI重构了它——然后翻车了
1 安装与初始化 # 全局安装 OpenSpec npm install -g fission-ai/openspeclatest # 在项目目录下初始化 cd /path/to/your-project openspec init 初始化时,OpenSpec 会提示你选择使用的 AI 工具(Claude Code、Cursor、Trae、Qoder 等)。 3 O…...
