I have 2 problems : (I tried it with 2 diferent computers)
The general sample not work fine whith my hp c4580 wifi, I see the twain source, I select it, but when I scan in hide mode the scan begin but the picture not appear, if I use the twain interface of the printer it work fine. This work fine with 6.2 dll.
The second problem is creating a pdf, I have a code and the first time, all work fine, the pdf create ok with 1 page, if I execute again the aplication and scan another page, it add to the pdf another page and all work fine, but if I scan two times without stop the execute, the pdf generated the second time have 0 bytes and I can't open it because has no data. I think that I have to download some object but I don't know witch .....
this is part of the code
Code: Select all
Dim ltemp As String = "C:\_docs\aaa.pdf"
Dim lnPagAct As Integer
Dim lImgScan As Integer
lnPagAct = Me.img.CurrentPage
Me.img.DisplayFromFile(ltemp)
Dim lPag As Integer
Dim lImgUni As New GdPicture.GdPictureImaging
If lImgUni.TwainGetState < 4 Then lImgUni.TwainOpenDefaultSource(Me.Handle)
lImgUni.TwainSetErrorMessage((True))
lImgUni.TwainSetHideUI((True))
lPag = lImgUni.TwainAcquireToGdPictureImage(Me.Handle)
lImgUni.TwainCloseSource()
lImgScan = 1
Dim lPagTod As Integer
Dim lPdfTod As Integer
Dim lImgTod As New GdPicture.GdPictureImaging
If lPag <> 0 Then
Dim lI As Integer
Dim lJ As Integer
Dim lIimg As Integer = 1
lPdfTod = lImgTod.PdfNewPdf(ltemp)
For lI = 1 To Me.img.PageCount + lImgScan
If lI > lnPagAct And lI <= lImgScan + lnPagAct Then
For lJ = 1 To lImgScan
lImgTod.PdfAddImageFromGdPictureImage(lPdfTod, lPag)
lImgTod.ReleaseGdPictureImage(lPag)
Next lJ
Else
lPagTod = Me.img.PdfRenderPageToGdPictureImage(200, lIimg)
lImgTod.PdfAddImageFromGdPictureImage(lPdfTod, lPagTod)
lImgTod.ReleaseGdPictureImage(lPagTod)
lIimg += 1
End If
Next lI
Dim lTotPag As Integer = Me.img.PageCount
Me.img.CloseDocument()
For lI = 1 To lTotPag + lImgScan
lImgTod.PdfNewPage(lPdfTod, lImgTod.PdfGetImageWidth(lPdfTod, lI), lImgTod.PdfGetImageHeight(lPdfTod, lI))
Call lImgTod.PdfDrawImage(lPdfTod, lI, 0, 0, lImgTod.PdfGetImageWidth(lPdfTod, lI), lImgTod.PdfGetImageHeight(lPdfTod, lI))
Next lI
lImgTod.PdfEndPdf(lPdfTod)
End If
lPag = Nothing
lPdfTod = Nothing
lPagTod = Nothing
lImgTod = Nothing
lImgUni = Nothing
Me.img.DisplayFromFile(ltemp)