將PDF文件轉換為圖片的方法
阿新 • • 發佈:2022-03-14
這裡一共進行兩種方法
首先下載dll,從NuGet包中直接引用,Spire.Pdf(兩個版本,免費版只能轉化前10頁,書印版第一頁有水印,但無轉化頁數限制)
1.將本地pdf轉化為png格式
/// <summary> /// 將PDF文件轉換為圖片的方法 /// </summary> /// <param name="pdfInputPath">PDF檔案路徑</param> /// <param name="imageOutputPath">圖片輸出路徑</param> /// <param name="imageName"></param>private static void ConvertPDF2Image(string pdfInputPath, string imageOutputPath,string imageName) { PdfDocument doc = new PdfDocument(); doc.LoadFromFile(pdfInputPath); //遍歷PDF每一頁 for (int i = 0; i < doc.Pages.Count; i++) {//將PDF頁轉換成Bitmap圖形 Image bmp = doc.SaveAsImage(i); //將Bitmap圖形儲存為Png格式的圖片(用i進行區分) bmp.Save(imageOutputPath + imageName+ i + ".png"); } }
二將從前端接收到的檔案直接轉化為PDF進行儲存
/// <summary> /// 將PDF文件轉換為圖片的方法 /// </summary> ///<param name="HttpFileCollection fileCollection">接收到的檔案</param> /// <param name="Path">想要儲存的位置</param> /// <param name="imageName"></param> private static void ConvertPDF2Image(HttpFileCollection fileCollection, string Path) { for (int i = 0; i < fileCollection.Count; i++) { var file = fileCollection[i]; Stream fileStream = file.InputStream; PdfDocument pdf = new PdfDocument(); // 從流中載入 pdf.LoadFromStream(fileStream); //遍歷PDF每一頁 for (int i = 0; i < pdf.Pages.Count; i++) { //將PDF頁轉換成Bitmap圖形 Image bmp = pdf.SaveAsImage(i); //將Bitmap圖形儲存為Png格式的圖片(用i進行區分) bmp.Save(imageOutputPath + FileName+ i + ".png"); }
//關閉
fileStream.Close(); }