【发布时间】:2018-04-23 16:03:02
【问题描述】:
下面的代码有问题。我想通过单击 WinForms C# 应用程序中的按钮来扫描文档。
我使用 WIA、Visual Studio 和扫描仪 Fujitsu N7100A 与 Windows 8 配合使用。我正在关注使用 WIA 的在线教程。
但程序没有按预期运行。它似乎在 Transfer 方法上崩溃了。
// Create a DeviceManager instance
var deviceManager = new DeviceManager();
// Create an empty variable to store the scanner instance
DeviceInfo firstScannerAvailable = null;
// Loop through the list of devices to choose the first available
AddLogs(deviceManager.DeviceInfos.Count.ToString(), filename);
foreach (DeviceInfo d in deviceManager.DeviceInfos)
{
if (d.Type == WiaDeviceType.ScannerDeviceType)
{
firstScannerAvailable = d;
}
}
// Connect to the first available scanner
var device = firstScannerAvailable.Connect();
// Select the scanner
var scannerItem = device.Items[0];
// Retrieve a image in JPEG format and store it into a variable
var imageFile = (ImageFile)scannerItem.Transfer(FormatID.wiaFormatPNG);
//Save the image in some path with filename
var path = @"C:\Documents\scan.png";
if (File.Exists(path))
{
File.Delete(path);
}
// Save image !
imageFile.SaveFile(path);
我只需要删除日志文件中添加的行。
【问题讨论】:
-
当我执行应用程序时,它给了我一个例外,说该值不包含在预期的 plage 中。