winform把Office轉(zhuǎn)成PDF文件
先要把word或ppt轉(zhuǎn)換為pdf; 以pdf的格式展示,防止文件拷貝。
轉(zhuǎn)換方法
1、安裝Word、Excel、PowerPoint組件
注意:需安裝Microsoft.Office.Interop.Word\Excel\PowerPoint組件。

程序集如下:

2、轉(zhuǎn)換代碼
(1)將Word轉(zhuǎn)換為pdf:
using Microsoft.Office.Core;
using System;
using System.IO;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using PowerPoint = Microsoft.Office.Interop.PowerPoint;
using Word = Microsoft.Office.Interop.Word;
namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
bool isSuccess = DOCConvertToPDF(Directory.GetCurrentDirectory() + "\\aa.docx", Directory.GetCurrentDirectory() + "\\aa.pdf");
if (isSuccess)
{
pdfViewer1.LoadFromFile(Directory.GetCurrentDirectory() + "\\aa.pdf");
}
}
/// <summary>
/// Word轉(zhuǎn)換成pdf
/// </summary>
/// <param name="sourcePath">源文件路徑</param>
/// <param name="targetPath">目標(biāo)文件路徑</param>
/// <returns>true=轉(zhuǎn)換成功</returns>
public static bool DOCConvertToPDF(string sourcePath, string targetPath)
{
bool result = false;
Word.Application app = new Word.Application();
Word.Document doc = null;
object missing = System.Reflection.Missing.Value;
object saveChanges = Word.WdSaveOptions.wdDoNotSaveChanges;
try
{
app.Visible = false;
doc = app.Documents.Open(sourcePath);
doc.ExportAsFixedFormat(targetPath, Word.WdExportFormat.wdExportFormatPDF);
result = true;
}
catch (Exception ex)
{
result = false;
throw new ApplicationException(ex.Message);
}
finally
{
if (doc != null)
{
doc.Close(ref saveChanges, ref missing, ref missing);
doc = null;
}
if (app != null)
{
app.Quit(ref missing, ref missing, ref missing);
app = null;
}
GC.Collect();
GC.WaitForPendingFinalizers();
}
return result;
}
}
}(2)把Excel文件轉(zhuǎn)換成PDF格式文件
/// <summary>
/// 把Excel文件轉(zhuǎn)換成PDF格式文件
/// </summary>
/// <param name="sourcePath">源文件路徑</param>
/// <param name="targetPath">目標(biāo)文件路徑</param>
/// <returns>true=轉(zhuǎn)換成功</returns>
public static bool XLSConvertToPDF(string sourcePath, string targetPath)
{
bool result = false;
Excel.XlFixedFormatType targetType = Excel.XlFixedFormatType.xlTypePDF;
object missing = Type.Missing;
Excel.Application app = null;
Excel.Workbook book = null;
try
{
app = new Excel.Application();
object target = targetPath;
object type = targetType;
book = app.Workbooks.Open(sourcePath, missing, missing, missing, missing, missing,
missing, missing, missing, missing, missing, missing, missing, missing, missing);
book.ExportAsFixedFormat(targetType, target, Excel.XlFixedFormatQuality.xlQualityStandard, true, false, missing, missing, missing, missing);
result = true;
}
catch (Exception ex)
{
result = false;
throw new ApplicationException(ex.Message);
}
finally
{
if (book != null)
{
book.Close(true, missing, missing);
book = null;
}
if (app != null)
{
app.Quit();
app = null;
}
GC.Collect();
GC.WaitForPendingFinalizers();
}
return result;
}(3)把PowerPoint文件轉(zhuǎn)換成PDF格式文件
///<summary>
/// 把PowerPoint文件轉(zhuǎn)換成PDF格式文件
///</summary>
///<param name="sourcePath">源文件路徑</param>
///<param name="targetPath">目標(biāo)文件路徑</param>
///<returns>true=轉(zhuǎn)換成功</returns>
public static bool PPTConvertToPDF(string sourcePath, string targetPath)
{
bool result = false;
PowerPoint.PpSaveAsFileType targetFileType = PowerPoint.PpSaveAsFileType.ppSaveAsPDF;
object missing = Type.Missing;
PowerPoint.Application app = null;
PowerPoint.Presentation pres = null;
try
{
app = new PowerPoint.Application();
pres = app.Presentations.Open(sourcePath, MsoTriState.msoTrue, MsoTriState.msoFalse, MsoTriState.msoFalse);
pres.SaveAs(targetPath, targetFileType, Microsoft.Office.Core.MsoTriState.msoTrue);
result = true;
}
catch (Exception ex)
{
result = false;
throw new ApplicationException(ex.Message);
}
finally
{
if (pres != null)
{
pres.Close();
pres = null;
}
if (app != null)
{
app.Quit();
app = null;
}
GC.Collect();
GC.WaitForPendingFinalizers();
}
return result;
}到此這篇關(guān)于winform把Office轉(zhuǎn)成PDF文件的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C#將Word轉(zhuǎn)換成PDF方法匯總(基于Office和WPS)
- C#使用iTextSharp操作PDF
- C#實(shí)現(xiàn)將PDF轉(zhuǎn)為Excel的方法詳解
- C#實(shí)現(xiàn)Excel轉(zhuǎn)PDF時(shí)設(shè)置內(nèi)容適應(yīng)頁(yè)面寬度
- C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法
- C#將PPT文件轉(zhuǎn)換成PDF文件
- C#將Excel轉(zhuǎn)成PDF的方法
- C#編程讀取文檔Doc、Docx及Pdf內(nèi)容的方法
- C# 利用Aspose.Words.dll將 Word 轉(zhuǎn)成PDF
相關(guān)文章
c#中的virtual方法及應(yīng)用場(chǎng)景分析
在 C# 中,virtual?關(guān)鍵字用于修飾方法、屬性、索引器或事件,這篇文章主要介紹了c#中的virtual方法及應(yīng)用場(chǎng)景分析,需要的朋友可以參考下2025-03-03
c# 幾種常見(jiàn)的加密方法的實(shí)現(xiàn)
這篇文章主要介紹了c# 幾種常見(jiàn)的加密方法的實(shí)現(xiàn),幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-12-12
C#用Parallel.Invoke方法盡可能并行執(zhí)行提供的每個(gè)線程
本文主要介紹了C#用Parallel.Invoke方法盡可能并行執(zhí)行提供的每個(gè)線程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-01-01
C#實(shí)現(xiàn)的Windows剪貼板監(jiān)視器功能實(shí)例【附demo源碼下載】
這篇文章主要介紹了C#實(shí)現(xiàn)的Windows剪貼板監(jiān)視器功能,結(jié)合實(shí)例形式分析了C#實(shí)現(xiàn)剪貼板監(jiān)視功能所涉及的相關(guān)Windows API函數(shù)與使用技巧,需要的朋友可以參考下2016-08-08

