[[PrimeKarte]] > PkScan

#contents
#br

*ソース構成 [#kd62c4b2]
-画面系は必ずScanBaseDialogかScanBaseDialogFormを継承すること


*マスタ [#w36f5772]

**解像度 [#r9752454]
|テーブル|マスタコード|カラム|内容|h
|[[COMMON_DOC]]|05000002|CODE|コード|
|~|~|NAME|解像度|
|~|~|DISP_ORDER|表示順|
|~|~|BIKO|備考|

**色数 [#md95178a]
|テーブル|マスタコード|カラム|内容|h
|[[COMMON_DOC]]|05000003|CODE|コード|
|~|~|NAME|色数|
|~|~|DISP_ORDER|表示順|
|~|~|BIKO|備考|

**用紙サイズ [#n217478e]
|テーブル|マスタコード|カラム|内容|h
|[[COMMON_DOC]]|05000004|CODE|コード|
|~|~|NAME|用紙サイズ|
|~|~|DISP_ORDER|表示順|
|~|~|BIKO|備考|

~
|設定|値|内容|h
|[[0501.xml]][26]|1|推奨設定時に自動幅読み込みする(対応機種のみ)|
|~|0|推奨設定時にA4で読み込みする|

**権限オーダ [#of772892]
|テーブル|マスタコード|カラム|内容|h
|[[COMMON_DOC]]|05000005|CODE|コード|
|~|~|CODE_STR|権限判定に使うオーダ種コード&color(red){(未設定なら0502)};|

**端末設定 [#g068331e]
#ref(tanmatsu.PNG)
~
***スキャンパラメータの初期値 [#j167fff3]
-[[TANMATSU>TANMATSU#tf29f05d]].STR_06

***タイマによる自動スキャン有無 [#n808a9f3]
-[[TANMATSU.FLGTBL_01>TANMATSU#Flgtbl01]][22]

***「スキャン登録時に取込文書を印刷する」チェックボックスの初期状態 [#z54db942]
-[[TANMATSU.FLGTBL_01>TANMATSU#Flgtbl01]][45]
~
~
#ref(スキャン画面_印刷チェックボックス.png)
~
***「半折り原稿」チェックボックスの表示 [#k96bc912]
-[[TANMATSU.FLGTBL_04>TANMATSU#Flgtbl04]][4]
-半折り = 山折りした原稿を一枚の原稿として取り込む機能
--例: A3を山折りで半折り読み込み -> A4ではなくA3で登録できる
--主には、A4までのサイズしか取り込めないスキャナ等で使用
--ドライバで重送チェックを行っている場合はうまく動作しないことがあるので注意
--対応するドライバを選択していないとチェックボックスは表示されない。
~
~
#ref(半折りチェックボックス.PNG)
~
***「前回情報を復元」チェックボックス内容 [#kde76e0a]
-[[TANMATSU.FLGTBL_04>TANMATSU#Flgtbl04]][5]
--オーダ発行後に文書情報を維持するかどうか
--QRコード文書の場合は復元しない
--設定は[設定]ダイアログから
~
~
#ref(keepPrevInfo.PNG)
~

***「QR解析を行わない」チェックボックスの表示 [#w475bb70]
-[[TANMATSU.FLGTBL_04>TANMATSU#Flgtbl04]][6]
--チェック時はQRコードの解析をスキップする
--運用上、特定のQRコード無文書しか読まないような端末で使用
--チェック時は確認ダイアログが表示される
~
~
#ref(skipQrCheck.PNG)
~

**Adobe Reader実行ファイルパス [#kea0cdf1]
-[[BYOIN>BYOIN#he0a06b6]].STR_29
--スキャン登録時の印刷や指示歴からのスキャンオーダの印刷で必要
--指示歴からの印刷ができないとの問合せがあったら、本設定が正しいか、インストールパスが正しいか確認する

**スキャンオーダの権限判定用オーダ種別コード [#we9fb2d9]
|テーブル|マスタコード|カラム|内容|h
|[[COMMON_DOC]]|05000005|CODE_STR|文書作成とスキャンの権限を区別したい場合に「0501」を指定 &br; 設定がない場合は「0502」で判定|

**文書番号毎のスキャンパラメータ [#vad41cae]
|テーブル|マスタコード|カラム|内容|h
|[[CONTROL]]|00020039|CODE_01|文書番号|
|~|~|CODE_02|解像度コード(COMMON_DOC[05000002].CODE)|
|~|~|CODE_03|色数コード(COMMON_DOC[05000003].CODE)|
|~|~|CODE_04|用紙サイズコード(COMMON_DOC[05000004].CODE)|

**オーダボタン [#t46e6420]
-DLL呼出
--[[USER_BUTTON_INF]].CODE_03 = 205
-EXE呼出
--[[USER_BUTTON_INF]].CODE_03 = 499
---DLL呼出の場合にメモリリークが発生する事例が過去にあった
---特に理由がない場合は、EXE呼出とする
---関連→[[PkScanMain]]
-スキャンによる文書取消画面
--[[USER_BUTTON_INF]].CODE_03 = 475
-PDF取り込み画面
--[[USER_BUTTON_INF]].CODE_03 = 397

*関連 [#hace3911]
-[[複合機スキャン(PkScan)]]
-[[0501.xml]]

*依存ライブラリ [#e69b8197]

-.NET2.0で使っていたライブラリは[[こちら>PkScan(.NET2.0)#adb238e9]]を参照

**[[Newtone ImageKit.NET3>http://www.newtone.co.jp/productiknet300.html]] [#ve795937]
-TWAIN対応デバイスの制御や画像処理
-TWAIN制御としてSaraff.Twain.NETやNTwainで実装を行ったが、画質・速度・メモリ消費などで問題があった

**[[Aspose>https://www.xlsoft.com/jp/products/aspose/total-for-net.html]] [#o3cc99a1]
-QRコードの解析や画像処理

*よくある質問 [#w916b360]
**両面スキャンはできませんか? [#c5aa6ba9]
-機種的には両面スキャンできる機種であってもPkScanからは片面スキャンのみの対応となってます(2018/07時点)
-半折りスキャンは内部的には両面スキャンをしていますが、最終的には1枚の用紙として扱っています
**この◯◯ってスキャナがPKで動作するか検証してほしい [#vf9edd22]
-TWAIN対応のスキャナなら問題なく動作する(はず)なので検証してみる
-TWAIN非対応のものはそもそもドライバを操作できないので事前に調べておく
--沼津で要望のあったSnapScan SV600なんかがこれに該当した
**スキャンが遅い [#cf180757]
-QRコード解析で時間がかかっている場合が多い
--QRコードがない文書でも、読み込んだ文書内にQRコードがあるかチェックを行うため
--[[0501.xml]][20]で解析の範囲を狭めてみる
--運用的に同一文書しか読まないような場合は[QRコード解析を行わない]を使う
**スキャンしたオーダを修正する際にメッセージを出したい [#w601709b]
--0991.xml[122]=1で警告が出るようになります
--ただし、修正時はスキャンしたオーダではなく、&color(red){スキャンすることになった元のオーダの修正になります。};
--上記の仕様については検討中のため、今後修正そのものができなくなる可能性もあります(2018/11/05時点)
**特定の文書だけ登録後に印刷を自動で行いたい [#g800953d]
--QRコード付き文書スキャン後のみでいいなら[[DOCUMENT_DOC]].KINDで設定可能
---0:スキャンオーダ発行(デフォルト)
---1:確認済みにする
---2:スキャンオーダ発行+確認済みにする
---3:スキャンオーダ発行+印刷
---4:スキャンオーダ発行+印刷+確認済みにする
--印刷に関しては&color(red){登録後に印刷するチェックボックスがOFFでも印刷する};点に注意
**呼び出し元で用紙(ex A3縦, A4横)などを設定しているにも関わらず反映されない [#h3944abb]
--[[TANMATSU]].STR_06でスキャンパラメータを保持している可能性アリ
--&color(red){端末設定で持っているスキャンパラメータが優先};して設定されるので、そちらをクリアすれば直る
--この仕様については変更が入る可能性がある
**DLL呼び出しとEXE呼び出しの切り替えはどこで行う? [#w6d39d6e]
--0991.xml[119]
--この設定はオーダボタンから呼び出されるスキャン画面だけでなく、生理等の部門からの呼び出しにも影響
**どのような機種のスキャナでも使用できるのか? [#a4fd4423]
-TWAINドライバに対応していることが前提
-ただし、TWAINドライバ対応でも細かな挙動が異なることがあるので、必ず動作検証を行うこと
-使用実績のある機種は下記
|メーカ|機種名|形式|備考|h
|Canon|CanoScan LiDE 210|フラットベッド||
|Canon|CanoScan LiDE 220|フラットベッド||
|Canon|CanoScan LiDE 400|フラットベッド|※2023年時点実績最多|
|Canon|imageFORMULA DR-C125|シートフィード||
|Canon|imageFORMULA DR-C225 II|シートフィード|※2023年時点実績最多|
|Canon|imageFORMULA DR-C240|シートフィード||
|Canon|imageFORMULA DR-M140|シートフィード|用紙方向の自動補正化、半折スキャン可|
|Canon|imageFORMULA DR-M1060|シートフィード|用紙方向の自動補正化、半折スキャン可|
|EPSON|GT-S650|フラットベッド||
|EPSON|DS-510|シートフィード||
|EPSON|DS-530|シートフィード||


*トラブルシューティング [#q4d006e7]
**「文書の取り込みに失敗しました」と表示されスキャンが行えない [#rb0c6a41]
-一番問い合わせが多く、一番原因が多様なトラブル
--スキャンドライバが正しいものか確認
---64bitOSには64bitのドライバが入っているかどうか(ImageKit.Net3の仕様上、ビット数が合致している必要がある)
--スキャナの給紙レバー等は正しい位置かどうか
---機種によるため現物を見たいところだが、これをガチャガチャいじると動くようになるケースがある
--[手動]にして用紙サイズ、解像度、色数をいじってみる
---主にEPSONを繋いでいる時はこれが原因のことが多い
---色数等はCannonスキャナベースのマスタなので、EPSONで指定不可のものが選べてしまっているケースがある(要修正)

**クリアシートに紙を挟んでスキャンすると重送エラーになる [#h6525000]
-下記の添付ファイルを参照して設定を行う。
--&ref(クリアファイルをスキャナで使用する設定方法.pdf);

**PrimeKarteがスキャナを認識しない [#n07383f8]
-まずPrimeKarte以外のツールからスキャナが認識できているかを確認する
--できていなければドライバの再インストールや端末の再起動等を行う
--ハード面での不具合の可能性もあることを考慮する

**「取り込んだ用紙が裏面の可能性があります」と表示される [#e5c1b83d]
-用紙の空白率が高すぎて白紙チェックに引っかかっている可能性がある
-[[0501.xml]][15]で白紙と判定する閾値を指定できるので、再設定して動作確認をする
-値は"/"区切りでそれぞれ
--�.團�セル走査間隔(1〜10)
--��白でないとする閾値(1〜255)
--�G鮖罎犯縦蠅垢覲箙�(1〜100)
-白紙チェックを行いたくない場合は"0/0/0"で設定

**半折りスキャン実行時に取り込めない [#b21a3a8c]
-そもそも原稿が詰まる場合
--スキャナの給紙レバーが非分離給紙(Canon製ならオレンジの表示)になっているか確認
--通常給紙のままだと半折り原稿のように厚みのある用紙が入らず、紙詰まりになる
-原稿は取り込むが正しく取り込まない場合
--重送検知に引っかかっている可能性がある
--Canon製ならスキャナの付属アプリから設定を変更する必要がある
--詳しくは[[こちら>スキャナの重送検知をOFFにする#h638fcf3]]を参照

**スキャンした文書に変な線が入る [#cbb6352d]
-キャリブレーションという操作を試してみる
--キャリブレーション=スキャナの劣化をドライバ側で補正する操作
-手順は以下の通り(ここではCanonScan LiDE220を想定)
--プログラムから[IJ Scan Utility]を起動
--画面右の[ScanGear]を選択
--画面下部の[詳細設定]を選択
--[紙/写真用キャリブレーション]から[実行]を押下
-または以下の通り
--プログラムからMP Navigator EXを起動
--[写真や文書(原稿台)]を選択
--[スキャナードライバーを使う]にチェックを入れる
--[スキャナードライバーを起動]を押下
--あとは上記のパターンと同じ
-ドライバ毎の補正情報を持つため、この事象が発生している端末毎の行う必要がある。

**ビルド時に"Lc.exeはコード-1を伴って終了しました"と表示される [#q8181cd3]
-その端末にライセンスがあるか確認→[[開発環境セットアップ手順(.NET Framework 4.x対応版)]]
-基本的に製品版ライセンスはPkScan開発を行う端末+ビルド用端末にのみインストール
-それ以外の原因の場合は[[こちら>https://dev.grapecity.co.jp/support/kb/detail.asp?id=32146]] を参照

**複合機だとうまく動かない [#hb62f1a8]
-Canon製以外の機種だと、ドライバがエラーを吐いて落ちることがある
-データソースの持ち方がお粗末だったり、予期しないアクセスの仕方をしていたり等々
-ドライバのエラーの場合、Windowsログを見た方がいいかも

**動作実績のないスキャナを使ってみたらエラーになる [#h4d1b15f]
-PrimeKarte側でドライバが対応していないプロパティを設定してしまっている可能性がある
-解像度や色を変えてみて動くかをチェックする
-一部のプロパティでのみエラーなら上記の原因の可能性が高い

**登録を押しても何も起こらない(登録されない) [#ed53a998]
-プロシージャでエラーが起きている可能性が高い
-ログ中に「スキャン発行失敗...」との記述がないか確認
-ある場合、ログ中の&color(red){ERROR_NO_TEXTをキーに[[ORDER_MESSAGE]]を調べる};
-該当時間帯のv_order_logを調査

**ネットワーク接続したスキャナ(複合機)を使うときにエラーが出る [#e87670c4]
-NW接続したスキャナは、一度スキャンし終えるとスキャナ側から接続を切る場合がある
-ImageKit側から再接続するには一度CloseしてからOpenする
-上記処理を行いたい場合は[[0501.xml]][31]に対象のドライバ名を設定する

**文書管理(0501)の権限を設定したのにスキャンの権限がないと表示される [#q4248724]
-スキャンの権限は[[COMMON_DOC]][05000005].CODE_STRのオーダ権限に従う
-&color(red){上記の設定がない場合は文書作成(0502)の権限に従う};

**オートフィーダ+フラットベッドがあるスキャナ [#x94bd9d4]
-オートフィーダ+フラットベッドがあるスキャナで、オートフィーダには紙がありフラットベッドに紙が無い場合に両方のスキャンが行われ、フラットベッド側で真っ黒いページがスキャンされる
-[端末設定画面]→[スキャンタブ]→[複合スキャナ使用時に両方の読み取り機能を使う]
--★上記を「使う」に設定
-QRコード読み込み時に行うフィーダ内の文書連続スキャン→原稿台側を1度だけスキャン
--★「使わない」に設定
-QRコード読み込み時に行うフィーダ内の文書連続スキャンのみ

**「スキャナーをロックできません」とのエラーが出る [#tbfb7e99]
-以下を順次試して事象が改善するか確認する
++スキャナ電源OFF/ON
++パソコン再起動
++ドライバ再インストール

**継続スキャン時に「スキャナー本体にエラーが発生しました。」とのエラーが出る [#u4acc6a7]
-電源供給が足りているか確認する
--USBハブ
--省電力モード
--機器の経年劣化

*開発時の注意点 [#s1e1e089]
-画面作成時
--コンポーネントクラスは&color(red){Component, ISbsDialogではなくScanBaseDialogを継承する};
--フォームクラスは&color(red){SbsDialogBaseではなくScanBaseDialogFormを継承する};
--ScanBaseDialog,ScanBaseDialogFormはPkScan内画面で共通で持ちたいプロパティやメソッドのために設けた基底クラス
--コンポーネントがフォームを呼ぶ前に必ずSetFormProperty()を呼び、基底プロパティを渡すこと
--将来的な展望としてはログの書き出しも基底クラスに持たせて、各画面ではメソッドを呼ぶだけにしたい
*0501.xml Config内容 [#h9283750]
-[[0501.xml]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS