当然使用Aspose.Words.dll不仅仅可以操作word,还可以操作Excel, PowerPoint等office文档以及PDF文档,不用安装任何的支持插件都能运行,使用它操作word转pdf比较简单,但在使用过程中发现两个问题,后面补充说明
操作步骤如下:
1 下载Aspose.Words.dll类库,下载地址为(里面包括了下面演示的word文档):
链接:https://pan.baidu.com/s/13074s_W84Bm21yv6XY715w 提取码:ax1s
2 新建控制台项目,名为WordToPdf,接着并把需要转换的word文档放到工程目录下的bin/Debug目录下,并编辑代码如下:
using Aspose.Words;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace WordToPdf
{
class Program
{
static void Main(string[] args)
{
Document doc = new Document("雪花算法2.doc");
doc.Save("已转换_雪花算法.pdf", SaveFormat.Pdf);
Console.WriteLine("保存完成");
Console.ReadKey();
}
}
}
如果你使用我提供的名为"雪花算法2.doc"的word文档,运行代码一点问题都没有,但你使用我提供的名为"雪花算法1.doc",运行就会报
无法将类型为“x1a62aaf14e3c5909.xf6779bbc50998d69”的对象强制转换为类型“x1a62aaf14e3c5909.xd959c7c7ca733332”。
这样的错误,但诡异的是里面的内容是一模一样的,但在"雪花算法1.doc"的最前面加点文字,这样又能转换了,一开始我怀疑有特殊符号影响或者最前面有图片的影响,但经测试并不是。
同时,使用它做转换还有一个比较大的缺点,就是转换后的pdf文档没有了word原来的格式(我发现的是转换后的pdf文档中的行宽变了)