C#调用OFFICE转换WORD,EXCEL,PPT文件为PDF

实践问题:

1. WORD Application.Documents.Open函数返回null的一种解决方法:

http://blog.csdn.net/mss359681091/article/details/51073310

2.WORD Application.Documents.Open函数获取不到对象:

DOCOM设置问题,管理工具-->组件服务-->计算机-->我的电脑--> Docom设置里面扎到 (Microsoft Word 97 - 2003 文档)右击属性在标识-->交互式用户就可以了。重要:在开发的Server程序开发中发现,当把3个Docum(Word,Excel,PowerPoint)及程序服务中属性-->登录-->此账户都设置为管理员账户时,皆可在系统内实现函数获取对象。

3.获取PDF页数:在记事本中打开PDF文件,文件中每一页都有一个特定的标记:"/Type /Page" (根据PDF版本的不同,在两个词之间可能带有空格)。所以,我们只需要计算这个标记在文件里出现了多少次。

首先,我们需要使用FileStream 打开pdf文件,然后使用StreamReader将文档内容作为字符串读取。
    FileStream fs = new FileStream(@"c:\a.pdf", FileMode.Open, FileAccess.Read);
    StreamReader r = new StreamReader(fs);
    string pdfText = r.ReadToEnd();
一旦获取了pdf文本,我们需要做的就是使用正则表达式计算:"/Type /Page" 标记出现的次数。
    Regex rx1 = new Regex(@"/Type\s*/Page[^s]");
    MatchCollection matches = rx1.Matches(pdfText);

    MessageBox.Show("The PDF file has " + matches.Count.ToString() + " page(s).";

在后边的项目实际测试中发现当获取发票文件页数时,这个方法出现不准确的情况,所以后来替换为iTextSharp.dll来实现的。

收藏相关:

Aspose转换方法:http://www.cnblogs.com/softwaredeveloper/p/5359622.html

检测office注册表:
http://blog.sina.com.cn/s/blog_8e9a79230101a6kz.html
http://www.cnblogs.com/TaiYangXiManYouZhe/p/5087248.html

https://www.cnblogs.com/iamlucky/p/5998510.html


wordApp.Documents.Open()获不到对象

wordApp.Documents.Open()获不到对象

你可能感兴趣的:(C#_WIN开发)