Hallo
Ich steuere einen Scanner in vb.net mithilfe der wia Technologie an. Das funktioniert soweit.
In meiner Testumgebung gibt es allerdings nur einen Scanner. Im Echtbetrieb wird es mehrere Scanner im Netzwerk geben.
Benutzt wia standardmäßig den Standarddrucker vom PC oder kann man sogar via code die ip-Adresse des gewünschten Druckers angeben?
Hier der Code den ich benutze:
MfG
Greenbear
Ich steuere einen Scanner in vb.net mithilfe der wia Technologie an. Das funktioniert soweit.
In meiner Testumgebung gibt es allerdings nur einen Scanner. Im Echtbetrieb wird es mehrere Scanner im Netzwerk geben.
Benutzt wia standardmäßig den Standarddrucker vom PC oder kann man sogar via code die ip-Adresse des gewünschten Druckers angeben?
Hier der Code den ich benutze:
VB.NET-Quellcode
- Public Sub configure(device As WIA.Device, dpi As Integer, colorMode As Integer)
- 'Dim device As WIA.Device = dialog.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType, True, True)
- device.Items(1).Properties("6146").Value = colorMode
- device.Items(1).Properties("6147").Value = dpi
- device.Items(1).Properties("6148").Value = dpi
- 'device.Items(1).Properties("CENTERED").Value = getde
- 'device.Properties("WIA_DPS_SHEET_FEEDER_REGISTRATION").Value = device.Items(1).Properties("CENTERED").Value
- 'device.Items(1).Properties("3078").Value = "CENTERED"
- End Sub
- Public Function pdfScannen(sPfad As String) As Boolean
- Try
- Dim d As New WIA.CommonDialog()
- Dim dev As WIA.Device = d.ShowSelectDevice(WIA.WiaDeviceType.ScannerDeviceType, False, False)
- configure(dev, 300, 1)
- Try
- For Each itm As WIA.Item In dev.Items
- Dim img As WIA.ImageFile = itm.Transfer()
- Dim buffer As Byte() = CType(img.FileData.BinaryData, Byte())
- Dim ms As MemoryStream = New MemoryStream(buffer)
- convertToPDF(ms, sPfad)
- Next
- Catch ex As Exception
- Return False
- End Try
- Return True
- Catch ex As Exception
- MsgBox("Scannen nicht möglich: " & ex.Message)
- Return False
- End Try
- End Function
MfG
Greenbear
We are all suckerz for something ...