動的Web TWAIN:ページのスキャンプロセスがどのように自動的に検出し、空白ページを削除するには?

では「連続読込み文書法(1) -動的Web TWAIN:スキャンした文書の区切りとして空白のページを使用する方法、」我々は、セパレータ文書として空白のページを使用することができます言及しました。しかし、時にはシーンが頻繁に必要とされるだけでなく、文書分離機能は、自動検出し、空白ページ削除機能が含まれます。この記事では、簡単に動的Web TWAINは自動的に削除機能を検出するスキャンしたWebドキュメントの過程で空白のページを達成するために使用する方法を紹介します。

この方法の一つ

デバイスがサポートのためのTWAINドライバは空白のページを破棄する場合は、ドライバの組み込み機能を使用することができます。

  1. あなたができるIfShowUIのプロパティがtrueのユーザーインターフェイス(UI)の表示ソースに設定されている、あなたは(それは通常、「廃棄空白」と表示されている)があるからオプションを確認することができます。
  2. あなたはディスプレイソースへのユーザー・インターフェースを使用しない場合はすることができIfAutoDiscardBlankpages trueまたは交渉ICAP_AUTODISCARDBLANKPAGESに設定が自動的に廃棄空白のページにあなたのコード内の関数。このプロパティまたはスキャナ自体が(ハードウェアレベルで)この機能をサポートしている唯一の機能を有効にすることに注意してください。次のコードスニペット、
DWObject.SelectSource();
DWObject.OpenSource;
DWObject.IfShowUI = false;
//*Use the property
DWObject.IfAutoDiscardBlankpages = true;
//*Use capability negotiation
DWObject.Capability = EnumDWT_Cap.ICAP_AUTODISCARDBLANKPAGES;
DWObject.CapType = EnumDWT_CapType.TWON_ONEVALUE;
DWObject.CapValue = -1;//Auto
if(DWObject.CapSet){
   alert("Successful!");
}
DWObject.AcquireImage();

方法二

すぐに所望の機能を達成するための方法を使用しますが、それはまた、致命的な欠陥があり、それはハードウェアのサポートに依存しています。実際には、すべての走査装置の自動空白ページを検出する機能を有しています。デバイスがサポートされていない場合は、どのようにそれを行うには?この時点で、一般的な方法(ソフトウェアレベル)がある動的Web TWAIN SDKの使用することですIsBlankImageExpressのインターフェイスを。自動的に検出し、廃棄空白のページには、各送信後にトリガすることができますOnPostTransferがこのイベントを行います。次のコードスニペット、

function DWObject_OnPostTransfer() {
DWObject.BlankImageMaxStdDev = 20;
if (DWObject.IsBlankImageExpress(DWObject.CurrentImageIndexInBuffer)) {
   DWObject.RemoveImage(DWObject.CurrentImageIndexInBuffer);
   }
}

注:多くの場合、空白の画像スキャンはIsBlankImageExpressが返される結果に影響を与えることができ、いくつかのノイズが発生する場合があります。結果を改善するには、調整することができBlankImageMaxStdDevのプロパティの値を。デフォルト値は1(0がモノクロ画像を表す)です。したがって、わずかに(例えば、20)の値を増加させることにより、画像ノイズがブランク画像を迅速に検出することができ、無視されます。

リリース6元記事 ウォンの賞賛0 ビュー1380

おすすめ

転載: blog.csdn.net/weixin_44795817/article/details/89925983