PCB 批量Word轉PDF實現方法

自上次公司電腦中毒帶來的影響,致使系統自動生成的Word檔PCB出貨報告,經過公司郵件服務器以附件的方式發送給客戶後,客戶是沒法打開或打開緩慢的現象,若是將Word檔轉爲PDF後在客戶端是能夠正常打開的,目前沒找到一個有效的方法解決,先臨時處理辦法,經過Office2013單個打開Word一個一個轉換爲PDF,這樣客戶端就能夠打開了,但報告文檔太多的轉換效率很太慢了。若是有一個批量轉換爲PDF工具就好辦多了,這裏將批量將Word轉PDF實現方法整理以下:html

  一.藉助Spire 組件實現轉PDF

      (1)Spire 組件簡介服務器

             Spire.PDF for .NET支持將HTML,RTF,XPS,文本和圖像轉換爲具備高效性能的PDF文檔。 開發人員能夠將PDF轉換爲Word,XPS,SVG,EMF,JPG,PNG,BMP,TIFF,文本格式。 此外,隨着Spire.Doc for .NET和Spire.XLS for .NET,開發人員能夠將Word(Doc / Docx),Excel(Xls / Xlsx)和XML轉換爲PDF工具

      (2)NuGet下載Spire性能

                

         (3)更多關於Spire 功能詳細介紹spa

                  http://www.noobyard.com/article/p-crmihojz-bu.htmlcode

  二.批量Word轉PDF 成品

       (1)下載地址orm

             http://pcbren.cn/ShareFiles/Word2PDF.rarhtm

     (2)操做方式blog

       

  三.批量Word轉PDF for C#源碼

        (1)源碼下載地址(包含Spire組件DLL)開發

                 http://pcbren.cn/ShareFiles/Word2PDF for C Sharp.rar   

        (2)代碼實現

 static void Main()
        {
            string startPath = Application.StartupPath + @"\word";
            Console.WriteLine("轉換word文件夾 " + startPath);
            Console.WriteLine("word2pdf 開始......");
            Console.WriteLine("==========================================");
            Document document = new Document();
            int okInt = 0;
            int errInt = 0;
            foreach (var item in Directory.GetFiles(startPath))
            {
               var  Extension = Path.GetExtension(item).ToLower();
                if (Extension == ".doc" || Extension == ".docx")
                {
                    try
                    {
                        document.LoadFromFile(item);
                        string pdfpath = Path.GetFileNameWithoutExtension(item) + ".pdf";
                        document.SaveToFile(@"pdf\"+pdfpath, FileFormat.PDF);
                        Console.WriteLine(Path.GetFileName(item) + "  轉換成功");
                        okInt++;
                    }
                    catch (Exception)
                    {
                        Console.WriteLine(Path.GetFileName(item) + "  轉換失敗");
                        errInt++;
                    }
                }
            }
            Console.WriteLine("==========================================");
            Console.WriteLine("word2pdf 結束......");
            Console.WriteLine($"共轉換word【{okInt+ errInt}】個,成功【{okInt}】個,失敗【{errInt}】個");
            Console.ReadKey();
        }