Я создаю метод, который сканирует документ и сохраняет его как изображение. Затем он создает документ в формате PDF, в который я помещаю изображение, и оно правильно сохраняется в базе данных. Проблема в том, что я просто хочу, чтобы pdf был в моем файловом браузере, но отсканированное изображение тоже сохраняется, и я не могу его удалить. Выдает ошибку: Действие невозможно выполнить, так как файл открыт в другой программе.
Я использую Visual Studio 2019 и SQL Server.
Есть ли другой способ сохранить PDF-файл в базу данных без сохранения изображения?
Это код:
internal static string EscanearDocumento(string pathImage, string path, PdfDocument doc)
{
int count = 0;
WIA.CommonDialog wiaDiag = new WIA.CommonDialog();
var imageFile = wiaDiag.ShowAcquireImage(WiaDeviceType.ScannerDeviceType, WiaImageIntent.TextIntent, WiaImageBias.MaximizeQuality, "{00000000-0000-0000-0000-000000000000}", true, true, false);
while (File.Exists(pathImage + cont + ".png") || File.Exists(path + cont + ".pdf"))
{
cont++;
}
pathImage = pathImage + cont + ".png";
path = path + cont + ".pdf";
try
{
imageFile.SaveFile(pathImage);
Image img = Image.FromFile(pathImage);
PdfPage page = doc.AddPage();
page.Orientation = PageOrientation.Portrait;
XGraphics graphics = XGraphics.FromPdfPage(page);
graphics.DrawImage(XImage.FromFile(pathImage), 0, 0);
img.Dispose();
} catch(NullReferenceException)
{
MessageBox.Show("Error");
}
Image.FromStream
, но мне также нужно сохранить изображение, чтобы сохранить его в потоке памяти. - person luciacar   schedule 10.06.2021imageFile
? - person ADyson   schedule 10.06.2021ImageFile
, и именно здесь я сохраняю отсканированное изображение. - person luciacar   schedule 10.06.2021using
, а не удалять объекты вручную. - person JonasH   schedule 10.06.2021MemoryStream
, но я исправил это в этом посте, спасибо! - person luciacar   schedule 10.06.2021