PCB 批量Word转PDF实现方法

自上次公司电脑中毒带来的影响,导致系统自动生成的Word档PCB出货报告,通过公司邮件服务器以附件的方式发送给客户后,客户是无法打开或打开缓慢的现象,如果将Word档转为PDF后在客户端是可以正常打开的,目前没找到一个有效的方法解决,先临时处理办法,通过Office2013单个打开Word一个一个转换为PDF,这样客户端就可以打开了,但报告文档太多的转换效率很太慢了。如果有一个批量转换为PDF工具就好办多了,这里将批量将Word转PDF实现方法整理如下:

  一.借助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 功能详细介绍

                  https://www.cnblogs.com/pengze0902/p/6125570.html

  二.批量Word转PDF 成品

       (1)下载地址

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

     (2)操作方式

       

  三.批量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();
        }

 

posted @ 2019-01-05 19:29  pcbren  阅读(808)  评论(0编辑  收藏  举报