Word PDF转图片

原创 2017年03月16日 17:50:22
    private void ToImage(string fileInputPath, out List<string> imgPaths)
    {
        fileInputPath = MapPath(fileInputPath);
        imgPaths = new List<string>();
        MemoryStream stream = new MemoryStream();
        if (Path.GetExtension(fileInputPath).ToLower().Contains("doc") || Path.GetExtension(fileInputPath).ToLower().Contains("docx"))
        {

            WordToImage(fileInputPath, "/temp/", 0, 0, 0, out imgPaths);
        }
        else if (Path.GetExtension(fileInputPath).ToLower().Contains("pdf"))
        {
            PDFToImage(fileInputPath, "/temp/", 0, 0, 0, out imgPaths);
        }
        else
        {

        }

        //Response.ClearContent();
        //Response.ContentType = "image/jpeg";
        //Response.BinaryWrite(stream.ToArray());
        //stream.Dispose();
        ////System.IO.File.Delete(Server.MapPath("/a.jpg"));
        //Response.End();

    }
    /// <summary>
    ///  将pdf文档转换为图片的方法  
    /// </summary>
    /// <param name="originFilePath">pdf文件路径</param>  
    /// <param name="startPageNum">从PDF文档的第几页开始转换,如果为0,默认值为1</param>  
    /// <param name="endPageNum">从PDF文档的第几页开始停止转换,如果为0,默认值为pdf总页数</param>         
    /// <param name="resolution">设置图片的像素,数字越大越清晰,如果为0,默认值为128,建议最大值不要超过1024</param>  
    /// <returns></returns>
    private void PDFToImage(string originFilePath, string newImagePath, int startPageNum, int endPageNum, int resolution, out List<string> imagePaths)
    {
        imagePaths = new List<string>();
        try
        {
            Aspose.Pdf.Document doc = new Aspose.Pdf.Document(originFilePath);
            if (resolution <= 0)
            {
                resolution = 128;
            }
            string imageNamePrefix = Path.GetFileNameWithoutExtension(originFilePath);
            if (startPageNum <= 0)
            {
                startPageNum = 1;
            }

            if (endPageNum > doc.Pages.Count || endPageNum <= 0)
            {
                endPageNum = doc.Pages.Count;
            }

            if (startPageNum > endPageNum)
            {
                int tempPageNum = startPageNum; startPageNum = endPageNum; endPageNum = startPageNum;
            }

            if (resolution <= 0)
            {
                resolution = 128;
            }
            if (!System.IO.Directory.Exists(Server.MapPath(newImagePath)))
            {
                System.IO.Directory.CreateDirectory(Server.MapPath(newImagePath));
            }
            for (int i = startPageNum; i <= endPageNum; i++)
            {
                MemoryStream stream = new MemoryStream();
                Aspose.Pdf.Devices.Resolution reso = new Aspose.Pdf.Devices.Resolution(resolution);
                Aspose.Pdf.Devices.JpegDevice jpegDevice = new Aspose.Pdf.Devices.JpegDevice(reso, 100);
                jpegDevice.Process(doc.Pages[i], stream);
                System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
                Bitmap bm = new Bitmap(img);
                var name = newImagePath + DateTime.Now.Ticks + ".png";
                imagePaths.Add(name);
                bm.Save(Server.MapPath(name), ImageFormat.Png);
            }
        }
        catch (Exception ex)
        {
        }
    }

    private void WordToImage(string originFilePath, string newImagePath, int startPageNum, int endPageNum, int resolution, out List<string> imagePaths)
    {
        imagePaths = new List<string>();
        try
        {
            Aspose.Words.Document doc = new Aspose.Words.Document(originFilePath);
            if (resolution <= 0)
            {
                resolution = 128;
            }
            string imageNamePrefix = Path.GetFileNameWithoutExtension(originFilePath);

            if (startPageNum <= 0)
            {
                startPageNum = 1;
            }

            if (endPageNum > doc.PageCount || endPageNum <= 0)
            {
                endPageNum = doc.PageCount;
            }

            if (startPageNum > endPageNum)
            {
                int tempPageNum = startPageNum; startPageNum = endPageNum; endPageNum = startPageNum;
            }

            if (!System.IO.Directory.Exists(Server.MapPath(newImagePath)))
            {
                System.IO.Directory.CreateDirectory(Server.MapPath(newImagePath));
            }

            for (int i = startPageNum; i <= endPageNum; i++)
            {
                MemoryStream stream = new MemoryStream();
                string imageName = Path.GetFileNameWithoutExtension(originFilePath);
                ImageSaveOptions imageSaveOptions = new ImageSaveOptions(SaveFormat.Png);
                imageSaveOptions.PageIndex = i - 1;
                doc.Save(stream, imageSaveOptions);
                System.Drawing.Image img = System.Drawing.Image.FromStream(stream);
                Bitmap bm = new Bitmap(img);
                var name = newImagePath + DateTime.Now.Ticks + ".png";
                imagePaths.Add(name);
                bm.Save(Server.MapPath(name), ImageFormat.Png);


            }
        }
        catch (Exception ex)
        {
        }

    }

版权声明:本文为博主原创文章,未经博主允许不得转载。

pdf转word文档总结

今天帮忙进行pdf转word,折腾半天,最终终于搞定了 这里介绍的方法分为两种,一种是直接转为图片版的word,也就是不可编辑的;另一种就是转为可编辑的word,目前很多软件都是要收费的~ 不可编...

灵活高效PDF转Word工具

导读:面对页数较多的PDF文件如何转换成Word?众所周知,选择专业的PDF转换成Word转换器可以将PDF转换成Word。但是如果只是需要转换其中的部分页面,应该如何处理呢? 如何将PDF转换...

关于PDF转Word转出来是图片及乱码多的解决方法分享

PDF转Word常见问题   1、文件转出来乱码多:有可能是您文件加密过,造成软件无法提取到内容信息;文件是扫描件(软件转换的原理是识别字符串,而扫描件是通过扫描的方式把文档扫描成图片格式后...

java实现将文件(包含word,excel,图片等)转PDF

1、下载开源工具LibreOffice,可选择window和linux,这里我选择的是(LibreOffice_5.3.7_Win_x64.msi) 2、按照提示安装好后,配置环境变量path,值为...

word 转html,pdf转图片

maven配置: org.apache.poi poi 3.9 org.apache.poi poi-ooxml fr.opensa...

C# web实现word 转Html、office转Html、pdf转图片 在线预览文件

改篇 pdf 预览再本机没问题,发布再iis中 不行 ,(使用剪贴板的问题..excel和word 可以,) pdf解决:请看我的博文 ----最终解决篇 详细配置及代码 word 转Html ...
  • skydxd
  • skydxd
  • 2013年11月22日 13:28
  • 1771

pdf,word,excel,转图片

  • 2017年03月16日 15:45
  • 4.55MB
  • 下载

将word文档转换为图片格式的PDF

0x00 前言编写一篇文档后,往往会通过转为pdf版本后发布来避免在不同环境下格式出现混乱的情况。 但这样操作转出pdf文档可以通过普通的pdf阅读器进行文本的抓取,不能达到我们想要保护知识产权的想...

pdf转word软件,图片和文字能编辑

  • 2010年03月13日 20:52
  • 4.05MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Word PDF转图片
举报原因:
原因补充:

(最多只允许输入30个字)