説明
接続されたドキュメント スキャナから画像を検出して取得するには、chrome.documentScan
API を使用します。
権限
documentScan
対象
Document Scan API
Document Scan API は、アプリや拡張機能がドキュメントや 接続されたドキュメント スキャナで紙ドキュメントの内容の画像。
型
CancelScanResponse
プロパティ
-
ジョブ
文字列
cancelScan()
に渡されたのと同じジョブハンドルを指定します。 -
件の結果
バックエンドのスキャン キャンセル結果。結果が
OperationResult.SUCCESS
またはOperationResult.CANCELLED
の場合、スキャンはキャンセルされており、スキャナは新しいスキャンを開始する準備ができています。結果がOperationResult.DEVICE_BUSY
の場合、スキャナはまだリクエストされたキャンセルを処理しています。呼び出し元は、しばらく待ってからリクエストを再試行する必要があります。その他の結果値は、再試行すべきでない永続的なエラーを示します。
CloseScannerResponse
プロパティ
-
件の結果
スキャナを閉じた結果。この値が
SUCCESS
でない場合でも、ハンドルは無効になり、それ以降のオペレーションには使用しないでください。 -
scannerHandle
文字列
closeScanner
に渡されたのと同じスキャナ ハンドル。
Configurability
オプションを変更する方法。
列挙型
"NOT_CONFIGURABLE"
このオプションは読み取り専用です。
"SOFTWARE_CONFIGURABLE"
このオプションはソフトウェアで設定できます。
"HARDWARE_CONFIGURABLE"
このオプションは、ユーザーがスキャナのボタンを切り替えたり押したりすることで設定できます。
ConnectionType
スキャナがコンピュータにどのように接続されているかを示します。
列挙型
「不明」
「USB」
「ネットワーク」
列挙型
"INT_RANGE" OptionType.INT
値の範囲に対する制約。OptionConstraint
の min
、max
、quant
プロパティが long
になり、list
プロパティの設定が解除されます。
"FIXED_RANGE"
OptionType.FIXED
値の範囲に対する制約。OptionConstraint
の min
、max
、quant
プロパティが double
になり、list
プロパティの設定が解除されます。
"INT_LIST"
OptionType.INT
値の特定のリストに対する制約。OptionConstraint.list
プロパティには long
値が含まれ、他のプロパティは設定されません。
"FIXED_LIST"
OptionType.FIXED
値の特定のリストに対する制約。OptionConstraint.list
プロパティには double
値が含まれ、他のプロパティは設定されません。
"STRING_LIST"
OptionType.STRING
値の特定のリストに対する制約。OptionConstraint.list
プロパティには DOMString
値が含まれ、他のプロパティは設定されません。
DeviceFilter
プロパティ
-
ローカル
ブール値(省略可)
返品するスキャナは、パソコンに直接取り付けられているものに限られます。
-
安全
ブール値(省略可)
USB や TLS などのセキュアなトランスポートを使用するスキャナのみを返品してください。
GetOptionGroupsResponse
プロパティ
-
グループ
OptionGroup[] 省略可
result
がSUCCESS
の場合、スキャナ ドライバから指定された順序でオプション グループのリストを指定します。 -
件の結果
オプション グループの取得結果。この値が
SUCCESS
の場合、groups
プロパティが入力されます。 -
scannerHandle
文字列
getOptionGroups
に渡されたのと同じスキャナ ハンドル。
GetScannerListResponse
プロパティ
-
件の結果
列挙結果。エラーを示している場合でも、部分的な結果が返されることがあります。
-
スキャナ
指定された
DeviceFilter
に一致するスキャナのリスト。空である可能性もあります。
OpenScannerResponse
プロパティ
-
オプション
オブジェクト(省略可)
result
がSUCCESS
の場合は、Key-Value マッピングを指定します。キーはデバイス固有のオプションで、値はScannerOption
のインスタンスです。 -
件の結果
スキャナを開いた結果。この値が
SUCCESS
の場合、scannerHandle
プロパティとoptions
プロパティが入力されます。 -
scannerHandle
文字列(省略可)
result
がSUCCESS
の場合、以降の操作に使用できるスキャナへのハンドル。 -
scannerId
文字列
openScanner()
に渡されるスキャナ ID。
OperationResult
各オペレーションの結果を示す列挙型。
列挙型
"UNKNOWN"
不明な、または一般的なエラーが発生しました。
"SUCCESS"
オペレーションは成功しました。
"UNSUPPORTED"
この操作はサポートされていません。
"CANCELLED"
オペレーションはキャンセルされました。
"DEVICE_BUSY"
デバイスはビジー状態です。
"INVALID"
メソッドに渡されたデータまたは引数が無効です。
"WRONG_TYPE"
指定された値は、基になるオプションに対して誤ったデータ型です。
"EOF"
これ以上データはありません。
"ADF_JAMMED"
ドキュメント フィーダーが故障しています。
"ADF_EMPTY"
ドキュメント フィーダーが空です。
"COVER_OPEN"
フラットベッド カバーが開いています。
"IO_ERROR"
デバイスとの通信中にエラーが発生しました。
"ACCESS_DENIED"
デバイスには認証が必要です。
"NO_MEMORY"
操作の完了に必要なメモリが Chromebook にありません。
"UNREACHABLE"
デバイスにアクセスできません。
"MISSING"
デバイスの接続が解除されています。
"INTERNAL_ERROR"
呼び出し元アプリケーション以外の場所でエラーが発生しました。
OptionConstraint
プロパティ
-
list
string[] |数値 [] 省略可
-
最大
数値(省略可)
-
分
数値(省略可)
-
クオン
数値(省略可)
-
type
OptionGroup
プロパティ
-
メンバー
string[]
ドライバから提供された順序でのオプション名の配列。
-
title
文字列
印刷可能なタイトルを指定します(「ジオメトリ オプション」など)。
OptionSetting
プロパティ
-
name
文字列
設定するオプションの名前を示します。
-
type
オプションのデータ型を示します。リクエストするデータ型は、基になるオプションの実際のデータ型と一致する必要があります。
-
値
string |数値 |boolean |数値 [] 省略可
設定する値を示します。
autoSettable
が有効になっているオプションの自動設定をリクエストするには、未設定のままにしてください。value
に指定するデータ型はtype
と一致する必要があります。
OptionType
オプションのデータ型。
列挙型
"UNKNOWN"
オプションのデータタイプは不明です。value
プロパティの設定が解除されます。
"BOOL"
value
プロパティは、true
false のいずれかになります。
"INT"
符号付き 32 ビット整数。value
プロパティは、オプションが複数の値を取るかどうかに応じて、long または long[] になります。
"修正済み"
解像度 1/65535 の -32768 ~ 32767.9999 の範囲の double 型。value
プロパティは、オプションが複数の値を取るかどうかに応じて、double または double[] になります。正確に表現できない double 値は、使用可能な範囲と精度に丸められます。
"STRING"
NUL ('\0') 以外の任意のバイトのシーケンス。value
プロパティは DOMString です。
"BUTTON"
このタイプのオプションには値がありません。代わりに、このタイプのオプションを設定すると、スキャナ ドライバでオプション固有の副作用が発生します。たとえば、スキャナ ドライバがボタンタイプのオプションを使用することで、デフォルト値を選択する手段や、次の用紙に進むよう自動ドキュメント フィーダーに指示する手段を提供できます。
"GROUP"
グループ化オプション。値なし。これは互換性を維持するために含まれていますが、通常 ScannerOption
値では返されません。getOptionGroups()
を使用して、グループのリストとメンバー オプションを取得します。
列挙型
"UNITLESS"
値は単位のない数値です。たとえば、しきい値を設定できます。
"PIXEL"
値はピクセル数(スキャン寸法など)です。
"BIT"
値はビット数です(色深度など)。
"MM"
値はミリメートル単位で測定されます(スキャン ディメンションなど)。
"DPI"
値は 1 インチあたりのドット数で測定されます(例: 解像度)。
"PERCENT"
値はパーセントで表します(明るさなど)。
"MICROSECOND"
値はマイクロ秒単位で測定されます(露出時間など)。
ReadScanDataResponse
プロパティ
-
データ
ArrayBuffer(省略可)
result
がSUCCESS
の場合、スキャンされた画像データの次のチャンクが含まれます。result
がEOF
の場合、スキャンされた画像データの最後のチャンクが含まれます。 -
estimatedCompletion
数値(省略可)
result
がSUCCESS
の場合、これまでに配信されたスキャンデータの合計量の推定値(0 ~ 100 の範囲)。 -
ジョブ
文字列
readScanData()
に渡されるジョブ ハンドルを提供します。 -
件の結果
データの読み取り結果。値が
SUCCESS
の場合、data
には読み取り可能な次の(長さが 0 の)画像データのチャンクが含まれます。値がEOF
の場合、data
には画像データの最後のチャンクが含まれます。
ScannerInfo
プロパティ
-
connectionType
スキャナがコンピュータにどのように接続されているかを示します。
-
deviceUuid
文字列
同じ物理デバイスを参照する他の
ScannerInfo
エントリと照合します。 -
imageFormats
string[]
返されるスキャンに対してリクエストできる MIME タイプの配列。
-
メーカー
文字列
スキャナのメーカー。
-
モデル
文字列
スキャナモデル(利用可能な場合)、または一般的な説明。
-
name
文字列
UI に表示する、人が読める形式のスキャナ名。
-
protocolType
文字列
スキャナへのアクセスに使用されるプロトコルやドライバに関する、人が読める形式の説明(Mopria、WSD、epsond など)。これは主に、デバイスが複数のプロトコルをサポートしている場合に、ユーザーがプロトコルを選択できるようにする場合に便利です。
-
scannerId
文字列
特定のスキャナの ID。
-
安全
ブール値
true の場合、TLS や USB などのパッシブ リスナーがスキャナ接続のトランスポートをインターセプトすることはできません。
ScannerOption
プロパティ
-
構成の柔軟性
オプションを変更できるかどうか、およびその方法を表します。
-
制約
OptionConstraint(省略可)
現在のスキャナ オプションに
OptionConstraint
を定義します。 -
description
文字列
オプションの詳しい説明。
-
isActive
ブール値
オプションが有効で、設定または取得可能であることを示します。false の場合、
value
プロパティは設定されません。 -
isAdvanced
ブール値
デフォルトでは UI にこのオプションを表示しないことを示します。
-
isAutoSettable
ブール値
スキャナ ドライバで自動的に設定できます。
-
isDetectable
ブール値
このオプションはソフトウェアから検出できることを示します。
-
isEmulated
ブール値
true の場合、スキャナ ドライバによってエミュレートされます。
-
name
文字列
小文字の ASCII 文字、数字、ダッシュを使用したオプション名。分音符号は使用できません。
-
title
文字列
印刷可能な 1 行のタイトル。
-
type
value
プロパティに含まれるデータ型。このオプションの設定に必要です。 -
単位
このオプションの測定単位。
-
値
string |数値 |boolean |数値 [] 省略可
オプションの現在の値(該当する場合)。このプロパティのデータ型は、
type
で指定されたデータ型と一致する必要があります。
ScanOptions
プロパティ
-
maxImages
数値(省略可)
許可されるスキャン画像の数。デフォルトは 1 です。
-
mimeTypes
文字列 [] 省略可
呼び出し元が受け入れる MIME タイプ。
ScanResults
プロパティ
-
dataUrls
string[]
「src」として渡すことができる形式のデータ画像 URL の配列値をイメージタグに追加します。
-
mimeType
文字列
dataUrls
の MIME タイプ。
SetOptionResult
プロパティ
-
name
文字列
設定されたオプションの名前を示します。
-
件の結果
オプションを設定した結果を示します。
SetOptionsResponse
プロパティ
-
オプション
オブジェクト(省略可)
指定されたすべてのオプションの設定を試みた後、オプション名から新しい構成を含む
ScannerOption
値への Key-Value マッピングの更新。これは、OpenScannerResponse
のoptions
プロパティと同じ構造です。このプロパティは一部のオプションが正常に設定されていなくても設定されますが、更新された構成の取得に失敗した場合(スキャン中にスキャナが切断された場合など)は設定されません。
-
結果
結果の配列(渡された
OptionSetting
ごとに 1 つ)。 -
scannerHandle
文字列
setOptions()
に渡されるスキャナ ハンドルを提供します。
StartScanOptions
プロパティ
-
形式
文字列
スキャンデータを返す MIME タイプを指定します。
-
maxReadSize
数値(省略可)
ゼロ以外の値を指定すると、その値に対する単一の
readScanData
レスポンスで返されるスキャン可能な最大バイト数が制限されます。指定できる最小値は 32,768(32 KB)です。このプロパティが指定されていない場合、返されるチャンクのサイズは、スキャンされた画像全体と同じ大きさになることがあります。
StartScanResponse
プロパティ
-
ジョブ
文字列(省略可)
result
がSUCCESS
の場合、スキャンデータの読み取りやジョブのキャンセルに使用できるハンドルを指定します。 -
件の結果
スキャン開始の結果。この値が
SUCCESS
の場合、job
プロパティが入力されます。 -
scannerHandle
文字列
startScan()
に渡されたのと同じスキャナ ハンドルを提供します。
メソッド
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
開始したスキャンをキャンセルし、CancelScanResponse
オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトがそのコールバックに渡されます。
パラメータ
-
ジョブ
文字列
以前に
startScan
の呼び出しから返されたアクティブなスキャンジョブのハンドル。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(response: CancelScanResponse) => void
-
レスポンス
-
戻り値
-
Promise<CancelScanResponse>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
)
ハンドルが渡されたスキャナを閉じ、CloseScannerResponse
オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトがそのコールバックに渡されます。レスポンスが成功でない場合でも、指定されたハンドルは無効になるため、以降の操作には使用しないでください。
パラメータ
-
scannerHandle
文字列
以前に
openScanner
の呼び出しによって返された、開いているスキャナのハンドルを指定します。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(response: CloseScannerResponse) => void
-
レスポンス
-
戻り値
-
Promise<CloseScannerResponse>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
openScanner
によって以前に開かれたスキャナからグループ名とメンバー オプションを取得します。このメソッドは、GetOptionGroupsResponse
オブジェクトで解決される Promise を返します。この関数にコールバックが渡された場合は、代わりに返されたデータが渡されます。
パラメータ
-
scannerHandle
文字列
openScanner
の呼び出しから返された、開いているスキャナのハンドル。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(response: GetOptionGroupsResponse) => void
-
レスポンス
-
戻り値
-
Promise<GetOptionGroupsResponse>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
使用可能なスキャナのリストを取得し、GetScannerListResponse
オブジェクトで解決される Promise を返します。この関数にコールバックが渡された場合は、代わりに返されたデータが渡されます。
パラメータ
-
フィルタ
返されるスキャナのタイプを示す
DeviceFilter
。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(response: GetScannerListResponse) => void
-
レスポンス
-
戻り値
-
Promise<GetScannerListResponse>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
排他的アクセスのためにスキャナを開き、OpenScannerResponse
オブジェクトで解決される Promise を返します。この関数にコールバックが渡された場合は、代わりに返されたデータが渡されます。
パラメータ
-
scannerId
文字列
開くスキャナの ID。この値は、前回の
getScannerList
呼び出しから返された値です。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(response: OpenScannerResponse) => void
-
レスポンス
-
戻り値
-
Promise<OpenScannerResponse>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
)
アクティブなジョブハンドルから使用可能なイメージデータの次のチャンクを読み取り、ReadScanDataResponse
オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトがそのコールバックに渡されます。
**注:**レスポンス結果が、長さが 0 の data
メンバーを含む SUCCESS
であることが有効です。この場合、スキャナは動作しているものの、追加データの準備がまだできていないことを意味します。呼び出し元は、しばらく待ってから再試行する必要があります。
スキャンジョブが完了すると、レスポンスの結果値は EOF
になります。このレスポンスには、最終的なゼロ以外の data
メンバーが含まれる場合があります。
パラメータ
-
ジョブ
文字列
以前に
startScan
から返されたアクティブなジョブのハンドル。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(response: ReadScanDataResponse) => void
-
レスポンス
-
戻り値
-
Promise<ReadScanDataResponse>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
)
ドキュメントのスキャンを実行し、ScanResults
オブジェクトで解決される Promise を返します。この関数にコールバックが渡された場合は、代わりに返されたデータが渡されます。
パラメータ
-
オプション
スキャン パラメータを含むオブジェクト。
-
callback
関数(省略可)
callback
パラメータは次のようになります。(result: ScanResults) => void
-
件の結果
-
戻り値
-
Promise<ScanResults>
Chrome 96 以降Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
)
指定されたスキャナにオプションを設定し、渡された OptionSetting
オブジェクトの順序ですべての値を設定しようとした結果を含む SetOptionsResponse
オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトがそのコールバックに渡されます。
パラメータ
-
scannerHandle
文字列
オプションを設定するスキャナのハンドル。以前に
openScanner
の呼び出しで返された値にする必要があります。 -
オプション
スキャナに適用される
OptionSetting
オブジェクトのリスト。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(response: SetOptionsResponse) => void
-
レスポンス
-
戻り値
-
Promise<SetOptionsResponse>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
)
指定されたスキャナのスキャンを開始し、StartScanResponse
で解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトがそのコールバックに渡されます。呼び出しが成功した場合、レスポンスにはジョブハンドルが含まれます。このハンドルは、後続の呼び出しでスキャンデータの読み取りやスキャンのキャンセルに使用できます。
パラメータ
-
scannerHandle
文字列
開いているスキャナのハンドル。以前に
openScanner
の呼び出しで返された値にする必要があります。 -
オプション
スキャンに使用するオプションを示す
StartScanOptions
オブジェクト。StartScanOptions.format
プロパティは、スキャナのScannerInfo
で返されるエントリのいずれかと一致する必要があります。 -
callback
関数(省略可)
callback
パラメータは次のようになります。(response: StartScanResponse) => void
-
レスポンス
-
戻り値
-
Promise<StartScanResponse>
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。