2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C#调用OFFICE转换WORD EXCEL PPT文件为PDF

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

时间:2021-01-02 02:54:16

相关推荐

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

实践问题:

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

WORD Application.Documents.Open函数返回null的一种解决方法_李赛赛的专栏-CSDN博客

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

DOCOM设置问题,管理工具-->组件服务-->计算机-->我的电脑--> Docom设置里面扎到 (Microsoft Word 97 - 文档)右击属性在标识-->交互式用户就可以了。重要:在开发的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转换方法:无法嵌入互操作类型“Microsoft.Office.Interop.Word.ApplicationClass”。请改用适用的接口。 - 想念熊小米 - 博客园

检测office注册表:

Win764位注册表与32位注册表的区别_又见云鬼_新浪博客

C# 32位程序访问64位注册表 - 太阳系漫游者 - 博客园

C# 32位程序在64位系统下注册表操作 - 堕落天才 - 博客园

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。