@syzlm/ofdparser 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/.babelrc +14 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc.json +18 -0
  4. package/.prettierrc.json +9 -0
  5. package/dist/OFD.d.ts +8 -0
  6. package/dist/Pages.d.ts +7 -0
  7. package/dist/RootDocumnet.d.ts +1 -0
  8. package/dist/bundle.cjs.js +64123 -0
  9. package/dist/bundle.esm.js +64115 -0
  10. package/dist/bundle.iife.js +14743 -0
  11. package/dist/bundle.umd.js +64045 -0
  12. package/dist/constant/index.d.ts +7 -0
  13. package/dist/constant.d.ts +6 -0
  14. package/dist/core/ofd-core/Annotations/AnnotationsXml.d.ts +16 -0
  15. package/dist/core/ofd-core/Asn.1Utils.d.ts +47 -0
  16. package/dist/core/ofd-core/Documents/DocumentResXml.d.ts +15 -0
  17. package/dist/core/ofd-core/Documents/DocumnetXml.d.ts +25 -0
  18. package/dist/core/ofd-core/Documents/PublicResXml.d.ts +15 -0
  19. package/dist/core/ofd-core/OFDElement.d.ts +232 -0
  20. package/dist/core/ofd-core/Ofd/OFDXml.d.ts +19 -0
  21. package/dist/core/ofd-core/Pages/PageXml.d.ts +20 -0
  22. package/dist/core/ofd-core/Signatures/Signatures.d.ts +20 -0
  23. package/dist/core/ofd-core/TemplatePages/TemplatePages.d.ts +20 -0
  24. package/dist/core/ofd-core/constant.d.ts +29 -0
  25. package/dist/core/ofd-core/utils.d.ts +21 -0
  26. package/dist/dicom/dicom.d.ts +15 -0
  27. package/dist/dicom/index.d.ts +1 -0
  28. package/dist/errors/ErrorHandle.d.ts +6 -0
  29. package/dist/errors/ErrorMsg.d.ts +16 -0
  30. package/dist/errors/FetchErrors.d.ts +4 -0
  31. package/dist/errors/MimeError.d.ts +4 -0
  32. package/dist/errors/OFDErrors.d.ts +4 -0
  33. package/dist/errors/UnzipErrors.d.ts +4 -0
  34. package/dist/errors/XmlErrors.d.ts +4 -0
  35. package/dist/errors/error-msg.d.ts +9 -0
  36. package/dist/es.d.ts +2 -0
  37. package/dist/index.d.ts +6 -0
  38. package/dist/lib/ParseFile.d.ts +7 -0
  39. package/dist/lib/UnitCoversion.d.ts +31 -0
  40. package/dist/lib/asn1/Asn.1.d.ts +34 -0
  41. package/dist/lib/asn1/Stream.d.ts +27 -0
  42. package/dist/lib/asn1/asn1.d.ts +4 -0
  43. package/dist/lib/asn1/base64.d.ts +4 -0
  44. package/dist/lib/asn1/hex.d.ts +5 -0
  45. package/dist/lib/asn1/index.d.ts +5 -0
  46. package/dist/lib/asn1/int10.d.ts +34 -0
  47. package/dist/lib/asn1/oids.d.ts +2 -0
  48. package/dist/lib/asn1/string-cut.d.ts +2 -0
  49. package/dist/lib/decode-html.d.ts +7 -0
  50. package/dist/lib/fetch.d.ts +17 -0
  51. package/dist/lib/is-element.d.ts +5 -0
  52. package/dist/lib/load-files.d.ts +3 -0
  53. package/dist/lib/load-opentype.d.ts +34 -0
  54. package/dist/lib/load-script.d.ts +1 -0
  55. package/dist/lib/mime.d.ts +8 -0
  56. package/dist/lib/read-buffer.d.ts +2 -0
  57. package/dist/lib/toFixeds.d.ts +7 -0
  58. package/dist/libs/Asn.1Utils.d.ts +47 -0
  59. package/dist/libs/asn1/Asn.1.d.ts +34 -0
  60. package/dist/libs/asn1/Stream.d.ts +27 -0
  61. package/dist/libs/asn1/asn1.d.ts +4 -0
  62. package/dist/libs/asn1/base64.d.ts +4 -0
  63. package/dist/libs/asn1/hex.d.ts +5 -0
  64. package/dist/libs/asn1/index.d.ts +5 -0
  65. package/dist/libs/asn1/int10.d.ts +34 -0
  66. package/dist/libs/asn1/oids.d.ts +2 -0
  67. package/dist/libs/asn1/string-cut.d.ts +2 -0
  68. package/dist/libs/decode-html.d.ts +7 -0
  69. package/dist/libs/fetch.d.ts +17 -0
  70. package/dist/libs/mime.d.ts +8 -0
  71. package/dist/libs/ofdArray.d.ts +10 -0
  72. package/dist/libs/ofdImageObject.d.ts +9 -0
  73. package/dist/libs/ofdLayer.d.ts +3 -0
  74. package/dist/libs/ofdName.d.ts +17 -0
  75. package/dist/libs/ofdPathObject.d.ts +11 -0
  76. package/dist/libs/ofdTextObject.d.ts +6 -0
  77. package/dist/libs/parseAnnotation.d.ts +5 -0
  78. package/dist/libs/parseColor.d.ts +5 -0
  79. package/dist/libs/parsePageArea.d.ts +17 -0
  80. package/dist/libs/parser-elements.d.ts +8 -0
  81. package/dist/libs/parserElements.d.ts +8 -0
  82. package/dist/libs/pipeExtensions.d.ts +4 -0
  83. package/dist/libs/read-buffer.d.ts +2 -0
  84. package/dist/main.d.ts +15 -0
  85. package/dist/ofd/ConverterDpi.d.ts +16 -0
  86. package/dist/ofd/index.d.ts +1 -0
  87. package/dist/ofd/ofd-utils.d.ts +137 -0
  88. package/dist/ofd/ofd.d.ts +35 -0
  89. package/dist/ofd/parse-ofd.d.ts +18 -0
  90. package/dist/ofd/render.d.ts +18 -0
  91. package/dist/ofd/svg-image.d.ts +12 -0
  92. package/dist/ofd/svg-path.d.ts +5 -0
  93. package/dist/ofd/svg-text.d.ts +8 -0
  94. package/dist/ofd.parse.d.ts +6 -0
  95. package/dist/ofd.xml.d.ts +1 -0
  96. package/dist/ofdParse.d.ts +6 -0
  97. package/dist/pipe/annotations.d.ts +13 -0
  98. package/dist/pipe/attachments.d.ts +13 -0
  99. package/dist/pipe/commonData.d.ts +18 -0
  100. package/dist/pipe/customTags.d.ts +14 -0
  101. package/dist/pipe/extensions.d.ts +14 -0
  102. package/dist/pipe/output.d.ts +7 -0
  103. package/dist/pipe/pages.d.ts +13 -0
  104. package/dist/pipe/permissions.d.ts +14 -0
  105. package/dist/pipe/pipeline.d.ts +63 -0
  106. package/dist/pipe/startPipe.d.ts +11 -0
  107. package/dist/xml/index.d.ts +2 -0
  108. package/dist/xml/render.d.ts +6 -0
  109. package/dist/xml/xml.d.ts +18 -0
  110. package/package.json +47 -0
  111. package/public/index.html +75 -0
  112. package/public/opentype.min.js +2 -0
  113. package/rollup.config.dev.mjs +47 -0
  114. package/rollup.config.mjs +70 -0
  115. package/src/constant/index.ts +13 -0
  116. package/src/core/ofd-core/Annotations/Annotation.km +206 -0
  117. package/src/core/ofd-core/Annotations/Annotations.km +59 -0
  118. package/src/core/ofd-core/Annotations/Annotations.md +13 -0
  119. package/src/core/ofd-core/Annotations/AnnotationsXml.ts +114 -0
  120. package/src/core/ofd-core/Asn.1Utils.ts +225 -0
  121. package/src/core/ofd-core/Documents/DocumentResXml.ts +55 -0
  122. package/src/core/ofd-core/Documents/Documnet.km +862 -0
  123. package/src/core/ofd-core/Documents/DocumnetXml.ts +118 -0
  124. package/src/core/ofd-core/Documents/Documnets.md +296 -0
  125. package/src/core/ofd-core/Documents/PublicResXml.ts +63 -0
  126. package/src/core/ofd-core/Documents//345/233/276/345/261/202/346/270/262/346/237/223/351/241/272/345/272/217.png +0 -0
  127. package/src/core/ofd-core/Documents//350/241/25022/347/272/277/346/235/241/350/277/236/346/216/245/346/240/267/345/274/217.png +0 -0
  128. package/src/core/ofd-core/Documents//350/241/25023/347/272/277/346/235/241/350/231/232/347/272/277/346/240/267/345/274/217.png +0 -0
  129. package/src/core/ofd-core/Documents//350/241/25023/347/273/223/345/220/210/347/202/271/351/225/277/345/272/246.png +0 -0
  130. package/src/core/ofd-core/Documents//350/241/25024/347/272/277/346/235/241/347/253/257/347/202/271/346/240/267/345/274/217.png +0 -0
  131. package/src/core/ofd-core/Documents//351/241/265/350/276/271/347/225/214/345/261/202/346/254/241/347/273/223/346/236/204.png +0 -0
  132. package/src/core/ofd-core/OFDElement.ts +724 -0
  133. package/src/core/ofd-core/Ofd/CT_DocInfo.km +197 -0
  134. package/src/core/ofd-core/Ofd/OFD.km +114 -0
  135. package/src/core/ofd-core/Ofd/OFD.md +99 -0
  136. package/src/core/ofd-core/Ofd/OFDXml.ts +69 -0
  137. package/src/core/ofd-core/Pages/PAGE.md +40 -0
  138. package/src/core/ofd-core/Pages/PageXml.ts +59 -0
  139. package/src/core/ofd-core/Signatures/Signature.km +308 -0
  140. package/src/core/ofd-core/Signatures/Signature.md +21 -0
  141. package/src/core/ofd-core/Signatures/Signatures.km +315 -0
  142. package/src/core/ofd-core/Signatures/Signatures.md +24 -0
  143. package/src/core/ofd-core/Signatures/Signatures.ts +247 -0
  144. package/src/core/ofd-core/TemplatePages/TemplatePages.ts +56 -0
  145. package/src/core/ofd-core/asn.md +60 -0
  146. package/src/core/ofd-core/constant.ts +35 -0
  147. package/src/core/ofd-core/index.d.ts +867 -0
  148. package/src/core/ofd-core/utils.ts +86 -0
  149. package/src/dicom/dicom.ts +42 -0
  150. package/src/dicom/index.ts +1 -0
  151. package/src/errors/ErrorHandle.ts +14 -0
  152. package/src/errors/FetchErrors.ts +8 -0
  153. package/src/errors/MimeError.ts +9 -0
  154. package/src/errors/OFDErrors.ts +11 -0
  155. package/src/errors/UnzipErrors.ts +9 -0
  156. package/src/errors/XmlErrors.ts +11 -0
  157. package/src/errors/error-msg.ts +17 -0
  158. package/src/es.ts +3 -0
  159. package/src/global.d.ts +7 -0
  160. package/src/index.ts +7 -0
  161. package/src/lib/ParseFile.ts +12 -0
  162. package/src/lib/README.md +69 -0
  163. package/src/lib/UnitCoversion.ts +55 -0
  164. package/src/lib/asn1/Asn.1.ts +284 -0
  165. package/src/lib/asn1/README.md +1 -0
  166. package/src/lib/asn1/Stream.ts +314 -0
  167. package/src/lib/asn1/asn1.ts +120 -0
  168. package/src/lib/asn1/base64.ts +97 -0
  169. package/src/lib/asn1/hex.ts +60 -0
  170. package/src/lib/asn1/index.ts +5 -0
  171. package/src/lib/asn1/int10.ts +103 -0
  172. package/src/lib/asn1/oids.ts +6164 -0
  173. package/src/lib/asn1/string-cut.ts +8 -0
  174. package/src/lib/decode-html.ts +37 -0
  175. package/src/lib/fetch.ts +70 -0
  176. package/src/lib/is-element.ts +13 -0
  177. package/src/lib/jbig/README.md +1 -0
  178. package/src/lib/jbig/arithmetic_decoder.js +184 -0
  179. package/src/lib/jbig/base_stream.js +117 -0
  180. package/src/lib/jbig/ccitt.js +1068 -0
  181. package/src/lib/jbig/ccitt_stream.js +60 -0
  182. package/src/lib/jbig/compatibility.js +108 -0
  183. package/src/lib/jbig/core_utils.js +591 -0
  184. package/src/lib/jbig/decode_stream.js +184 -0
  185. package/src/lib/jbig/is_node.js +28 -0
  186. package/src/lib/jbig/jbig2.js +2582 -0
  187. package/src/lib/jbig/jbig2_stream.js +78 -0
  188. package/src/lib/jbig/primitives.js +441 -0
  189. package/src/lib/jbig/stream.js +101 -0
  190. package/src/lib/jbig/util.js +1231 -0
  191. package/src/lib/load-files.ts +26 -0
  192. package/src/lib/load-opentype.ts +161 -0
  193. package/src/lib/load-script.ts +33 -0
  194. package/src/lib/mime.ts +97 -0
  195. package/src/lib/read-buffer.ts +19 -0
  196. package/src/lib/toFixeds.ts +56 -0
  197. package/src/ofd/ConverterDpi.ts +35 -0
  198. package/src/ofd/OFD.md +38 -0
  199. package/src/ofd/TODO.md +10 -0
  200. package/src/ofd/index.ts +1 -0
  201. package/src/ofd/ofd-utils.ts +627 -0
  202. package/src/ofd/ofd.demo.md +12 -0
  203. package/src/ofd/ofd.ts +200 -0
  204. package/src/ofd/ofdxml.km +162 -0
  205. package/src/ofd/parse-ofd.ts +103 -0
  206. package/src/ofd/render.ts +393 -0
  207. package/src/ofd/svg-image.ts +318 -0
  208. package/src/ofd/svg-path.ts +283 -0
  209. package/src/ofd/svg-text.ts +272 -0
  210. package/src/xml/index.ts +3 -0
  211. package/src/xml/render.ts +171 -0
  212. package/src/xml/xml.ts +136 -0
  213. package/tsconfig.json +21 -0
@@ -0,0 +1,197 @@
1
+ {
2
+ "root": {
3
+ "data": {
4
+ "id": "clv5xa0gfmg0",
5
+ "created": 1659404845367,
6
+ "text": "CT_DocInfo"
7
+ },
8
+ "children": [
9
+ {
10
+ "data": {
11
+ "id": "clv7vqoo8a00",
12
+ "created": 1659410367151,
13
+ "text": "elements"
14
+ },
15
+ "children": [
16
+ {
17
+ "data": {
18
+ "id": "clv7vu2j7r40",
19
+ "created": 1659410374520,
20
+ "text": "DocID",
21
+ "note": "#### DocID\n \n可选 xs:string 采用UUID算法生成的由32个字符组成文件标识。每个DocID在文档创建或生成的时候进行分配"
22
+ },
23
+ "children": []
24
+ },
25
+ {
26
+ "data": {
27
+ "id": "clv7vxvaxxk0",
28
+ "created": 1659410382790,
29
+ "text": "Title",
30
+ "note": "#### Title\n\n可选 xs:string 文档标题。标题可以与文件名不同"
31
+ },
32
+ "children": []
33
+ },
34
+ {
35
+ "data": {
36
+ "id": "clv7w3h9wew0",
37
+ "created": 1659410395003,
38
+ "text": "Author",
39
+ "note": "#### Author\n\n可选 xs:string 文档作者"
40
+ },
41
+ "children": []
42
+ },
43
+ {
44
+ "data": {
45
+ "id": "clv7w6fsieo0",
46
+ "created": 1659410401443,
47
+ "text": "Subject",
48
+ "note": "#### Subject\n\n可选 xs:string 文档主题"
49
+ },
50
+ "children": []
51
+ },
52
+ {
53
+ "data": {
54
+ "id": "clv7wb10ils0",
55
+ "created": 1659410411433,
56
+ "text": "Abstract",
57
+ "note": "#### Abstract\n\n可选 xs:string 文档摘要与注释"
58
+ },
59
+ "children": []
60
+ },
61
+ {
62
+ "data": {
63
+ "id": "clv7wfczw3c0",
64
+ "created": 1659410420865,
65
+ "text": "CreationDate",
66
+ "note": "#### CreationDate\n\n可选 xs:date 文档创建日期"
67
+ },
68
+ "children": []
69
+ },
70
+ {
71
+ "data": {
72
+ "id": "clv7wmnt4pc0",
73
+ "created": 1659410436756,
74
+ "text": "ModDate",
75
+ "note": "#### ModDate\n\n可选 xs:date 文档最近修改日期"
76
+ },
77
+ "children": []
78
+ },
79
+ {
80
+ "data": {
81
+ "id": "clv7wq5ob880",
82
+ "created": 1659410444367,
83
+ "text": "DocUsage",
84
+ "note": "#### DocUsage\n\n可选 xs:string 文档分类,默认值Normal,可取值如下:\n\n1. Normal ----- 普通文档\n2. EBook ----- 电子书\n3. ENewsPaper ----- 电子报纸\n4. EMagzine ----- 电子期刊杂志"
85
+ },
86
+ "children": []
87
+ },
88
+ {
89
+ "data": {
90
+ "id": "clv7wt3cm5s0",
91
+ "created": 1659410450757,
92
+ "text": "Cover",
93
+ "note": "#### Cover \n\n可选 ST_Loc 文档封面,此路径指向一个图片文件"
94
+ },
95
+ "children": []
96
+ },
97
+ {
98
+ "data": {
99
+ "id": "clv7wws4vvk0",
100
+ "created": 1659410458786,
101
+ "text": "Keywords",
102
+ "note": "#### Keywords\n\n关键词集合,每个关键词用1个“Keyword”子节点表达"
103
+ },
104
+ "children": [
105
+ {
106
+ "data": {
107
+ "id": "clv7x1dl6js0",
108
+ "created": 1659410468790,
109
+ "text": "elements"
110
+ },
111
+ "children": [
112
+ {
113
+ "data": {
114
+ "id": "clv7x43vbxc0",
115
+ "created": 1659410474733,
116
+ "text": "Keyword",
117
+ "note": "##### Keyword\n\n必填 xs:string 关键词"
118
+ },
119
+ "children": []
120
+ }
121
+ ]
122
+ }
123
+ ]
124
+ },
125
+ {
126
+ "data": {
127
+ "id": "clv7x93rijc0",
128
+ "created": 1659410485610,
129
+ "text": "Creator",
130
+ "note": "#### Creator\n \n可选 xs:string 创建文档的应用程序"
131
+ },
132
+ "children": []
133
+ },
134
+ {
135
+ "data": {
136
+ "id": "clv7xe8zz2o0",
137
+ "created": 1659410496811,
138
+ "text": "CreatorVersion",
139
+ "note": "#### CreatorVersion\n\n可选 xs:string 创建文档的应用程序的版本信息"
140
+ },
141
+ "children": []
142
+ },
143
+ {
144
+ "data": {
145
+ "id": "clv7xi5gsf40",
146
+ "created": 1659410505304,
147
+ "text": "CustomDatas",
148
+ "note": "#### CustomDatas\n\n用户自定义元数据集合,其子节点为CustomData"
149
+ },
150
+ "children": [
151
+ {
152
+ "data": {
153
+ "id": "clv7xlksze00",
154
+ "created": 1659410512762,
155
+ "text": "elements"
156
+ },
157
+ "children": [
158
+ {
159
+ "data": {
160
+ "id": "clv7xnmp0ag0",
161
+ "created": 1659410517230,
162
+ "text": "CustomData",
163
+ "note": "##### CustomData\n\n必选 xs:string 用户定义元数据集合,可以指定用一个名称及其对应的值"
164
+ },
165
+ "children": [
166
+ {
167
+ "data": {
168
+ "id": "clv7xwh5b400",
169
+ "created": 1659410536485,
170
+ "text": "attributes"
171
+ },
172
+ "children": [
173
+ {
174
+ "data": {
175
+ "id": "clv7y2nuayo0",
176
+ "created": 1659410549951,
177
+ "text": "Name",
178
+ "note": "###### Name\n\n必选 xs:string 用户自定义元数据名称"
179
+ },
180
+ "children": []
181
+ }
182
+ ]
183
+ }
184
+ ]
185
+ }
186
+ ]
187
+ }
188
+ ]
189
+ }
190
+ ]
191
+ }
192
+ ]
193
+ },
194
+ "template": "default",
195
+ "theme": "fresh-blue",
196
+ "version": "1.4.43"
197
+ }
@@ -0,0 +1,114 @@
1
+ {
2
+ "root": {
3
+ "data": {
4
+ "id": "clv5ptqgtg00",
5
+ "created": 1659404261385,
6
+ "text": "OFD"
7
+ },
8
+ "children": [
9
+ {
10
+ "data": {
11
+ "id": "clv5q3dp28w0",
12
+ "created": 1659404282381,
13
+ "text": "Elements",
14
+ "expandState": "expand"
15
+ },
16
+ "children": [
17
+ {
18
+ "data": {
19
+ "id": "clv5su6chb40",
20
+ "created": 1659404497438,
21
+ "text": "DocBody",
22
+ "note": "\n## DocBody\n\n必填 文件对象入口,可以存在多个,以便在一个文档中包含多个板式文档\n\n\n"
23
+ },
24
+ "children": [
25
+ {
26
+ "data": {
27
+ "id": "clv5tcm2nrk0",
28
+ "created": 1659404537571,
29
+ "text": "Elements"
30
+ },
31
+ "children": [
32
+ {
33
+ "data": {
34
+ "id": "clv5tfr0mao0",
35
+ "created": 1659404544400,
36
+ "text": "DocInfo",
37
+ "note": "### DocInfo\n\nCT_DocInfo 文档元数据信息描述,文档元数据信息具体结构见图[CT_DocInfo.km](./CT_DocInfo.km)"
38
+ },
39
+ "children": []
40
+ },
41
+ {
42
+ "data": {
43
+ "id": "clv5tlu5go00",
44
+ "created": 1659404557651,
45
+ "text": "DocRoot",
46
+ "note": "### DocRoot\n\n可选 ST_Loc 指向文档根节点,有关文档跟节点描述见7.5"
47
+ },
48
+ "children": []
49
+ },
50
+ {
51
+ "data": {
52
+ "id": "clv5ts5wuvk0",
53
+ "created": 1659404571422,
54
+ "text": "Versions",
55
+ "note": "### Versions\n\n包含多个版本描述节点,用于定义文件因注释和其他改动产生的版本信息,见第19章"
56
+ },
57
+ "children": []
58
+ },
59
+ {
60
+ "data": {
61
+ "id": "clv5tvtmu8o0",
62
+ "created": 1659404579387,
63
+ "text": "Signatures",
64
+ "note": "### Signatures\n\n可选 ST_Loc 指向该文档中签名和签章结构,见第18章"
65
+ },
66
+ "children": []
67
+ }
68
+ ]
69
+ }
70
+ ]
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "data": {
76
+ "id": "clv5q9muzqg0",
77
+ "created": 1659404295996,
78
+ "text": "attributes",
79
+ "layout_mind_offset": {
80
+ "x": 21,
81
+ "y": 1
82
+ }
83
+ },
84
+ "children": [
85
+ {
86
+ "data": {
87
+ "id": "clv5qq005rs0",
88
+ "created": 1659404331619,
89
+ "text": "Version",
90
+ "layout_left_offset": {
91
+ "x": -5,
92
+ "y": -22
93
+ },
94
+ "note": "## Version\n\n必填 xs:string 文件格式的版本号,取值为“1.0”"
95
+ },
96
+ "children": []
97
+ },
98
+ {
99
+ "data": {
100
+ "id": "clv5qzc5iu00",
101
+ "created": 1659404351945,
102
+ "text": "DocType",
103
+ "note": "## DocType\n\n必须 xs:string 文件格式子集类型,取值为“OFD”,表明此文件符合本标准。取值为“OFD-A”,表明此文件符合OFD存档规范"
104
+ },
105
+ "children": []
106
+ }
107
+ ]
108
+ }
109
+ ]
110
+ },
111
+ "template": "default",
112
+ "theme": "fresh-blue",
113
+ "version": "1.4.43"
114
+ }
@@ -0,0 +1,99 @@
1
+ # OFD.xml 文件描述
2
+
3
+ ## Version
4
+
5
+ 必填 xs:string 文件格式的版本号,取值为“1.0”
6
+
7
+ ## DocType
8
+
9
+ 必须 xs:string 文件格式子集类型,取值为“OFD”,表明此文件符合本标准。取值为“OFD-A”,表明此文件符合OFD存档规范
10
+
11
+ ## DocBody
12
+
13
+ 必填 文件对象入口,可以存在多个,以便在一个文档中包含多个板式文档
14
+
15
+ ### DocInfo
16
+
17
+ 必填 CT_DocInfo 文档元数据信息描述,文档元数据信息具体结构见图 CT_DocInfo.km
18
+
19
+ #### DocID
20
+
21
+ 可选 xs:string 采用UUID算法生成的由32个字符组成文件标识。每个DocID在文档创建或生成的时候进行分配
22
+
23
+ #### Title
24
+
25
+ 可选 xs:string 文档标题。标题可以与文件名不同
26
+
27
+ #### Author
28
+
29
+ 可选 xs:string 文档作者
30
+
31
+ #### Subject
32
+
33
+ 可选 xs:string 文档主题
34
+
35
+ #### Abstract
36
+
37
+ 可选 xs:string 文档摘要与注释
38
+
39
+ #### CreationDate
40
+
41
+ 可选 xs:date 文档创建日期
42
+
43
+ #### ModDate
44
+
45
+ 可选 xs:date 文档最近修改日期
46
+
47
+ #### DocUsage
48
+
49
+ 可选 xs:string 文档分类,默认值Normal,可取值如下:
50
+
51
+ 1. Normal ----- 普通文档
52
+ 2. EBook ----- 电子书
53
+ 3. ENewsPaper ----- 电子报纸
54
+ 4. EMagzine ----- 电子期刊杂志
55
+
56
+ #### Cover
57
+
58
+ 可选 ST_Loc 文档封面,此路径指向一个图片文件
59
+
60
+ #### Keywords
61
+
62
+ 关键词集合,每个关键词用1个“Keyword”子节点表达
63
+
64
+ ##### Keyword
65
+
66
+ 必填 xs:string 关键词
67
+
68
+ #### Creator
69
+
70
+ 可选 xs:string 创建文档的应用程序
71
+
72
+ #### CreatorVersion
73
+
74
+ 可选 xs:string 创建文档的应用程序的版本信息
75
+
76
+ #### CustomDatas
77
+
78
+ 用户自定义元数据集合,其子节点为CustomData
79
+
80
+ ##### CustomData
81
+
82
+ 必选 xs:string 用户定义元数据集合,可以指定用一个名称及其对应的值
83
+
84
+ ###### Name
85
+
86
+ 必选 xs:string 用户自定义元数据名称
87
+
88
+ ### DocRoot
89
+
90
+ 可选 ST_Loc 指向文档根节点,有关文档跟节点描述见7.5
91
+
92
+ ### Versions
93
+
94
+ 包含多个版本描述节点,用于定义文件因注释和其他改动产生的版本信息,见第19章
95
+
96
+ ### Signatures
97
+
98
+ 可选 ST_Loc 指向该文档中签名和签章结构,见第18章
99
+
@@ -0,0 +1,69 @@
1
+ import { Element } from 'xml-js';
2
+
3
+ import OFDElement from '../OFDElement';
4
+ import DocumnetXml from '../Documents/DocumnetXml';
5
+ import SignaturesXml from '../Signatures/Signatures';
6
+ import { ResultData } from '..';
7
+
8
+ class OFDXMl extends OFDElement {
9
+ static fileName: string;
10
+ constructor(ofdxml: { [key: string]: Element }) {
11
+ OFDElement.init();
12
+ OFDXMl.fileName = 'OFD.xml';
13
+ super(ofdxml);
14
+ this.XmlChangeJson(OFDXMl.fileName);
15
+ this.getDocument();
16
+ this.getSignatures();
17
+ }
18
+
19
+ getDocument() {
20
+ const res = this.getElements('DocRoot', OFDXMl.fileName);
21
+ this.setST_Loc(res.replace(/^\//, ''));
22
+ if (res) {
23
+ return new DocumnetXml(res.replace(/^\//, ''));
24
+ }
25
+ return null;
26
+ }
27
+
28
+ getSignatures() {
29
+ const res = this.getElements('Signatures', OFDXMl.fileName);
30
+ if (res) {
31
+ return new SignaturesXml(res.replace(/^\//, ''));
32
+ }
33
+ return null;
34
+ }
35
+
36
+ /**
37
+ * 将OFD文件XML转换成渲染获取可操作数据
38
+ * @returns ResultData
39
+ */
40
+ getData(): ResultData {
41
+ const {
42
+ Pages,
43
+ Res,
44
+ OFDElements,
45
+ DocumnetResRoot,
46
+ PublicResRoot,
47
+ Tpls,
48
+ STLoc,
49
+ PageArea,
50
+ Signatures,
51
+ PageSignatures
52
+ } = OFDElement;
53
+
54
+ return {
55
+ Pages,
56
+ Res,
57
+ DocumnetResRoot,
58
+ PublicResRoot,
59
+ Tpls,
60
+ STLoc,
61
+ OFDElements,
62
+ PageArea,
63
+ Signatures,
64
+ PageSignatures
65
+ };
66
+ }
67
+ }
68
+
69
+ export default OFDXMl;
@@ -0,0 +1,40 @@
1
+ # Page 结构
2
+
3
+ ## Area
4
+
5
+ ### CT_PageArea
6
+
7
+ 定义该页面页面区域的大小和位置,仅对该页有效,该节点不出现时只使用模版页中的定义,如果模版页不存在或模版页中没有定义页面区域,则使用文件CommonData中的定义
8
+
9
+ ## Template
10
+
11
+ 该页使用的模版页,模版页的内容结构和普通页相同,定义在CommonData指定的XMl文件中。一个页可以使用多个模版页。该节点使用时通过TemplateID来引用具体的模版,并通过ZOrder属性来控制模版在页面中的呈现顺序。
12
+ 注:在模版页内的内容描述中该属性无效
13
+
14
+ ### TemplatePage
15
+
16
+ #### ID 模版标识
17
+
18
+ #### BaseLoc 指向模版页内容描述文件
19
+
20
+ #### Name 模版页名称
21
+
22
+ #### ZOrder 模版页的默认图层类型
23
+
24
+ 其类型描述和呈显顺序与Layer中Type的描述和处理一致,见表15,如果页面引用的多个模版的此属性相同,则应根据引用的顺序来显示,先引用者先绘制 默认Background
25
+
26
+ 1. Body 正文层
27
+ 2. Foreground 前景层
28
+ 3. Background 背景层
29
+
30
+ ## PageRes
31
+
32
+ 页资源,指向该页使用的资源文件
33
+
34
+ ## Content
35
+
36
+ 页面内容描述,该节点不存在时表示空白页
37
+
38
+ ## Actions
39
+
40
+ 与页面关联的动作,事件类型应为PO(页面打开动作)
@@ -0,0 +1,59 @@
1
+ import { Element } from 'xml-js';
2
+ import { replacePathPriex } from '../utils';
3
+ import OFDElement from '../OFDElement';
4
+ // import OFDXMl from '../ofd/OFDXml';
5
+ // import { OFD_PATH } from '../constant';
6
+
7
+ class PagesXml extends OFDElement {
8
+ /**
9
+ * Pages xml文件,以数组存放,存在多页
10
+ * @date 2022/7/27 - 09:41:22
11
+ *
12
+ * @type {Element[]}
13
+ */
14
+ pagesXml: (Element & { PageID: string })[];
15
+ static fileName: string;
16
+ constructor(pagesElements: Element[]) {
17
+ super();
18
+ this.setPagesXml(pagesElements);
19
+ this.pagesXml = [];
20
+ // this.getPages();
21
+ }
22
+
23
+ formatPageXml(pagesFile: (Element & { PageID: string })[]) {
24
+ pagesFile.forEach(item => {
25
+ this.setPages(item);
26
+ });
27
+ }
28
+
29
+ setPagesXml(pageElements: Element[]): void {
30
+ if (pageElements?.length) {
31
+ const pageName = this.OFDCommonQName('Page');
32
+ this.pagesXml = [];
33
+ pageElements.forEach(item => {
34
+ const { attributes, name } = item;
35
+ if (name === pageName && attributes) {
36
+ const { BaseLoc, ID } = attributes;
37
+ const pagePath = replacePathPriex(OFDElement.STLoc, `${BaseLoc}`);
38
+ this.pagesXml.push({
39
+ ...OFDElement.OFDElements[pagePath],
40
+ PageID: String(ID || '')
41
+ });
42
+ }
43
+ });
44
+ // 获取 Page xml 内数据
45
+ this.formatPageXml(this.pagesXml);
46
+ }
47
+ }
48
+
49
+ // getPages() {
50
+ // const res = this.getElements('DocRoot', PagesXml.fileName);
51
+ // console.log('getPages:', res);
52
+ // if (res) {
53
+ // return new DocumnetXml(this.OFDElements, res);
54
+ // }
55
+ // return null;
56
+ // }
57
+ }
58
+
59
+ export default PagesXml;