一、添加引用

using Microsoft.Office.Interop.Word;

二、转换方法

1、方法

C# 代码

/// <summary>

/// 把Word文件转换成pdf文件

/// </summary>

/// <param name="sourcePath">需要转换的文件路径和文件名称</param>

/// <param name="targetPath">转换完成后的文件的路径和文件名名称</param>

/// <returns>成功返回true,失败返回false</returns>

public static bool WordToPdf(string sourcePath, string targetPath)

{

bool result = false;

WdExportFormat wdExportFormatPDF = WdExportFormat.wdExportFormatPDF;//转换格式

1.wdExportFormatPDF转换成pdf格式 2.wdExportFormatXPS转换成xps格式

object missing = Type.Missing;

Microsoft.Office.Interop.Word.ApplicationClass applicationClass = null;

Document document = null;

try

{

applicationClass = new Microsoft.Office.Interop.Word.ApplicationClass();

object inputfileName = sourcePath;//需要转格式的文件路径

string outputFileName = targetPath;//转换完成后PDF或XPS文件的路径和文件名名称

WdExportFormat exportFormat = wdExportFormatPDF;//导出文件所使用的格式

bool openAfterExport = false;//转换完成后是否打开

WdExportOptimizeFor wdExportOptimizeForPrint =

WdExportOptimizeFor.wdExportOptimizeForPrint;//导出方式1.wdExportOptimizeForPrint针对打印进

行导出,质量较高,生成的文件大小较大。2.wdExportOptimizeForOnScreen 针对屏幕显示进行导出,

质量较差,生成的文件大小较小。

WdExportRange wdExportAllDocument = WdExportRange.wdExportAllDocument;//导出全

部内容(枚举)

int from = 0;//起始页码

int to = 0;//结束页码

WdExportItem wdExportDocumentContent = WdExportItem.wdExportDocumentContent;//

指定导出过程中是否只包含文本或包含文本的标记.1.wdExportDocumentContent:导出文件没有标记,2.

导出文件有标记

bool includeDocProps = true;//指定是否包含新导出的文件在文档属性

bool keepIRM = true;//

WdExportCreateBookmarks wdExportCreateWordBookmarks =

WdExportCreateBookmarks.wdExportCreateWordBookmarks;//1.wdExportCreateNoBookmarks:不要在导

出文件中创建书签,2.wdExportCreateHeadingBookmarks:标题和文本框导出的文件中创建一个书签,

3.wdExportCreateWordBookmarks每个字的书签,其中包括除包含页眉和页脚中的所有书签导出的文件中

创建一个书签。

bool docStructureTags = true;

bool bitmapMissingFonts = true;

bool UseISO19005_1 = false;//生成的文档是否符合 ISO 19005-1 (PDF/A)

document = applicationClass.Documents.Open(ref inputfileName, ref missing, ref

missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref

missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

if (document != null)

{

document.ExportAsFixedFormat(outputFileName, exportFormat, openAfterExport,

wdExportOptimizeForPrint, wdExportAllDocument, from, to, wdExportDocumentContent,

includeDocProps, keepIRM, wdExportCreateWordBookmarks, docStructureTags,

bitmapMissingFonts, UseISO19005_1, ref missing);

}

result = true;

}

catch

{

result = false;

}

finally

{

if (document != null)

{

document.Close(ref missing, ref missing, ref missing);

document = null;

}

if (applicationClass != null)

{

applicationClass.Quit(ref missing, ref missing, ref missing);

applicationClass = null;

}

}

return result;

}

2、简洁方法

C# 代码

/// <summary>

/// 把Word文件转换成pdf文件

/// </summary>

/// <param name="sourcePath">需要转换的文件路径和文件名称</param>

/// <param name="targetPath">转换完成后的文件的路径和文件名名称</param>

/// <returns>成功返回true,失败返回false</returns>

public static bool WordToPdf(object sourcePath, string targetPath)

{

bool result = false;

WdExportFormat wdExportFormatPDF = WdExportFormat.wdExportFormatPDF;

object missing = Type.Missing;

Microsoft.Office.Interop.Word.ApplicationClass applicationClass = null;

Document document = null;

try

{

applicationClass = new Microsoft.Office.Interop.Word.ApplicationClass();

document = applicationClass.Documents.Open(ref sourcePath, ref missing, ref

missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref

missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);

if (document != null)

{

document.ExportAsFixedFormat(targetPath, wdExportFormatPDF, false,

WdExportOptimizeFor.wdExportOptimizeForPrint, WdExportRange.wdExportAllDocument, 0, 0,

WdExportItem.wdExportDocumentContent, true, true,

WdExportCreateBookmarks.wdExportCreateWordBookmarks, true, true, false, ref missing);

}

result = true;

}

catch

{

result = false;

}

finally

{

if (document != null)

{

document.Close(ref missing, ref missing, ref missing);

document = null;

}

if (applicationClass != null)

{

applicationClass.Quit(ref missing, ref missing, ref missing);

applicationClass = null;

}

}

return result;

}

三、调用

OfficeToPdf.WordToPdf("d:\\1234.doc", "d:\\1234.pdf");

ASP.NET将word文档转换成pdf的代码的更多相关文章

  1. Python将word文档转换成PDF文件

    如题. 代码: ''' #將word文档转换为pdf文件 #用到的库是pywin32 #思路上是调用了windows和office功能 ''' #导入所需库 from win32com.client ...

  2. Java利用aspose-words将word文档转换成pdf(破解 无水印)

    首先下载aspose-words-15.8.0-jdk16.jar包 http://pan.baidu.com/s/1nvbJwnv 引入jar包,编写Java代码 package doc; impo ...

  3. asp.net将ppt文档转换成pdf

    一.添加引用 using Microsoft.Office.Core;using Microsoft.Office.Interop.PowerPoint; 二.转换方法   C# 代码   复制 // ...

  4. Java实现批量将word文档转换成PDF

    先导入words的jar包 需要jar包的私聊我发你 代码如下:import com.aspose.words.Document;import java.io.File; public class W ...

  5. C# word文档转换成PDF格式文档

    最近用到一个功能word转pdf,有个方法不错,挺方便的,直接调用即可,记录下 方法:ConvertWordToPdf(string sourcePath, string targetPath) so ...

  6. word ppt excel文档转换成pdf

    1.把word文档转换成pdf (1).添加引用 using Microsoft.Office.Interop.Word; 添加引用 (2).转换方法 /// <summary> /// ...

  7. C#实现文档转换成PDF

    网上有很多将doc.ppt.xls等类型的文档转换成pdf的方法,目前了解到的有两大类: 1.使用虚拟打印机将doc.ppt.xls等类型的文档 2.使用OFFICE COM组件 我采用了第二种方法实 ...

  8. JAVA:借用OpenOffice将上传的Word文档转换成Html格式

    为什么会想起来将上传的word文档转换成html格式呢?设想,如果一个系统需要发布在页面的文章都是来自word文档,一般会执行下面的流程:使用word打开文档,Ctrl+A,进入发布文章页面,Ctrl ...

  9. OpenOffice Word文档转换成Html格式

    为什么会想起来将上传的word文档转换成html格式呢?设想,如果一个系统需要发布在页面的文章都是来自word文档,一般会执行下面的流程:使用word打开文档,Ctrl+A,进入发布文章页面,Ctrl ...

随机推荐

  1. Unix环境编程之定时、信号与中断

    在linux下实现精度较高的定时功能,需要用到setitimer 和 getitimer函数. 函数原型: #include <sys/time.h> int getitimer(int ...

  2. posix 线程(一):线程模型、pthread 系列函数 和 简单多线程服务器端程序

    posix 线程(一):线程模型.pthread 系列函数 和 简单多线程服务器端程序 一.线程有3种模型,分别是N:1用户线程模型,1:1核心线程模型和N:M混合线程模型,posix thread属 ...

  3. 2014--9=17 软工二班 MyEclipse blue==3

    package cn.rwkj.test; import java.io.IOException; import java.io.InputStream; import java.net.Server ...

  4. Android listview的item设定高度

    在item的layout文件中,用android:layout_height设置item的高度.运行,高度设置无效. 解决办法: 给item设定minHeight,即可. -------------- ...

  5. 聊聊HTTPS和SSL/TLS协议 分类: 计算机网络 2015-07-11 21:41 4人阅读 评论(0) 收藏

    要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识. 1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义 2. 大致了解 HTTP 和 TCP 的关系(尤其是"短连接 ...

  6. excel文档

    1.快速统计行数(ctrl+Shift+(方向键向下)). bson数据类型 留个影响 public enum BsonType { Double = 0x01, String = 0x02, Doc ...

  7. hive学习笔记——表的基本的操作

    1.hive的数据加载方式 1.1.load data 这中方式一般用于初始化的时候 load data [local] inpath '...' [overwrite] into table t1 ...

  8. shell/bash 交集、并集、差集

    方法一(直接用文件名):取两个文本文件的并集.交集.差集并:sort -m <(sort file1 | uniq) <(sort file2 | uniq) | uniq交:sort - ...

  9. 为什么要CGI

    1.微软为什么使用CGI? 微软曾经在不同场合极力推荐它的ASP技术,以取代CGI标准,这对微软当然是有利的,但是对一个网站来说ASP是不是一个明智的选择呢?这是一个值得大家深思熟虑的问题. 因为一旦 ...

  10. 使用Java VisualVM监控远程JVM

    我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...