2,517 views
首页 > 技术心得 > 一个复合文档查看器

一个复合文档查看器

2007年12月2日

用 ATL 和 WTL 写的复合文档查看器, 因为微软 10 多年前写的 DocFile viewer 打包在 VC6 之中, 但后来一直没有更新过, 使用极度不便, 所以我一气之下自己写了一个, 主要是改善了可操作性.

包括多文档, 左右分隔窗分别显示树状图和流数据, 支持导出某一个流或者某一个存储, 以方便使用者提取自己想要的数据.

测试过 office 系列软件生成的复合文档以及我自己弄的复合文档, 均通过测试, 如果使用者发现了不能正常工作的文档, 请提交给我, 帮助我修正缺陷.

有任何建议也请告诉我. 我会斟酌采纳的, 并在随后的某个时候将其做到程序之中.

程序的下载地址是: docfileview

项目的主页是 http://sourceforge.net/projects/winutilities/

更新:

  • 2010.09.05 添加插入/删除流和存储的功能

延伸阅读:
复合文档的二进制存储格式研究 或者 网页版

技术心得 , ,

  1. ww
    2010年5月15日14:22 | #1

    我正在研究复合文档,您提供的程序缺个头文件#include “atlres.h” 请问可否发到我邮箱wwx_mail@163.com 不胜感激

  2. free2000fly
    2010年5月15日20:32 | #2

    @ww
    下载一份 WTL !!!!

  3. awang
    2010年9月2日21:05 | #3

    谢谢!要是能加一个用外部文件来替换文档里的流的话就更好用了

  4. 2010年9月5日00:34 | #4

    @awang
    已经添加上了所建议的功能.

  5. 2011年2月25日11:30 | #5

    文章写的不错呀~

  6. liyangsj
    2011年3月3日20:36 | #6

    关于docfileview软件的使用,感觉您对复合文档很了解,很希望能与您探讨复合文档知识,不知道如何联系您,可以留个QQ号码吗?我的QQ 247318188 希望能得到您的帮助。

  7. 2011年3月6日15:31 | #7

    @liyangsj 哦,复合文档的细节在本文的延伸阅读里啊,自己先看吧. 其实本程序不涉及那些细节,仅仅是对微软实现的用于操纵复合文档的 COM 接口的利用, 更多的是对 COM 技巧的展示.

  8. liyangsj
    2011年3月17日14:13 | #8

    复合文档的细节在本文的延伸 没有找到。docfileview您已经加入了导出一个storage 可以加入导入整个storage,不然一个一个增加流很麻烦(当用公式的word文档中)。谢谢。

  9. liyangsj
    2011年3月17日14:16 | #9

    复合文档的二进制存储格式研究 看到了,谢谢,不知可否增加直接导入storage功能。

  10. 2011年3月18日21:49 | #10

    @liyangsj
    可以将一个文件夹整个导入, 这个主意你觉得怎样? 你认同的话, 就把它作为你的一个练习怎样? 源代码就在那.

  11. liyangsj
    2011年3月22日17:10 | #11

    谢谢,我的意思想:将一个文档中storage 全部导出 想移植到其他文档中去,当然还需要手动修改些参数。不知什么时候能将软件放上来?不知可留下您的QQ, 我的是247318188

  12. 2011年3月23日20:25 | #12

    @liyangsj
    很简单啊,1.从源复合文档读出 storage, 2.打开目标文档, 3.将 storage 写入进去.

  1. 目前还没有任何 trackbacks 和 pingbacks.