從一份電子發(fā)票認(rèn)識(shí)OFD和XML格式
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 企業(yè)管理交流 』
/引言/ OFD(Open Fixed-layout Document)是我國(guó)自主研發(fā)的一種版式文檔格式,相比于市場(chǎng)上流行的PDF(Portable Document Format)格式,是一種更自主、更創(chuàng)新、更可靠的選擇。 從國(guó)家標(biāo)準(zhǔn)方面看,OFD格式正式開(kāi)始于《電子文件存儲(chǔ)與交換格式 版式文檔》(GB/T 33190-2016),在此基礎(chǔ)上,根據(jù)電子文件長(zhǎng)期保存、自包含、自描述等檔案管理需求,《信息技術(shù) OFD檔案應(yīng)用指南》(GB/T 42133-2022)對(duì)OFD進(jìn)一步提出標(biāo)準(zhǔn)化要求。 目前OFD格式在黨政機(jī)關(guān)電子公文歸檔和電子發(fā)票方面應(yīng)用較為廣泛,備受行政辦公、公共事務(wù)辦理等業(yè)務(wù)從業(yè)人員關(guān)注。 下面,筆者以一份電子發(fā)票為例,對(duì)OFD文件結(jié)構(gòu)及內(nèi)容進(jìn)行概括性描述,以期幫助非專業(yè)讀者更為具象地認(rèn)識(shí)到OFD的獨(dú)特之處。在此基礎(chǔ)上,從OFD文件格式框架“XML+ZIP”出發(fā),進(jìn)一步引導(dǎo)非專業(yè)讀者探知XML(Extensible Markup Language)領(lǐng)域。 01 獲取OFD格式電子發(fā)票 國(guó)家稅務(wù)總局電子發(fā)票服務(wù)平臺(tái)中,一份電子發(fā)票對(duì)應(yīng)了3種格式的電子文件,分別是PDF、OFD、XML,可以直接下載至本地保存。 如果需要對(duì)電子發(fā)票進(jìn)行離線閱覽,PDF可以使用通用瀏覽器、國(guó)內(nèi)外版式文件閱讀器打開(kāi)閱覽,OFD可以使用國(guó)內(nèi)版式文件閱讀器打開(kāi)閱覽(如金山WPS等),XML可以使用通用瀏覽器打開(kāi)閱覽。PDF和OFD顯示一致,呈現(xiàn)為符合通俗習(xí)慣的、易于普通人閱讀理解的書(shū)面表格樣式,這也是PDF、OFD被稱之為“版式”格式的主要原因。而XML與前兩者不同,呈現(xiàn)為多層級(jí)的結(jié)構(gòu)化數(shù)據(jù)排列樣式,易于機(jī)器解析,相比之下,對(duì)于自然人而言,XML的閱讀理解難度遠(yuǎn)遠(yuǎn)大于版式文檔。 02 解壓電子發(fā)票看OFD文件結(jié)構(gòu) 兩步呈現(xiàn)OFD電子發(fā)票的“XML+ZIP” 現(xiàn)代文件格式框架。 # 第一步:解壓。 直接將OFD電子文件后綴名“.ofd”修改為“.ZIP”,便得到一個(gè)ZIP壓縮包,使用解壓工具對(duì)壓縮包進(jìn)行解壓,便得到一個(gè)文件夾。 # 第二步:逐層查看文件結(jié)構(gòu)。 進(jìn)入文件夾,便可依次查看各層文件夾和XML文件。 通過(guò)上述簡(jiǎn)單的兩步操作,可以清晰地感受到OFD現(xiàn)代文件格式框架的涵義,多層文件夾結(jié)構(gòu)顯得既簡(jiǎn)煉又清晰,讓人感覺(jué)十分干凈。 03 版式呈現(xiàn)內(nèi)容數(shù)據(jù)結(jié)構(gòu)化組織 OFD文件結(jié)構(gòu)打開(kāi)后,對(duì)照GB/T 33190-2016和GB/T 42133-2022,便可進(jìn)一步認(rèn)識(shí)各個(gè)文件夾及XML的內(nèi)容及作用。 GB/T 42133-2022給出的OFD文件的包內(nèi)結(jié)構(gòu)如下圖所示: # 第一層: 含文件夾“文檔夾(Doc_0)”和XML“主入口OFD.xml”。主入口XML提供了文檔的結(jié)構(gòu)和內(nèi)容的入口點(diǎn),是訪問(wèn)和解析整個(gè)文檔內(nèi)容的起點(diǎn),其內(nèi)容結(jié)構(gòu)如下圖所示: # 第二層: 含文件夾“注釋(Annots)”、“頁(yè)樹(shù)(Pages)”、“資源(Res)”、“標(biāo)引(Tags)”和 XML“文檔入口Document.xml”、“文檔資源DocumentRes.xml”、“公共資源PublicRes.xml”。OFD文件結(jié)構(gòu)第二層將文檔內(nèi)容按照功能或特性進(jìn)行分組,以便更好地管理和訪問(wèn)內(nèi)容,同時(shí)也可以提高OFD文件的可維護(hù)性。 # 第三層及更深層: 以“頁(yè)樹(shù)(Pages)”為例,第三層為文件夾“頁(yè)面(Page N)”,第四層為XML“頁(yè)面描述Content.xml”,描述文檔頁(yè)面信息。 XML(Content.xml)中,Area描述頁(yè)面區(qū)域, Content描述頁(yè)面內(nèi)容;在Content下,Layer描述層對(duì)象;在Layer下,TextObject描述文字對(duì)象,PathObject描述圖形對(duì)象,ImageObject描述圖像對(duì)象。 TextObject文字對(duì)象依次描述了編號(hào)標(biāo)識(shí)(ID)、區(qū)域(Boundary)、字體(Font)、大?。⊿ize)、定位(TextCode)、字間距(DeltaX)、值。 PathObject圖形對(duì)象依次描述了編號(hào)標(biāo)識(shí)(ID)、區(qū)域(Boundary)、線寬(LineWidth)、線型(Fill)、圖形輪廓(AbbreviatedData),M、B、L分別指代不同的路徑方式。 ImageObject圖像對(duì)象依次描述了編號(hào)標(biāo)識(shí)(ID)、圖像變換矩陣(CTM)、區(qū)域(Boundary)、引用資源編號(hào)標(biāo)識(shí)(ResourceID)。 通過(guò)對(duì)OFD中文件夾和XML的逐層拆解,可以看出OFD文檔自包含、自描述的嚴(yán)謹(jǐn)和細(xì)致,在國(guó)家標(biāo)準(zhǔn)的規(guī)定下,任意數(shù)據(jù)在XML內(nèi)、XML與XML之間均能實(shí)現(xiàn)相互引用、相互解釋。 相比之下,PDF則難以在通用環(huán)境下呈現(xiàn)出結(jié)構(gòu)化的數(shù)據(jù)形態(tài),若將PDF電子文件后綴“.pdf”修改為“.txt”,再使用記事本打開(kāi),將呈現(xiàn)為具有一定規(guī)律但難以被自然人閱讀理解的字符塊。 04 回看XML文件數(shù)據(jù)結(jié)構(gòu)與內(nèi)容 回看從官網(wǎng)中直接下載的電子發(fā)票XML,對(duì)照《電子發(fā)票基礎(chǔ)信息規(guī)范》(GB/T 36609-2018),在XML結(jié)構(gòu)樹(shù)中,首先是EInvoice描述電子發(fā)票;在EInvoice下, EInvoiceData描述電子發(fā)票數(shù)據(jù),SellerAuthentication描述賣方認(rèn)證信息等;在SellerAuthentication下,SellerIdNum描述銷售方識(shí)別號(hào),SellerName描述銷售方名稱,SellerAddr描述銷售方地址等。 對(duì)比OFD中的XML和電子發(fā)票XML,可以分析出兩者的相同之處和不同之處。 相同之處 主要體現(xiàn)為兩點(diǎn),一是XML中的數(shù)據(jù)項(xiàng)以層級(jí)樹(shù)狀結(jié)構(gòu)組織在一起,二是XML中數(shù)據(jù)項(xiàng)的基本形式為<屬性>值,數(shù)據(jù)值被對(duì)尖括號(hào)標(biāo)簽<>所包含。清晰明了的結(jié)構(gòu)設(shè)定本身就是XML描述語(yǔ)言的優(yōu)勢(shì)所在。 不同之處 主要體現(xiàn)為兩點(diǎn),一是XML中數(shù)據(jù)項(xiàng)的定義不同,二是XML中<屬性>值的基本形式可以被說(shuō)明、擴(kuò)充。靈活且包容的自定義特性正是XML擴(kuò)展性的體現(xiàn)。 05 結(jié)語(yǔ) 基于上文的闡述,我想大家對(duì)于OFD文件格式有了比較深入的了解,可以說(shuō)OFD是由XML組合而成的版式文檔,OFD的特點(diǎn)在于自主可控、現(xiàn)代文件格式框架;而XML的特點(diǎn)在于結(jié)構(gòu)簡(jiǎn)單清晰、應(yīng)用靈活擴(kuò)展、便于計(jì)算機(jī)程序訪問(wèn)和處理;當(dāng)然,PDF格式也有其優(yōu)勢(shì),比如應(yīng)用更為廣泛,生態(tài)更為豐富等,各種文件格式之間的轉(zhuǎn)換也更為方便,對(duì)于普通用戶來(lái)說(shuō)更通用、更易用、更實(shí)用。 我想這也是國(guó)家稅務(wù)總局官網(wǎng)為什么要提供PDF、OFD、XML三種格式電子發(fā)票的原因吧! 該文章在 2024/7/25 0:15:54 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |