zoukankan      html  css  js  c++  java
  • C#pdf 切割成图片

     引用

    using Ghostscript.NET;
    using Ghostscript.NET.Rasterizer;

    需要安装 exe文件

    public static GhostscriptVersionInfo _lastInstalledVersion = null;
            public static GhostscriptRasterizer _rasterizer = null;

    PdfToImages(string pdfInputPath, string imageOutputPath)

     
                    //解析度
                    int desired_x_dpi = Convert.ToInt32(96);
                    int desired_y_dpi = Convert.ToInt32(96);

      Log.writeLog("生成临时文件夹");
                    var destFile = GetFilePath(pdfInputPath);
                    Log.writeLog("复制pdf资料");
                    System.IO.File.Copy(pdfInputPath, destFile, true);
                    Log.writeLog("复制pdf资料完成");
                    if (System.IO.File.Exists(destFile))
                    {
                        try
                        {

      _lastInstalledVersion =                             GhostscriptVersionInfo.GetLastInstalledVersion(                        GhostscriptLicense.GPL | GhostscriptLicense.AFPL,                        GhostscriptLicense.GPL);

                            _rasterizer = new GhostscriptRasterizer();

                            _rasterizer.Open(destFile, _lastInstalledVersion, false);

             for (var i = 1; i <= endPageNum; i++)                  

           {                          

                 string pageFilePath = Path.Combine(imageOutputPath, imageName + "_" + i.ToString() + "." + imageFormat.ToString());

                                Image img = _rasterizer.GetPage(desired_x_dpi, desired_y_dpi, i);  

              img.Save(pageFilePath, ImageFormat.Jpeg);

       }
                            _rasterizer.Dispose();
                        }
                        catch (Exception ex)
                        {
                            Log.writeLog("Exception:" + ex.ToString());
                            System.IO.File.Delete(destFile);
                        }
                        finally
                        {
                            Log.writeLog("finally:删除资料");
                            System.IO.File.Delete(destFile);
                            //System.IO.Direc

    }

     /// <summary>
            /// 根据源文件路径获取新重新命名的文件路径
            /// </summary>
            /// <param name="filePath"></param>
            /// <returns></returns>
            static string GetFilePath(string filePath)
            {
                if (string.IsNullOrWhiteSpace(filePath))
                {
                    return string.Empty;
                }
                else
                {
                    return string.Format("{0}{1}{2}", filePath.Substring(0, filePath.LastIndexOf('\') + 1), Guid.NewGuid().ToString("N").Replace("-", ""), filePath.Substring(filePath.LastIndexOf('.')));
                }
            }

  • 相关阅读:
    Linux系统与网络服务管理技术
    RAM阵列
    5月9日上海书城PPT畅销图书作者讲座
    计算变为人们梦寐以求的公用设施
    博文视点大讲堂28期 “助你赢在软件外包行业”成功举办
    WebService WSDL详解(上)
    Google十三年
    预编译头sadafx.h原理
    WebService WSDL详解(下)
    Ext 2.2在IE 9运行居然说Extall.j运行错误,晕死了
  • 原文地址:https://www.cnblogs.com/qhy1277/p/4962009.html
Copyright © 2011-2022 走看看