WEB开发网
开发学院软件开发Java ODFDOM for Java:简化文档及其数据的程序控制,第... 阅读

ODFDOM for Java:简化文档及其数据的程序控制,第 2 部分

 2010-05-05 00:00:00 来源:WEB开发网   
核心提示: 包层功能包层提供以下功能:在包层操作文档,直接访问物理存储,ODFDOM for Java:简化文档及其数据的程序控制,第 2 部分(3),这些操作包括从文档包中获取某个文件输入流、更新、插入或删除文件流以及其他基本操作,这一层为用于打开、保存或修改 ODF 文档的便利层 API 提供基础,注意

包层功能

包层提供以下功能:

在包层操作文档,直接访问物理存储。这些操作包括从文档包中获取某个文件输入流、更新、插入或删除文件流以及其他基本操作。

这一层为用于打开、保存或修改 ODF 文档的便利层 API 提供基础,让便利层可以只处理文档层操作,而不需要处理包层活动。

处理 META-INF\manifest.xml 的解析和构造。包层不但读写 XML 流,还要处理 META-INF\manifest.xml 的内容。根据 ODF manifest 模式,这个文件列出 ODF 包中包含的所有文件流。

包层还负责解析和构造 manifest.xml 文件,以及在插入图像或修改其他文件流时更新这个文件。

如果 ODF 文档已经加密或数字签名,那么 manifest.xml 文件是不加密的;它保存每个加密文件流的密钥和摘要。当前 ODFDOM 不支持这个功能。

执行惰性装载。在导入 ODF 文档时,并不需要把包中的所有文件流都装载到内存中。例如,如果只希望在 ODF 文本文档中添加一个句子,就需要修改两个文件流 content.xml 和 META-INF/manifest.xml,所以只需装载这两个文件。

包层读取装载的文件流。如果文件流是 XML 格式的,DOM 层就根据 ODF 规范解析它并在内存中构造 DOM 树。

用户使用便利层 API 修改文档之后,触发保存操作,包层把修改后的内容 DOM 转换为输出流,覆盖原来的 content.xml 并更新 manifest.xml。

可以独立于上面的层单独使用包层,用户可以在流或包级修改 ODF 文档。

清单 1 给出一个简单的包层 API 示例,它把一个图像插入 sample.odt 包。注意,这段示例代码只把图像插入 ODF 包,而没有把图像引用插入文档内容。

清单 1. 把图像插入 ODF 包的代码(包层 API)

上一页  1 2 3 4 5 6 7 8  下一页

Tags:ODFDOM for Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接