工作需要用到Aspose.Words这个库,使用官方提供了一个“文档浏览器”(DocumentExplorer)过程中遇到的一些问题
官方提供的是源码 ,于是在网上找编译好的版本 ,找了一圈没找到免费的版本 ,于是自己clone code 编译
去官方示例仓库下载源码
下载Visual Studio
安装选了*.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节点,一个是文字 ,一个是水印 ,尝试删除节点 ,没有效果 ,想去掉水印应该没有这么简单
百度查找了一下怎么去掉 ,没整出来😝