C#之獲取PDF張數以及PDF轉JPG
阿新 • • 發佈:2020-04-17
一:開啟管理NuGet程式包進行安裝Aspose.Pdf.dll
二:實踐
(1)獲取PDF頁數
/// <summary> /// 獲取PDF檔案頁數 /// </summary> /// <param name="file"></param> /// <returns></returns> public int GetPdfNumber(HttpPostedFile file) { int pageCount;//上傳臨時檔案 var picName = Guid.NewGuid().ToString(); //獲取圖片儲存路徑 var path = Config.FilePath + "\\" + "tmppic\\"; //圖片的路徑及名稱 var fileinfo = new FileInfo(file.FileName); var ext = fileinfo.Extension; var filePath = path + picName + ext;//建立路徑 var dir = new DirectoryInfo(path); if (!dir.Exists) { dir.Create(); } file.SaveAs(filePath); var reader = new PdfReader(filePath); pageCount = reader.NumberOfPages; reader.Close(); File.Delete(filePath);return pageCount; }
(2) PDF轉JPG
{ //儲存pdf資訊到附件表 var device = new Aspose.Pdf.Devices.JpegDevice(80); var path = Config.FilePath + "\\" + item.FilePath; //pdf轉為圖片 using (var document = new Aspose.Pdf.Document(path)) { for (var t = 1; t <= document.Pages.Count; t++) { //圖片名稱 var newName = Guid.NewGuid().ToString("N"); //儲存圖片 var lastIndex = item.FilePath.LastIndexOf(‘\\‘); var newPath = item.FilePath.Substring(0,lastIndex + 1); var filePath = Config.FilePath + "\\" + newPath + newName + ".jpg"; var temp_path = newPath + newName + ".jpg"; var fileInfo = new FileInfo(filePath); using (var fs = new FileStream(filePath,FileMode.OpenOrCreate)) { device.Process(document.Pages[t],fs); fs.Close(); } } }