工作需要用到Aspose.Words这个库,使用官方提供了一个“文档浏览器”(DocumentExplorer)过程中遇到的一些问题

官方提供的是源码 ,于是在网上找编译好的版本 ,找了一圈没找到免费的版本 ,于是自己clone code 编译

点击下载 (opens new window)

去官方示例仓库下载源码

github地址 (opens new window)

下载Visual Studio

下载地址 (opens new window)

安装选了*.NET桌面开发* 和 Visual Studio 拓展开发

安装位置改到D盘 ,占用磁盘资源还是比较大的

编译运行

vs中打卡示例项目下的/Examples/DocsExamples/DocsExamples.sln

直接点击启动就运行了 ,在项目目录下的/bin/Debug下就是编译出来的可以直接运行了

文件打包成单文件

如果把文件打包成单文件就更方便了 ,搜索了一下打包方法

使用工具里面的NuGet包管理器 ,搜索fody ,选择Costura.Fody ,右边选择DocumentExplorer然后点击安装

重新编译一次 ,发现是去掉了不少包 😏

优化体积

编译出来的文件比较大 ,在NuGet中发现有一些包在DocumentExplorer中并没有用到 ,于是把一些和DocumentExplorer无关的包都卸载掉 ,体积又变小了点😄

添加点击Shape显示图片

点击Shape的时候右边窗口不会显示图片 ,添加显示图片

设计中添加一个pictureBox ,默认不显示

在左边节点的选中事件中添加MainForm#Tree_AfterSelect

if ("Shape".Equals(selectedItem.Name))
{
    Shape shape = (Shape)selectedItem.Node;
    string ex = FileFormatUtil.ImageTypeToExtension(shape.ImageData.ImageType);
    string fileName = string.Format("{0}{1}", DateTime.Now.ToString("HHmmssfff"), ex);
    string path = Path.GetTempPath() + fileName;
    shape.ImageData.Save(path);
    this.pictureBox1.Load(path);
    this.pictureBox1.Visible = true;
}
else {
    this.pictureBox1.Visible = false;
}

当点击左边节点的时候如果节点是Shape就是图片 ,获取到图片的数据 ,把图片存到临时目录 ,然后加载到pictureBox中 ,然后显示 ,点击其他节点的时候就隐藏

去掉水印

学习过程中发现用软件打doc文档 ,发现会在Section节点的最后加HeaderFooter节点,一个是文字 ,一个是水印 ,尝试删除节点 ,没有效果 ,想去掉水印应该没有这么简单

百度查找了一下怎么去掉 ,没整出来😝