C#简单实现office转pdf、pdf转图片.docx
文本预览下载声明
HYPERLINK /bach-gould/archive/2011/10/11/2207545.html C#简单实现office转pdf、pdf转图片
国庆放假前,公司有个项目里要用到office、pdf以及图片的互转,自己以前没有接触过,所以整理了网上林林总总的办法,也算是总结出了最简单有效的办法:office - pdf 应用Adobe Acrobat 8 Pro的一个PDFMakerAPI.dll程序集;pdf - png(jpg,gif...)应用Ghostscript。下面详述说明:
一、准备工作:
1.安装Adobe Acrobat 8 Pro,本人安装的是8.1.2版本,在你的安装目录下(例如我自己的:C:\Program Files\Adobe\Acrobat 8.0\PDFMaker\Common\)common目录中找到PDFMakerAPI.dll程序集,拷贝出到项目中放DLL的文件夹(此文件夹为用户保存DLL文件的文件夹,名称以自己项目为准),并在项目里对其添加引用。
2.安装Ghostscript,本人安装的是8.63版本,需要用的的其他DLL:FontBox-0.1.0-dev.dll,IKVM.GNU.Classpath.dll,IKVM.Runtime.dll,PDFBox-0.7.3.dll,其中IKVM.GNU.Classpath.dll,PDFBox-0.7.3.dll要在项目里对其添加引用,其他两个(4个dll均放到)放到DLL文件夹里即可。
3.为Ghostscript配置Web.config:
appSettings??? add key=GhostScriptView value=C:/Program Files/gs/gs8.63/bin/??? add key=GhostScriptArguments value=-dSAFER -dBATCH -dNOPAUSE -r150 -sDEVICE=jpeg -dGraphicsAlphaBits=4//appSettings
找到自己对应的Ghostscript安装目录,自行修改。
二、应用:
1.office - pdf
引用命名空间:using PDFMAKERAPILib;关键代码如下:
HYPERLINK /bach-gould/archive/2011/10/11/2207545.html ?
1
2
3
4
5
6
7
8///
///参数:docfile,源office文件绝对路径及文件名(C:\office\myDoc.doc);printpath,pdf文件保存路径(D:\myPdf);printFileName,保
///存pdf文件的文件名(myNewPdf.pdf)
///
?
?objectmissing = System.Type.Missing;
?PDFMakerAppapp = new PDFMakerApp();
?app.CreatePDF(docfile, printpath + printFileName, PDFMakerSettings.kConvertAllPages, false, true, true, missing);2.pdf- 图片
引用命名空间:using org.pdfbox.pdmodel;关键代码如下:
HYPERLINK /bach-gould/archive/2011/10/11/2207545.html ?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49///
/// param name=pdfFilePDF文档物理路径/param
/// param name=imgPath转换成的图片文件的存放物理路径/param
///
???????public static void PdfToImages(string pdfFile, string imgPath)
????????{
????????????PDDocument doc = PDDocument.load(pdfFile);
????????????int pageCount = doc.getDocumentCatalog().getAllPages().size();//计算pdf文档的总页数
?
????????????string pdfFileName = Path.GetFileName(pdfFile);
显示全部