This project has moved. For the latest updates, please go here.

How to set TPU width for a Epson Scanner

Feb 22 at 8:48 AM
Hello Andrei,

I use an Epson Scanner. This scanner allows with EpsonScan to set 2 different document types for transparent documents. 1. Film with Filmholder and 2. Film with area guide.
The second document type provides for EpsonScan a TPU width that is equal to the whole width of the scanner glass for an Epson 4990 or an Epson V700, V750, V800 or V850.

The "Transmissive" capability (in SaraffTwain) gives you a width of 5.9 inches, which is about 150 mm .

Question: is there a way to specifiy something, which is equivalent to the "Film with area guide" setting via the "Transmissive" capability ?
If yes: what has to be specified.

Regards
Wolfgang
Coordinator
Feb 22 at 4:13 PM
Hello, Wolfgang.
If I understand correctly, the question is to set the width of the frame to be scanned. Try use a Twain32.ImageLayout property.
Feb 22 at 7:03 PM
Edited Feb 22 at 7:13 PM
Hello Andrei,

I use in my program this statement:
    this._twain.ImageLayout =  new RectangleF( imgXFC,imgYFC,imgWidthFC,imgHeightFC);   
but the maximum image width (float - converted [ FC ] from millimeter to inch) is 5.9 inches (or about 150 mm).
In Epson Scan the maximum image width can be up to 210 millimeter, if document type "Film with area guide" is selected in the EpsonScan GUI.

In SaraffTwain I can specify 'transmissive', but when capability 'transmissive' is set, the maximum image width is 150 mm,

And this is the physical TPU width if I query that (from the scanner). But really the physical sensor width is 210 mm.

    /// <summary>
    /// Evaluates the physical width and height of the current TPU in inches
    /// </summary>
    public float[] GetTPUDimensions()
    {
       float[] aSize  =  new float[2] { 0, 0 };
       this._twain.Capabilities.LightPath.Set(TwLP.Transmissive);
       physicalHeight = (float) _twain.Capabilities.PhysicalHeight.GetCurrent();
       physicalWidth  = (float) _twain.Capabilities.PhysicalWidth.GetCurrent();
       aSize[0] = physicalHeight;
       aSize[1] = physicalWidth;
       return aSize;         }

The question is: how can I achieve a maximum image width of 210 mm or 8.5 inches
if __Capabilities.LightPath.Set(TwLP.Transmissive) __ is set.

Wolfgang
Coordinator
Feb 23 at 6:46 AM
Hello, Wolfgang.
Try use follow code:
if(_twain32.Capabilities.OverScan.IsSupported(TwQC.Set)) {
    _twain32.Capabilities.OverScan.Set(TwOV.All);
}
but I don't sure that is help to you, because your question related to specific scanner (ie that question don't related with a Saraff.Twain.NET). I advice send this question to a Epson Support Service.
Marked as answer by SARAFF on 3/3/2017 at 11:35 PM
Feb 23 at 12:52 PM
Hello Andrei,

many thanks for the hint. I will try this command and see what happens.

Wolfgang
Feb 24 at 6:28 AM
Edited Feb 24 at 6:30 AM
Hello Andrei,

For your information:

I just did a test with your recommended snippet of code and that happened.
The code performed fine. No exception or so,

But when I try do do a scan with an image width greater than 150 mm
I get an Exception "Scanning Parameter Exception Data parameter out of range"
which means, the width is greater than the available TPU width
{see in the screenshot the provided piece of code.} .
But scanning starts and I get back just a very narrow image. See screenshot.

Image

Regards
Wolfgang