TWAIN Working Group

Newsletter Signup
Donate
Help keep TWAIN free
  • About TWAIN
    • What’s New?
    • News
    • Events
    • Membership
    • Consider a Donation
    • Contact Us
  • Why TWAIN?
  • Developers
    • Driver Developer
    • Application Developer
    • TWAIN Features
    • Specification & Tools
    • Self Certification Process
  • Support Forums
  • Scanner End-User
  • Find Certified Drivers
    • Facebook
    • LinkedIn
    • Vimeo

Roll scanner – long scans

Forums › TWAIN Classic › Roll scanner – long scans

  • This topic has 7 replies, 3 voices, and was last updated 12 years, 7 months ago by gabe.
Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • June 17, 2008 at 6:59 am #22357 Reply
    zabanet
    Participant
    • Topics - 2
    • Replies - 3
    • Total Posts - 5

    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)?

    June 18, 2008 at 10:16 pm #24539 Reply
    gabe
    Participant
    • Topics - 9
    • Replies - 583
    • Total Posts - 592

    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?

    .

    June 20, 2008 at 6:31 am #24540 Reply
    zabanet
    Participant
    • Topics - 2
    • Replies - 3
    • Total Posts - 5

    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 🙂

    June 20, 2008 at 6:48 pm #24541 Reply
    dpenney
    Participant
    • Topics - 3
    • Replies - 66
    • Total Posts - 69

    @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.

    –

    June 23, 2008 at 6:32 am #24542 Reply
    zabanet
    Participant
    • Topics - 2
    • Replies - 3
    • Total Posts - 5

    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.639999

    ICAP_PHYSICALHEIGHT:
    GET………….fix32 24
    GETCURRENT……fix32 24
    GETDEFAULT……fix32 24

    There’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?

    June 25, 2008 at 7:00 am #24543 Reply
    gabe
    Participant
    • Topics - 9
    • Replies - 583
    • Total Posts - 592

    paste the twister report

    .

    June 25, 2008 at 8:17 am #24544 Reply
    zabanet
    Participant
    • Topics - 2
    • Replies - 3
    • Total Posts - 5

    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 -1

    ICAP_COMPRESSION:
    GET………….uint16 ENUM{ TWCP_NONE } Current: TWCP_NONE, Default:
    TWCP_NONE
    GETCURRENT……uint16 TWCP_NONE
    GETDEFAULT……uint16 TWCP_NONE
    SET………….TWCP_NONE ok

    ICAP_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 ok

    ICAP_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 ok

    ICAP_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 ok

    CAP_FEEDERENABLED:
    GET………….bool TRUE
    GETCURRENT……bool TRUE
    GETDEFAULT……bool TRUE
    SET(FALSE)…..?failed
    SET(TRUE)……?failed

    CAP_FEEDERLOADED:
    GET………….bool TRUE
    GETCURRENT……bool TRUE
    GETDEFAULT……bool TRUE

    CAP_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……ditto

    CAP_AUTOFEED:
    GET………….bool TRUE
    GETCURRENT……bool TRUE
    GETDEFAULT……bool TRUE
    SET(FALSE)…..?failed
    SET(TRUE)……?failed

    CAP_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)…….ok

    CAP_PAPERDETECTABLE:
    GET…………*not supported.

    CAP_UICONTROLLABLE:
    GET………….bool TRUE
    GETCURRENT……bool TRUE
    GETDEFAULT……bool TRUE

    CAP_DEVICEONLINE:
    GET………….bool TRUE
    GETCURRENT……bool TRUE
    GETDEFAULT……bool TRUE

    ICAP_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 ok

    ICAP_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 ok

    ICAP_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 ok

    ICAP_PHYSICALWIDTH:
    GET………….fix32 8.639999
    GETCURRENT……fix32 8.639999
    GETDEFAULT……fix32 8.639999

    ICAP_PHYSICALHEIGHT:
    GET………….fix32 24
    GETCURRENT……fix32 24
    GETDEFAULT……fix32 24

    ICAP_XNATIVERESOLUTION:
    GET………….fix32 300
    GETCURRENT……fix32 300
    GETDEFAULT……fix32 300

    ICAP_YNATIVERESOLUTION:
    GET………….fix32 300
    GETCURRENT……fix32 300
    GETDEFAULT……fix32 300

    ICAP_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 ok

    ICAP_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 ok

    ICAP_BITORDER:
    GET………….uint16 TWBO_MSBFIRST
    GETCURRENT……uint16 TWBO_MSBFIRST
    GETDEFAULT……uint16 TWBO_MSBFIRST
    SET…………?TWBO_MSBFIRST failed

    ICAP_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 ok

    ICAP_PLANARCHUNKY:
    GET………….uint16 TWPC_CHUNKY
    GETCURRENT……uint16 TWPC_CHUNKY
    GETDEFAULT……uint16 TWPC_CHUNKY
    SET…………?TWPC_CHUNKY failed

    ICAP_BITDEPTH:
    GET…………*uint16 24
    GETCURRENT……uint16 24
    GETDEFAULT……uint16 24

    Section 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.

    June 25, 2008 at 11:31 am #24545 Reply
    gabe
    Participant
    • Topics - 9
    • Replies - 583
    • Total Posts - 592

    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.

    .

  • Author
    Posts
Viewing 8 posts - 1 through 8 (of 8 total)
Reply To: Roll scanner – long scans
Your information:




Quick Links

Service Providers
TWAIN Support Forums
Membership
Contact Us
Privacy Policy

Newsletter Signup

TWAIN Working Group Family

TWAIN Working Group
TWAIN Direct®
TWAIN Resources
TWAIN Certified Drivers
PDF/raster

  • Facebook
  • GitHub
  • LinkedIn
  • Vimeo

Recent Topics

  • EPSON V600 TWAIN and WIA on Windows 10
  • When and how to use WaitForEvents command ?
  • Problem enumerating list of installed scanners in windows server 2012
  • Failed to create TWAIN progress! Error code is 1260.
  • To get the list of scanners from javascript client side (browser)
  • Quarterly Newsletter
  • TWAIN Working Group Membership
  • Logo Usage
  • TWAIN License
  • Contact Us
Privacy Policy • Privacy Tools • Copyright © 2021 TWAIN Working Group • by iHwy, LLC • Log in

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.