最新WPS办公软件学习教程_免费企业办公软件下载_金山WPS Office官网论坛

 找回密码
 
查看: 2394|回复: 79

[.net] 用C#写了个用WPS命令行转PDF的小程序

  [复制链接]

48

主题

33

听众

957

积分

技术分享团长

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

该用户从未签到

金币
482
威望
2234
帖子
325
精华
1

重阳节勋章 技术分享团

发表于 2012-8-10 10:29 |显示全部楼层
分享到: 新浪微博 腾讯微博

这里是V9的版本http://bbs.wps.cn/thread-22434594-1-1.html



因为自动构建的时候需要把Word文档转成pdf发布,网上找了好多工具转出来效果都不好,还要装一大堆东西。
然后想起WPS可以二次开发,所以就用C#调WPS的COM对象写了个命令行程序把WPS/Word文档转换成PDF。

源码和生成文件都附上,VS2010项目,用的4.0框架(其实2.0就行了),快盘上去下载
http://www.kuaipan.cn/file/id_53008486367449.htm


已有 2 人评分威望 收起 理由
翘尾的k + 10 WPS有你更精彩!
LuciferStar + 10 十分赞!

总评分: 威望 + 20   查看全部评分

38

主题

11

听众

3735

积分

版主

PHP+MING

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

该用户从未签到

金币
182
威望
8743
帖子
1429
精华
1
发表于 2012-8-11 08:26 |显示全部楼层
  1. using System;
  2. using System.IO;
  3. using WPS;

  4. namespace WpsToPdf
  5. {
  6. class Wps2Pdf: IDisposable
  7. {
  8. Application wps;

  9. public Wps2Pdf()
  10. {
  11. wps = new Application();
  12. }

  13. public void ToPdf(string wpsFilename, string pdfFilename = null)
  14. {
  15. if (wpsFilename == null) { throw new ArgumentNullException("wpsFilename"); }

  16. if (pdfFilename == null)
  17. {
  18. pdfFilename = Path.ChangeExtension(wpsFilename, "pdf");
  19. }

  20. Console.WriteLine(string.Format(@"正在转换 [{0}]
  21. -> [{1}]", wpsFilename, pdfFilename));

  22. Document doc = wps.Documents.Open(wpsFilename, Visible : false);
  23. doc.ExportPdf(pdfFilename);
  24. doc.Close();
  25. }

  26. public void Dispose()
  27. {
  28. if (wps != null) { wps.Terminate(); }
  29. }
  30. }
  31. }
复制代码
帮楼主贴一点代码上来。
真是简单方便得要命!{:soso_e142:}
回复

使用道具 举报

1

主题

0

听众

13

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
16
帖子
3
精华
0
发表于 2012-8-15 20:08 |显示全部楼层
在word转pdf的时候,字体问题你是如何解决的,我做了一个,转换之后,字体会,搞得很乱,有解决办法吗,谢谢!

点评

边城狂人  Word转PDF……没怎么用。不过应该有一个嵌入字体的选项,可以将字体嵌入,这样在没有字体的机器上也可以正常显示。  详情 回复 发表于 2012-8-20 19:36
回复

使用道具 举报

46

主题

27

听众

2019

积分

LV.8

Rank: 8Rank: 8

签到天数: 10 天

[LV.3]偶尔看看II

金币
594
威望
5289
帖子
673
精华
0

技术分享团 优秀会员奖 技巧教程分享达人

发表于 2012-8-16 09:59 |显示全部楼层


看看哦有用
回复

使用道具 举报

1

主题

0

听众

9

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
8
帖子
3
精华
0
发表于 2012-8-16 14:24 |显示全部楼层
微软OFFICE 2007安一个另存为PDF插件就可以另存为PDF了,也很方便吧,那个插件还不到1M
回复

使用道具 举报

153

主题

109

听众

1万

积分

解答支持团长

老菜鸟

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

签到天数: 240 天

[LV.8]以坛为家I

金币
1254
威望
25965
帖子
10314
精华
1

活跃会员奖 解答支持团 测试体验团 乐于助人奖 优秀会员奖

发表于 2012-8-17 15:14 |显示全部楼层
楼主的目的在于程序自动调用wps功能完成转换,从而替代msoffice
回复

使用道具 举报

48

主题

33

听众

957

积分

技术分享团长

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

该用户从未签到

金币
482
威望
2234
帖子
325
精华
1

重阳节勋章 技术分享团

发表于 2012-8-20 19:34 |显示全部楼层
Office 2010自带PDF转换。WPS也可以通过“另存为”来转PDF。不过这些都需要通过手工操作,不适合在自动过程中使用,所以才写这么个小插件,正如楼上所说。
不过这东西不是用来代替MSOffice的,这东西只是借用了WPS转PDF的功能,只不过通过命令行的方式实现而已。
MS Office也可以通过类似的方式实现命令行下转PDF的。
回复

使用道具 举报

48

主题

33

听众

957

积分

技术分享团长

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

该用户从未签到

金币
482
威望
2234
帖子
325
精华
1

重阳节勋章 技术分享团

发表于 2012-8-20 19:36 |显示全部楼层
lyzhu 发表于 2012-8-15 20:08
在word转pdf的时候,字体问题你是如何解决的,我做了一个,转换之后,字体会,搞得很乱,有解决办法吗,谢 ...

Word转PDF……没怎么用。不过应该有一个嵌入字体的选项,可以将字体嵌入,这样在没有字体的机器上也可以正常显示。
回复

使用道具 举报

1

主题

0

听众

4

积分

LV.1

Rank: 1

该用户从未签到

金币
0
威望
9
帖子
1
精华
0
发表于 2013-5-12 20:05 |显示全部楼层
好东西!!!
回复

使用道具 举报

5

主题

0

听众

99

积分

LV.2

Rank: 2

签到天数: 1 天

[LV.1]初来乍到

金币
35
威望
237
帖子
42
精华
0
发表于 2013-5-30 12:26 |显示全部楼层
做个标记,以便仔细学习。
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 更多账号登录:

快速回帖:

fastpost

WPS论坛更新日志|WPS Office官方论坛     

GMT+8, 2017-12-14 18:10

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部