《GB∕T 33190-2016 電子文件存儲與交換格式 版式文件》OFD標準學習及應用

發布時間:2021-02-18 13:56:09 作者:本站編輯 來源:本站原創 閱讀次數:

OFD標準介紹


什么是OFD

OFD(Open Fixed-Layout Document) 是電子文件管理的基礎標準之一,由于其固定版式呈現的特點,各類文檔排版后的固化結果都可使用本標準來承載 ;同時對于各行業管理中有關元數據、語義、數字簽名等要求,本標準也提供相應的可擴展機制予以支持。OFD作為基礎標準在版式文檔范疇內反映了行業管理要求,提供了足夠的擴展性,與行業應用中的標準規范是并行的,各行業規范只在版式文檔存儲格式方面引用本標準。OFD版式文件具有以下特點:

(1)采用XML技術描述文本數據,采用“容器+文檔”的方式描述和存儲數據;

(2)真實地保持原有文檔中文字、圖表、公式、色彩等版式信息,且這種特性不隨平臺變化而改變;

(3)采用二維向量圖像模型,可以描述包括文字、圖形、圖像等經過精密排版的頁面像素;

(4)國家層級的自主版式格式,實現了文檔的原始內容和批注附加內容的分離保存

 


OFD學習資源

可在國家標準全文公開系統預覽《GB∕T 33190-2016 電子文件存儲與交換格式 版式文件》標準內容;

OFD閱讀器廠商:北京數科網維航天福昕軟件

OFD格式轉換:北京數科網維文檔轉換預覽,福昕OFD版式辦公套件安裝完成后可通過虛擬打印機轉換為OFD格式,永中DCS

 

 


在OFD文件中添加檔案章

image

 

 

準備工作:檔案章圖片(生成細節略)、OFD文件、Visual Studio IDE

 


OFD文件解壓

可將文件后綴名改為zip再解壓以查看OFD文件的層次結構。實際編碼中需要引入System.IO.Compression.ZipFile包。

image

 

  

文件

說明

OFD.xml

文件主人口文件,一個包內存在且只存在一個OFD.xml 文件,此文件名不應修改

Doc_0/Document.xml

文檔的根節點

Doc_0/DocumentRes.xml

文檔自身資源索引

Doc_0/PublicRes.xml

文檔公共資源索引

Doc_0/Pages/Page_0/Cotent.xml

文檔第0 頁的內容描述

Doc_0/Res/seal.png

文檔資源文件

 

ZipFile.ExtractToDirectory(ofd文件路徑, 解壓目錄);

 


讀取相關數據

注意:OFD標準中XML文檔使用的命名空間為http://www.ofdspec.org/201 6,其標識應為ofd;應在包內各XML文檔的根節點中聲明defaults:ofd。元素節點應使用命名空間標識,元素屬性不使用命名空間。

imageimage

 

 

 

有些廠商轉換的OFD文件命名空間為http://www.ofdspec.org或其它,因此需要根據文件指定的命名空間來讀取和寫入數據。

 

ID

XML文件

XPath

數據

1

OFD.xml

ofd:OFD/ofd:DocBody/ofd:DocRoot

主入口文件路徑

2

Document.xml

ofd:Document/ofd:CommonData/ofd:MaxUnitID

文檔全局自增ID

3

Document.xml

ofd:Document/ofd:CommonData/ofd:DocumentRes

資源文件路徑

4

Document.xml

ofd:Document/ofd:Pages/ofd:Page[1]

首頁路徑

5

DocumentRes.xml

ofd:Res/ofd:MultiMedias/ofd:MultiMedia/ofd:MediaFile[text()='seal.png']

檔案章圖片名稱

6

DocumentRes.xml

ofd:Res/ofd:MultiMedias/ofd:MultiMedia/ofd:MediaFile[text()='seal.png']/..

檔案章圖片資源ID

7

Content.xml

ofd:Page/ofd:Area/ofd:PhysicalBox

頁面尺寸信息

 


寫入數據

(1)     將六格檔案章圖片復制到解壓目錄相對路徑Doc_N/Res下,Doc_N由數據1決定;

(2)     DocumentRes.xml文件ofd:Res/ofd:MultiMedias路徑下創建子元素MultiMedia,DocumentRes.xml路徑由數據3決定,并自增數據2寫入ID屬性;

(3)     在上一步MultiMedia節點創建子元素MediaFile;

(4)     Content.xml文件ofd:Page/ofd:Content/ofd:Layer路徑下創建子元素ImageObject,Content.xml路徑由數據4決定,并自增數據2寫入ID屬性;其中Boundary、CTM由數據7計算得出,需將圖片像素先轉換為毫米再進行計算,ResourceID為第(2)步的自增ID;

(5)     更新Document.xml文件ofd:Document/ofd:CommonData/ofd:MaxUnitID值為數據2;

(6)     保存以上所有修改

 


OFD文件打包

打包并刪除臨時解壓文件

ZipFile.CreateFromDirectory(解壓路徑, ofd文件路徑);

Directory.Delete(解壓路徑, true);

image

 

sealopenssllayervisual studio

本文轉載自:https://www.cnblogs.com/WalkingDead/p/11679072.html


我們的價值觀

對得起良心、對得起客戶

聯系電話:15598115999

QQ  咨詢:6645166

電子郵箱:feng@haokuai.cn

公司地址:內蒙古呼和浩特市金橋開發區阿拉坦大街北側商業樓1號B段

为什么总是干到一半就没水了