1. 程式人生 > 其它 >C#PDF轉圖片

C#PDF轉圖片

   
 //引用 itextsharp
#region PDF轉圖片
        /// <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 PdfToImage(string
pdfInputPath, ImageFormat imageFormat) { string YJ = AppDomain.CurrentDomain.BaseDirectory + "JQ\\"; if (System.IO.Directory.Exists(YJ)) { var files = Directory.GetFiles(YJ); for (int i = 0; i < files.Length; i++) { File.Delete(files[i]); } }
string imageOutputPath = AppDomain.CurrentDomain.BaseDirectory + "JQ\\"; int startPageNum = 1; PDFFile pdfFile = PDFFile.Open(pdfInputPath); int endPageNum = pdfFile.PageCount; if (!Directory.Exists(imageOutputPath)) { Directory.CreateDirectory(imageOutputPath); } if (startPageNum <= 0) { startPageNum = 1; } if (imageFormat == null) { imageFormat = ImageFormat.Jpeg; }; if (endPageNum > pdfFile.PageCount) { endPageNum = pdfFile.PageCount; } if (startPageNum > endPageNum) { int tempPageNum = startPageNum; startPageNum = endPageNum; endPageNum = startPageNum; } for (int i = 0; i < endPageNum; i++) { //後面乘的那個5是設定清晰度,數字越大越清晰,如果有需要可以設定引數,從外部傳參 Bitmap pageImage = pdfFile.GetPageImage(i, 56 * 2); pageImage.Save(imageOutputPath +i .ToString() + "." + imageFormat.ToString(), imageFormat); pageImage.Dispose(); } pdfFile.Dispose(); } #endregion