如题,直接上代码片段
//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);
}
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);
}
}