基于Aspose.Pdf把pdf文件每一页转换为图片

时间:2022-04-23
本文章向大家介绍基于Aspose.Pdf把pdf文件每一页转换为图片,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

如题,直接上代码片段

            //1.选择pdf文件

  var dialog = new OpenFileDialog();
             dialog.Filter = "pdf文件|*.pdf";
 var dialogResult = dialog.ShowDialog();
 if (dialogResult != System.Windows.Forms.DialogResult.OK) {
 return;
             }
 
 //和选择的文件并列创建一个目录
  string filePath = dialog.FileName;
 string directoryPath = filePath + "目录";
 //aspose许可证
             Aspose.Pdf.License l = new Aspose.Pdf.License();
 string licenseName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Aspose.Total.Product.Family.lic");
             l.SetLicense(licenseName);
 //定义Jpeg转换设备
             Aspose.Pdf.Document document = new Aspose.Pdf.Document(filePath);
 var device = new Aspose.Pdf.Devices.JpegDevice();
 int quality = int.Parse(this.comboBox1.SelectedItem.ToString());
             directoryPath += quality;
             Directory.CreateDirectory(directoryPath);
 //默认质量为100,设置质量的好坏与处理速度不成正比,甚至是设置的质量越低反而花的时间越长,怀疑处理过程是先生成高质量的再压缩
             device = new Aspose.Pdf.Devices.JpegDevice(quality);
 //遍历每一页转为jpg
  for (var i = 1; i <= document.Pages.Count; i++) {
 string filePathOutPut = Path.Combine(directoryPath, string.Format("{0}.jpg", i));
                 FileStream fs = new FileStream(filePathOutPut, FileMode.OpenOrCreate);
 try {
                     device.Process(document.Pages[i], fs);
                     fs.Close();
                 } catch (Exception ex) {
                     fs.Close();
                     File.Delete(filePathOutPut);
                 }
            }