Home › Forums › TWAIN Classic › Roll scanner – long scans
- This topic has 7 replies, 3 voices, and was last updated 15 years, 10 months ago by gabe.
- AuthorPosts
Hi again,
Due to lack of reply I suppose I ask wrong question… Or maybye you need more technical details of my scanner. It’s a roll scanner in HP LaserJet 1200 series (printer, copier, scanner) .
Please tell me only one thing: is there any way to scan 58 cm (22.8 in) long sheets?
I don’t want do dig in TWAIN properties if the scanner can’t do it becouse of some technical limitations.
From the other hand maybye there is some way to tweak TWAIN so that I could by-pass some technical limitations.
Please tell me if I should try (reading TWAIN specs, setting options…) or it’s a dead end and I shold buy another scanner. If so, which scanner is the best for this purpose (scanning long sheets)?If I were trying to set the scanners size in code for a particular scanner I would first check the ICAP_PHYSICALWIDTH/HEIGHT as in most cases this will be the max size supported by the device. Then i would look at the ICAP_SUPPORTEDSIZES for the device as I find those easier to manage than dealing with DAT_IMAGELAYOUT/ MSG_SET.
What is the device’s ICAP_PHYSICALWIDTH/HEIGHT and what does the device return for ICAP_SUPPORTEDSIZES?
.
Hello,
Thanks for your suggestions. Is there any simple way to check this properties without reading tones of documentation? I finally downloaded your openTwain project. I suppose that it could help me to look at these properties but unfortunately I can’t see any sample application in it.
Any sample code would be appreciated 🙂@zabanet wrote:
…is there any way to scan 58 cm (22.8 in) long sheets?
@gabe wrote:
…first check the ICAP_PHYSICALWIDTH/HEIGHT as in most cases this will be the max size supported by the device.
As gabe implied, maximum scan length is limited by the physical device or its TWAIN implementation. The TWAIN specification does allow for very long scans. A sheet-fed (roll?) scanner could do a 23 inch scan if the TWAIN developer chose to support that. The bad news is, the sheet-fed scanners I’ve worked with are constrained by their TWAIN DS to 14 inch scans. Your mileage may vary.
By the way, Dosadi has a handy free utility called Twister that reports ICAP_PHYSICALHEIGHT, ICAP_SUPPORTEDSIZES, etc.
They also provide TWAIN developer toolkits that you might find useful.–
Hello,
…the sheet-fed scanners I’ve worked with are constrained by their TWAIN DS to 14 inch scans
My scanner (sheet-fed of course, sorry for that roll but it’s word to word translation from polish – we have flat and roll scanners ;)) has possibility to scan longer sheets then 14 inch because I’m scanning 21 inches now (without changing any settings).
And here is some data from report generated by the TWISTER (thanks for the tip dpenney, it really is handy):ICAP_PHYSICALWIDTH:
GET………….fix32 8.639999
GETCURRENT……fix32 8.639999
GETDEFAULT……fix32 8.639999ICAP_PHYSICALHEIGHT:
GET………….fix32 24
GETCURRENT……fix32 24
GETDEFAULT……fix32 24There’s no ICAP_SUPPORTEDSIZES setting in the report.
So, if I get it right, I shouldn’t have problem with 23 inches long scans… Any suggestions how to get these 2 extra inches?
paste the twister report
.
Hi,
Here you are…Start of Twister TWAIN Analysis
Analysis Started: 2008.06.23 at 07:35:57
Twister Version: 1.05.004— TW_IDENTITY block —
Product Name: HP LaserJet 1220
Product Family: $ProdFamily$
Manufacturer: Hewlett-Packard
Software Version: 1.0 (“X.07.00.68”)
TWAIN Protocol Version: 1.7— DataSource File Version Info —
File: C:WINDOWSTwain_32hppa3200hppadsr0.ds
File Timestamp: 2006.12.01 11:27:07
File version: 1.0.7.460
Product version: 1.0.7.550
Description: TWAIN Data Source Redirector
Copyright: Copyright © Hewlett-Packard Co. 1995-2000
Comments: TWAIN Data Source Redirector
Company: Hewlett-Packard Co.
File Version: 01.00.007.460
Internal Name: HPPADSR0
Language:
Legal Trademarks:
Original Filename: HPPADSR0.DS
Private Build:
Product Name: HP MFP CORE
Product Version: 01.00.007.550
Special Build:Section 1. Capabilities
If a capability does not appear in the following list, then the device
reported it as unsupported in conformance with the TWAIN standard.CAP_XFERCOUNT:
GET………….int16 -1
GETCURRENT……int16 -1
GETDEFAULT……int16 -1ICAP_COMPRESSION:
GET………….uint16 ENUM{ TWCP_NONE } Current: TWCP_NONE, Default:
TWCP_NONE
GETCURRENT……uint16 TWCP_NONE
GETDEFAULT……uint16 TWCP_NONE
SET………….TWCP_NONE okICAP_PIXELTYPE:
GET………….uint16 ENUM{ TWPT_BW, TWPT_GRAY, TWPT_RGB } Current:
TWPT_RGB, Default: TWPT_RGB
GETCURRENT……uint16 TWPT_RGB
GETDEFAULT……uint16 TWPT_RGB
SET………….TWPT_BW ok
SET………….TWPT_GRAY ok
SET………….TWPT_RGB okICAP_UNITS:
GET………….uint16 ENUM{ TWUN_INCHES, TWUN_CENTIMETERS, TWUN_PIXELS }
Current: TWUN_INCHES, Default: TWUN_INCHES
GETCURRENT……uint16 TWUN_INCHES
GETDEFAULT……uint16 TWUN_INCHES
SET………….TWUN_INCHES ok
SET………….TWUN_CENTIMETERS ok
SET………….TWUN_PIXELS okICAP_XFERMECH:
GET………….uint16 ENUM{ TWSX_NATIVE, TWSX_MEMORY, TWSX_FILE }
Current: TWSX_NATIVE, Default: TWSX_NATIVE
GETCURRENT……uint16 TWSX_NATIVE
GETDEFAULT……uint16 TWSX_NATIVE
SET………….TWSX_NATIVE ok
SET………….TWSX_MEMORY ok
SET………….TWSX_FILE okCAP_FEEDERENABLED:
GET………….bool TRUE
GETCURRENT……bool TRUE
GETDEFAULT……bool TRUE
SET(FALSE)…..?failed
SET(TRUE)……?failedCAP_FEEDERLOADED:
GET………….bool TRUE
GETCURRENT……bool TRUE
GETDEFAULT……bool TRUECAP_SUPPORTEDCAPS:
GET………….uint16 ARRAY[ CAP_AUTOFEED, CAP_FEEDERENABLED,
CAP_DEVICEONLINE, CAP_FEEDERLOADED, CAP_INDICATORS,
CAP_UICONTROLLABLE, CAP_XFERCOUNT, CAP_PAPERDETECTABLE,
ICAP_BITDEPTH, ICAP_BITORDER, ICAP_COMPRESSION,
ICAP_CONTRAST, ICAP_BRIGHTNESS, ICAP_PHYSICALHEIGHT,
ICAP_PHYSICALWIDTH, ICAP_PIXELFLAVOR, ICAP_PIXELTYPE,
ICAP_PLANARCHUNKY, ICAP_UNITS, ICAP_XFERMECH,
ICAP_XNATIVERESOLUTION, ICAP_XRESOLUTION,
ICAP_YNATIVERESOLUTION, ICAP_YRESOLUTION, ICAP_GAMMA ]
GETCURRENT……ditto
GETDEFAULT……dittoCAP_AUTOFEED:
GET………….bool TRUE
GETCURRENT……bool TRUE
GETDEFAULT……bool TRUE
SET(FALSE)…..?failed
SET(TRUE)……?failedCAP_CLEARPAGE:
GET………….bool TRUE
GETCURRENT……bool TRUE
GETDEFAULT……bool TRUE
SET………….not tested due to side effects.CAP_INDICATORS:
GET………….bool TRUE
GETCURRENT……bool TRUE
GETDEFAULT……bool TRUE
SET(FALSE)……ok
SET(TRUE)…….okCAP_PAPERDETECTABLE:
GET…………*not supported.CAP_UICONTROLLABLE:
GET………….bool TRUE
GETCURRENT……bool TRUE
GETDEFAULT……bool TRUECAP_DEVICEONLINE:
GET………….bool TRUE
GETCURRENT……bool TRUE
GETDEFAULT……bool TRUEICAP_BRIGHTNESS:
GET………….fix32 ENUM{ -125, -100, -75, -50, -25, 0, 25, 50, 75, 100,
125 } Current: 0, Default: 0
GETCURRENT……fix32 0
GETDEFAULT……fix32 0
SET………….0 ok
SET………….-125 ok
SET………….-75 ok
SET………….50 ok
SET………….125 okICAP_CONTRAST:
GET………….fix32 ENUM{ -125, -100, -75, -50, -25, 0, 25, 50, 75, 100,
125 } Current: 0, Default: 0
GETCURRENT……fix32 0
GETDEFAULT……fix32 0
SET………….0 ok
SET………….-125 ok
SET………….-75 ok
SET………….50 ok
SET………….125 okICAP_GAMMA:
GET…………*fix32 ENUM{ 1, 2.199997, 2.899994 } Current: 2.199997,
Default: 2.199997
GETCURRENT……fix32 2.199997
GETDEFAULT……fix32 2.199997
SET………….2.199997 ok
SET………….1 ok
SET………….2.899994 okICAP_PHYSICALWIDTH:
GET………….fix32 8.639999
GETCURRENT……fix32 8.639999
GETDEFAULT……fix32 8.639999ICAP_PHYSICALHEIGHT:
GET………….fix32 24
GETCURRENT……fix32 24
GETDEFAULT……fix32 24ICAP_XNATIVERESOLUTION:
GET………….fix32 300
GETCURRENT……fix32 300
GETDEFAULT……fix32 300ICAP_YNATIVERESOLUTION:
GET………….fix32 300
GETCURRENT……fix32 300
GETDEFAULT……fix32 300ICAP_XRESOLUTION:
GET………….fix32 ENUM{ 100, 150, 200, 300, 600 } Current: 300,
Default: 300
GETCURRENT……fix32 300
GETDEFAULT……fix32 300
SET………….300 ok
SET………….100 ok
SET………….150 ok
SET………….200 ok
SET………….600 okICAP_YRESOLUTION:
GET………….fix32 ENUM{ 100, 150, 200, 300, 600 } Current: 300,
Default: 300
GETCURRENT……fix32 300
GETDEFAULT……fix32 300
SET………….300 ok
SET………….100 ok
SET………….150 ok
SET………….200 ok
SET………….600 okICAP_BITORDER:
GET………….uint16 TWBO_MSBFIRST
GETCURRENT……uint16 TWBO_MSBFIRST
GETDEFAULT……uint16 TWBO_MSBFIRST
SET…………?TWBO_MSBFIRST failedICAP_PIXELFLAVOR:
GET………….uint16 ENUM{ TWPF_CHOCOLATE, TWPF_VANILLA } Current:
TWPF_CHOCOLATE, Default: TWPF_CHOCOLATE
GETCURRENT……uint16 TWPF_CHOCOLATE
GETDEFAULT……uint16 TWPF_CHOCOLATE
SET………….TWPF_CHOCOLATE ok
SET………….TWPF_VANILLA okICAP_PLANARCHUNKY:
GET………….uint16 TWPC_CHUNKY
GETCURRENT……uint16 TWPC_CHUNKY
GETDEFAULT……uint16 TWPC_CHUNKY
SET…………?TWPC_CHUNKY failedICAP_BITDEPTH:
GET…………*uint16 24
GETCURRENT……uint16 24
GETDEFAULT……uint16 24Section 2. Image Layout
DG_IMAGE, DAT_IMAGELAYOUT, MSG_RESET => OK.
DG_IMAGE, DAT_IMAGELAYOUT, MSG_GETDEFAULT => ( 0, 0, 8.5, 14).
DG_IMAGE, DAT_IMAGELAYOUT, MSG_GET => ( 0, 0, 8.5, 14).
DG_IMAGE, DAT_IMAGELAYOUT, MSG_SET (1.06, 2.33, 2.12, 4.66) => Failed.
Questions [? items]
(0) ICAP_BITDEPTH: GET contains value 24. Technically non-compliant.
(1) Could not set CAP_FEEDERENABLED to FALSE.
(2) Could not set CAP_FEEDERENABLED to TRUE.
(3) Could not set CAP_AUTOFEED to FALSE.
(4) Could not set CAP_AUTOFEED to TRUE.
(5) Could not set ICAP_BITORDER to TWBO_MSBFIRST.
(6) Could not set ICAP_PLANARCHUNKY to TWPC_CHUNKY.
Compliance Issues [* items]
(0) CAP_SUPPORTEDCAPS: GET worked, but cap is not in CAP_SUPPORTEDCAPS.
(1) CAP_CLEARPAGE: GET worked, but cap is not in CAP_SUPPORTEDCAPS.
(2) CAP_PAPERDETECTABLE: GET failed, but cap is in CAP_SUPPORTEDCAPS.
(3) ICAP_GAMMA: GET produced a container of the wrong format.
(4) CAP_FEEDERENABLED: RESET failed when it should succeed.
(5) CAP_AUTOFEED: RESET failed when it should succeed.
(6) CAP_CLEARPAGE: RESET failed when it should succeed.
(7) ICAP_BITORDER: RESET failed when it should succeed.
(8) ICAP_PLANARCHUNKY: RESET failed when it should succeed.
(9) ICAP_BITDEPTH: RESET failed when it should succeed.
(10) CAP_FEEDERENABLED: SET: failed on all values.
(11) CAP_AUTOFEED: SET: failed on all values.
(12) ICAP_BITORDER: SET failed on all values.
(13) ICAP_PLANARCHUNKY: SET failed on all values.
(14) DG_IMAGE, DAT_IMAGELAYOUT, MSG_SET (1.06, 2.33, 2.12, 4.66) failed although it is mandatory.
End Twister Analysis.bummer, it seems that the device’s current driver does not correctly support Dat_Layout/Msg_Set. I would probably still try setting the layout with different values unless I had the option of using another scanner or even better (unless I could use a different scanner) I would check if there were another driver for the model. I have had more success with the hp drivers that have ‘minimal’ or ‘commercial’ in the name – the hp scanners that I have worked with seem to consistantly install a driver that I don’t like by default but then have another driver on the CD. Check the Cd that came with the scanner (or Hp’s site) for another driver, hopfully one that reads ‘Hp 1220 Minimal twain driver’ or ‘Hp 1220 Commercial Twain drvier’ as those drivers typically offer more control of the device. If you find such a driver rerun twister and post the report otherwise play with Dat_Layout/Msg_Set but expect some inconsistant results as it seems that the driver may not quite support the twain capabilites as they are described in the specification.
.
- AuthorPosts