[Visual Basic] Public WriteOnly Property PaperSize As Newtone.ImageKit.WPF.ScanPaperSize
[C#] public Newtone.ImageKit.WPF.ScanPaperSize PaperSize {set;}
プロパティ値
ScanPaperSize 列挙体のメンバを指定します。
解説
UserInterface プロパティが
Suppress の場合に有効です。 ただし、デジタルカメラからの取り込みの場合は無効です。 Rect プロパティを有効にする場合は UserSize もしくは負の値を指定します。
データソースによってはユーザ定義サイズ( UserSize
)と読み取り範囲を設定しても、開始位置などが正しく反映されない場合があります。 その場合は、定型サイズ( A4Letter
よりも大きな値)を符号反転してお試しください。(下記の例を参照)
(注意)
データソースがサポートしている用紙サイズは GetCapabilityEnumToSingle
メソッドで取得できます。
データソースによっては定型サイズをサポートしていないものや、用紙サイズの機能自体をサポートしていないものがありますので、その場合は
UserSize を設定してください。 未定義サイズ( UndefinedSize
)を設定すると、用紙サイズを自動検知して取り込みを行いますが、用紙の幅と高さのどちらか一方のみを検知するスキャナでは用紙の自動検知が正しく行われない場合があります。
また、Transfer プロパティが Memory
の場合、取り込みが失敗することもありますので、その際は Transfer プロパティを Native に設定してください。
未定義サイズがサポートされているかどうかについては IsCapabilitySupported
メソッドで判定できます。 未定義サイズがサポートされていて当プロパティに UndefinedSize
を設定しても用紙サイズの自動検知が正しく動作しない場合は次の手順をお試しください。
(1) BorderDetection
プロパティを true に設定する。 この段階で正しく動作せずにPFU製スキャナ用ドライバをご利用の場合は(2)へ。
(2) 当プロパティに UndefinedSize
に加えて読み取り可能な最大サイズの用紙サイズを設定する。たとえば、最大サイズがA3であれば PaperSize =
ScanPaperSize.UndefinedSize + 11 を設定する。
例
( PaperSize = UserSize で読み取り範囲を設定 --> 読み取り位置がおかしい)
[Visual Basic.NET] ImageKit1.Scan.UserInterface = ScanUserInterface.Suppress ImageKit1.Scan.Unit = ScanUnit.Inch ImageKit1.Scan.PaperSize = ScanPaperSize.UserSize ImageKit1.Scan.Rect = new RectangleF(0, 0, CSng(6.9), CSng(10.2)) [Visual C#.NET] imageKit1.Scan.UserInterface = ScanUserInterface.Suppress; imageKit1.Scan.Unit = ScanUnit.Inch; imageKit1.Scan.PaperSize = ScanPaperSize.UserSize; imageKit1.Scan.Rect = new RectangleF(0, 0, (float)6.9, (float)10.2);( PaperSize に定型サイズを符号反転して読み取り範囲を設定 --> 正しく読み取れる)
[Visual Basic.NET] ImageKit1.Scan.UserInterface = ScanUserInterface.Suppress ImageKit1.Scan.Unit = ScanUnit.Inch ImageKit1.Scan.PaperSize = -3 ' USレター ImageKit1.Scan.Rect = new RectangleF(0, 0, CSng(6.9), CSng(10.2)) [Visual C#.NET] imageKit1.Scan.UserInterface = ScanUserInterface.Suppress; imageKit1.Scan.Unit = ScanUnit.Inch; imageKit1.Scan.PaperSize = (ScanPaperSize)(-3); // USレター imageKit1.Scan.Rect = new RectangleF(0, 0, (float)6.9, (float)10.2);
参照
Scan メンバ | Newtone.ImageKit.WPF.ImageKit