<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C# PDF轉Image圖片

      C# PDF轉Image圖片

       

      概述

        PDF是常用的文件格式之一,通常情況下,我們可以使用itextsharp生產PDF文件;可是如何將PDF文件轉換成圖片那?目前常用的:

        思路1、根據PDF繪畫軌跡重新繪制圖片;

        思路2、是將PDF文件解析成二進制,直接將二級制轉換成圖片;借助這2種思路,我在網上和同事的幫助下找到了2個DLL文件(第三方);

      思路1:

        使用第三方DLL:O2S.Components.PDFRender4NET         DLL下載 

        編寫代碼部分:

      復制代碼
      public enum Definition
          {
              One = 1, Two = 2, Three = 3, Four = 4, Five = 5, Six = 6, Seven = 7, Eight = 8, Nine = 9, Ten = 10
          }
          public class PDFTranImgHelp
          {
              /// <summary>
              /// 將PDF文檔轉換為圖片的方法
              /// </summary>
              /// <param name="pdfInputPath">PDF文件路徑</param>
              /// <param name="imageOutputPath">圖片輸出路徑</param>
              /// <param name="imageName">生成圖片的名字</param>
              /// <param name="startPageNum">從PDF文檔的第幾頁開始轉換</param>
              /// <param name="endPageNum">從PDF文檔的第幾頁開始停止轉換</param>
              /// <param name="imageFormat">設置所需圖片格式</param>
              /// <param name="definition">設置圖片的清晰度,數字越大越清晰</param>
              public static void ConvertPDF2Image(string pdfInputPath, string imageOutputPath,
                  string imageName, int startPageNum, int endPageNum, ImageFormat imageFormat, Definition definition)
              {
                  PDFFile pdfFile = PDFFile.Open(pdfInputPath);
                  if (!Directory.Exists(imageOutputPath))
                  {
                      Directory.CreateDirectory(imageOutputPath);
                  }
                  // validate pageNum
                  if (startPageNum <= 0)
                  {
                      startPageNum = 1;
                  }
                  if (endPageNum > pdfFile.PageCount)
                  {
                      endPageNum = pdfFile.PageCount;
                  }
                  if (startPageNum > endPageNum)
                  {
                      int tempPageNum = startPageNum;
                      startPageNum = endPageNum;
                      endPageNum = startPageNum;
                  }
                  // start to convert each page
                  for (int i = startPageNum; i <= endPageNum; i++)
                  {
                      Bitmap pageImage = pdfFile.GetPageImage(i - 1, 56 * (int)definition);
                      pageImage.Save(imageOutputPath + imageName + i.ToString() + "." + imageFormat.ToString(), imageFormat);
                      pageImage.Dispose();
                  }
                  pdfFile.Dispose();
              }
          }
      復制代碼

      調用部分:

      PDFTranImgHelp.ConvertPDF2Image("F:\\204834.pdf", "F:\\", "NImage", 1, 1, ImageFormat.Png, Definition.Five);

      不足:

        如果預解析的原PDF文件中,含有png透明的圖片,使用該方式解析失??!

      思路二:

        使用的第三方類庫是:Magick.NET-Q16-AnyCPU.dll    DLL下載(包括Lib下的文件)

        編寫部分代碼:  

      復制代碼
      public class PDFTranImg
          {
              public static byte[] ConvertPDF2Image(byte[] PDFbytes,string ImgPath)
              {
      
                  try
                  {
                      //設置dll文件的目錄
                      string DLLLibPath = AppDomain.CurrentDomain.BaseDirectory;
                      string dlllib = DLLLibPath + "lib";
                      MagickNET.SetGhostscriptDirectory(dlllib);
                      MagickReadSettings setting = new MagickReadSettings();
                      // Settings the density to 300 dpi will create an image with a better quality
                      setting.Density = new Density(100);
                      using (MagickImageCollection images = new MagickImageCollection())
                      {
                          // 讀取二進制數組中的文件
                          images.Read(PDFbytes, setting);
                          using (MagickImage vertical = images.AppendVertically())
                          {
                              vertical.Write(ImgPath);
                              byte[] ReusltByte = File.ReadAllBytes(ImgPath);
                              return ReusltByte;
                          }
                      }
                  }
                  catch (Exception ex)
                  {
                      return null;
                  }
                  finally {
                      File.Delete(ImgPath);
                  }
      
              }
          }
      復制代碼

      調用部分代碼:

      復制代碼
      public FileContentResult EPDFCodePic(string InvoiceCodeNumber)
              {            
                 
                  string[] InvoiceCodeNumber1 = PDFUnEncode(InvoiceCodeNumber);           
                  string ResultPDF64 = LoadPDFImportTemplate(InvoiceCodeNumber1[0], InvoiceCodeNumber1[1], InvoiceCodeNumber1[2], InvoiceCodeNumber1[3]);
                  byte[] PDFBytes = Convert.FromBase64String(ResultPDF64);
                  string PDFTempFilePath = System.Web.HttpContext.Current.Server.MapPath("Temp");
                  string sPath = PDFTempFilePath + "\\" + DateTime.Now.ToString("yyyyMM");
                  if (!Directory.Exists(sPath))
                  {
                      Directory.CreateDirectory(sPath);
                  }
                  string SaveAsFileImagePath = sPath + "\\" + InvoiceCodeNumber1[0]+InvoiceCodeNumber1[1] + ".gif";
                  byte[] ResutlBytes= PDFTranImg.ConvertPDF2Image(PDFBytes,SaveAsFileImagePath);
                  return File(ResutlBytes, @"image/gif");
              }
      復制代碼

      不足:

        使用該方式只能將PDF解析成gif格式的圖片;
      收藏的文章 今天又使用了一下 插件安裝路徑不要有中文 不然功能失效 找了半天 真是坑人

      posted @ 2022-11-02 11:47  暗黑銀狐  閱讀(2228)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色综合久久精品中文字幕| 国产裸体无遮挡免费精品| 久久国产成人av蜜臀| 亚洲熟女综合色一区二区三区 | 辽中县| 亚洲国产综合av在线观看| 亚洲国产精品午夜福利| 中国女人和老外的毛片| 国产午夜在线观看视频播放| 亚洲国产午夜精品理论片| 日韩中文字幕国产精品| 无码va在线观看| 国产一区二区不卡精品视频| 国产成人不卡一区二区| 视频一区二区三区中文字幕狠狠| 国产精品中文字幕久久| 欧美又黄又大又爽a片三年片| 日韩亚洲精品中文字幕| 国内揄拍国内精品少妇| 亚洲AV无码久久精品日韩| 亚洲女同在线播放一区二区| 国产精品污双胞胎在线观看| 五月天天天综合精品无码| 一 级做人爱全视频在线看| 自拍偷亚洲产在线观看| 人妻精品动漫H无码中字| 亚洲精品国模一区二区| 久人人爽人人爽人人片av| 成人无码潮喷在线观看| 亚洲熟妇av一区二区三区宅男| 国产一区二区三区四区激情| 国产精品中文字幕视频| 黄瓜视频在线观看| 国产成人精品永久免费视频| 最近最好的2019中文| 日韩黄色av一区二区三区| 成人拍拍拍无遮挡免费视频| 澄迈县| 韩国午夜福利片在线观看| 久久综合色最新久久综合色| 色悠悠成人综合在线视频|