黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

【源碼】C#開發(fā)之Word批量轉(zhuǎn)PDF

系統(tǒng) 2554 0

微軟Office Word本身已經(jīng)提供了另存為PDF文檔功能,對于少量文檔,手工使用該方式進(jìn)行Word轉(zhuǎn)換為PDF尚可,一旦需要處理大量的文檔,可能就顯得有些捉襟見肘了。不過對于已經(jīng)安裝有Office環(huán)境,借助一些簡單的代碼即可實現(xiàn)批量Word轉(zhuǎn)PDF了。

源碼奉上:

      using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Diagnostics;

using System.IO;

using System.Text;

using System.Threading;

using Microsoft.Office.Interop.Word;



namespace Word2Pdf

{

    class Program

    {

        public static Microsoft.Office.Interop.Word.Document wordDocument { get; set; }



        static void Main(string[] args)

        {

            string strFolder_f = null;

            string strFolder_t = null;

            string strFlag = null;

            System.Console.WriteLine("請輸入Word文檔所在目錄");

            strFolder_f = System.Console.ReadLine();

            if (strFolder_f.Substring(strFolder_f.Length - 1, 1) != "\\")

            {

                strFolder_f += "\\";

            }

            strFolder_t = strFolder_f + @"pdf\";

            System.Console.WriteLine("\n創(chuàng)建PDF文檔,請確認(rèn)!");

            System.Console.Write("y(yes) or n(no) ?  ");

            strFlag = System.Console.ReadLine();

            if (strFlag == "y")

            {

                System.Console.WriteLine("\n開始創(chuàng)建PDF文檔...");

                CheckFolder(strFolder_t);

                string strPdfFile = null;

                DirectoryInfo TheFolder = new DirectoryInfo(strFolder_f);



                Microsoft.Office.Interop.Word.Application appWord = new Microsoft.Office.Interop.Word.Application();

                object paramMissing = Type.Missing;



                foreach (FileInfo NextFile in TheFolder.GetFiles())

                {

                    strPdfFile = Path.ChangeExtension(strFolder_t + NextFile.Name, ".pdf");

                    wordDocument = appWord.Documents.Open(NextFile.FullName);

                    if (wordDocument != null)

                    {

                        wordDocument.ExportAsFixedFormat(strPdfFile, WdExportFormat.wdExportFormatPDF);

                        wordDocument.Close(ref paramMissing, ref paramMissing, ref paramMissing);

                        wordDocument = null;

                    }

                    System.Console.Write(".. ");

                }



                if (appWord != null)

                {

                    appWord.Quit(ref paramMissing, ref paramMissing, ref paramMissing);

                    appWord = null;

                }

            }



            //KillProcessByName("WINWORD");

            GC.Collect();

            GC.WaitForPendingFinalizers();



            System.Console.Write("\n處理完畢,輸入任意鍵退出");

            System.Console.ReadKey();

        }



        static void CheckFolder(string strFolderPath)

        {

            if (Directory.Exists(strFolderPath))

            {

                Directory.Delete(strFolderPath, true);

                Directory.CreateDirectory(strFolderPath);

            }

            else

            {

                Directory.CreateDirectory(strFolderPath);

            }

        }



        static void KillProcessByName(string name)

        {

            Process[] ps = Process.GetProcessesByName(name);

            foreach (Process p in ps)

            {

                if (p.ProcessName == name)

                    p.Kill();

            }

        }

    }

}
    

需要注意的兩個問題:①及時關(guān)閉代碼中所打開的文檔,見49行,否則會產(chǎn)生臨時文件;②及時關(guān)閉“WINWORD”線程,否則所處理的Word文檔會一直處于被該線程占用的情況。

?

?

【源碼】C#開發(fā)之Word批量轉(zhuǎn)PDF


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論