如何解决C#使用SaveFileDialog或FolderBrowserDialog保存图像文件
我正在尝试保存从PDF转换为PNG的图像文件。如果PDF是使用“ SaveFileDialog”的单页文档,我希望我的应用程序保存转换后的图像;如果PDF文件是多页的文档,则我希望我的应用程序使用“ FolderbrowserDialog”将其保存到文件夹中。 “。
我的问题是,如果PDF文件是多页文档,我的代码将首先使用“ SaveFileDialog”保存第一个图像(转换后),然后再尝试使用“ FolderbrowserDialog”保存其余图像。 / p>
这是我尝试过的。
Image = imagetoConvert = null;
for (int i = 0; i < images.Length; i++)
{
if (i == 0)
{
//Save converted image if PDF is single page
imagetoConvert = images[i];
SaveFileDialog _saveFile = new SaveFileDialog();
_saveFile.Title = "Save file";
_saveFile.Filter = "PNG|*.png";
_saveFile.FileName = Lbl_OriginalFileName.Text;
if (_saveFile.ShowDialog() == DialogResult.OK)
{
imagetoConvert.Save(_saveFile.FileName,ImageFormat.Png);
imagetoConvert.dispose();
}
else if (_saveFile.ShowDialog() == DialogResult.Cancel)
{
return;
}
}
else
{
if (i > 0)
{
// Save converted Images if PDF is multi-page
Image imagetoConvert2 = images[i];
FolderbrowserDialog fbd = new FolderbrowserDialog();
fbd.ShowDialog();
fbd.Description = "Select the folder you want save your files into.";
string pathString = Path.Combine(fbd.Selectedpath,subFolder);
Directory.CreateDirectory(pathString);
if (fbd.ShowDialog() == DialogResult.Cancel)
{
return;
}
string saveFileNamesPNG = string.Format(Lbl_OriginalFileName.Text + "_" + i.ToString() + ".png",ImageFormat.Png);
imagetoConvert.Save(Path.Combine(pathString,saveFileNamesPNG));
imagetoConvert.dispose();
}
}
}
我将非常感谢您的帮助。
解决方法
我将测试移至循环外,然后检查它是否为一页并使用SaveFileDialog。如果有多个,则我使用带For循环的FolderBrowserDialog保存图像。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。