更新日: 2026-09-25 robots: noindex
説明
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
スキャナがパソコンにどのように接続されているかを示します。
列挙型
"UNSPECIFIED"
「USB」
"NETWORK"
列挙型
"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
プロパティ
-
ローカル
boolean 省略可
パソコンに直接接続されているスキャナのみを返します。
-
安全
boolean 省略可
USB や TLS などの安全な転送を使用するスキャナのみを返します。
GetOptionGroupsResponse
プロパティ
-
グループ
OptionGroup[] 省略可
resultがSUCCESSの場合、スキャナ ドライバから提供された順序でオプション グループのリストを提供します。 -
件の結果
オプション グループの取得結果。この値が
SUCCESSの場合、groupsプロパティが入力されます。 -
scannerHandle
文字列
getOptionGroupsに渡されたものと同じスキャナ ハンドル。
GetScannerListResponse
プロパティ
-
件の結果
列挙結果。エラーが示されている場合でも、部分的な結果が返されることがあります。
-
スキャナ
指定された
DeviceFilterと一致するスキャナのリスト(空の場合もあります)。
OpenScannerResponse
プロパティ
-
オプション
オブジェクト(省略可)
resultがSUCCESSの場合、キーがデバイス固有のオプションで、値がScannerOptionのインスタンスである Key-Value マッピングを提供します。 -
件の結果
スキャナを開いた結果。この値が
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[] | number[] 省略可
-
最大
number 省略可
-
分
number 省略可
-
quant
number 省略可
-
type
OptionGroup
プロパティ
-
メンバー
string[]
ドライバが提供する順序のオプション名の配列。
-
title
文字列
印刷可能なタイトル(「ジオメトリ オプション」など)を指定します。
OptionSetting
プロパティ
-
name
文字列
設定するオプションの名前を示します。
-
type
オプションのデータ型を示します。リクエストされたデータ型は、基になるオプションの実際のデータ型と一致する必要があります。
-
値
string | number | boolean | number[] 省略可
設定する値を示します。
autoSettableが有効になっているオプションの自動設定をリクエストするには、未設定のままにします。valueに指定されたデータ型はtypeと一致する必要があります。
OptionType
オプションのデータ型。
列挙型
"UNKNOWN"
オプションのデータ型が不明です。value プロパティの設定が解除されます。
"BOOL"
value プロパティは truefalse のいずれかになります。
"INT"
符号付き 32 ビット整数。value プロパティは、オプションが複数の値を取るかどうかに応じて、long または long[] になります。
"FIXED"
-32768 ~ 32767.9999 の範囲の double。解像度は 1/65535。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
number 省略可
resultがSUCCESSの場合、これまでに配信されたスキャンデータの合計量の推定値(0 ~ 100 の範囲)。 -
ジョブ
文字列
readScanData()に渡されたジョブハンドルを提供します。 -
件の結果
データの読み取り結果。値が
SUCCESSの場合、dataには、読み取り可能な画像データの次のチャンク(長さがゼロの場合もあります)が含まれます。値がEOFの場合、dataには画像データの最後のチャンクが含まれます。
ScannerInfo
プロパティ
-
connectionType
スキャナがパソコンにどのように接続されているかを示します。
-
deviceUuid
文字列
同じ実機を指す他の
ScannerInfoエントリとの照合に使用されます。 -
imageFormats
string[]
返されたスキャンに対してリクエストできる MIME タイプの配列。
-
メーカー
文字列
スキャナのメーカー。
-
モデル
文字列
スキャナのモデル(利用可能な場合)または一般的な説明。
-
name
文字列
UI に表示されるスキャナの人が読める名前。
-
protocolType
文字列
スキャナへのアクセスに使用されるプロトコルまたはドライバ(Mopria、WSD、epsonds など)の人が読める形式の説明。これは主に、デバイスが複数のプロトコルをサポートしている場合に、ユーザーがプロトコルを選択できるようにするために役立ちます。
-
scannerId
文字列
特定のスキャナの ID。
-
安全
ブール値
true の場合、スキャナ接続のトランスポートは、TLS や USB などのパッシブ リスナーによって傍受されません。
ScannerOption
プロパティ
-
構成の柔軟性
オプションを変更できるかどうか、および変更方法を示します。
-
制約
OptionConstraint 省略可
現在のスキャナ オプションで
OptionConstraintを定義します。 -
説明
文字列
オプションの詳しい説明。
-
isActive
ブール値
オプションが有効で、設定または取得できることを示します。false の場合、
valueプロパティは設定されません。 -
isAdvanced
ブール値
UI でこのオプションをデフォルトで表示しないことを示します。
-
isAutoSettable
ブール値
スキャナ ドライバによって自動的に設定できます。
-
isDetectable
ブール値
このオプションをソフトウェアから検出できることを示します。
-
isEmulated
ブール値
true の場合、スキャナ ドライバによってエミュレートされます。
-
name
文字列
オプション名。小文字の ASCII 文字、数字、ダッシュを使用します。発音区別符号は使用できません。
-
title
文字列
印刷可能な 1 行のタイトル。
-
type
valueプロパティに含まれるデータ型。このオプションを設定するために必要です。 -
単位
このオプションの測定単位。
-
値
string | number | boolean | number[] 省略可
オプションの現在の値(該当する場合)。このプロパティのデータ型は、
typeで指定されたデータ型と一致する必要があります。
ScanOptions
プロパティ
-
maxImages
number 省略可
スキャンできる画像の数。デフォルトは 1 です。
-
mimeTypes
string[] 省略可
呼び出し元が受け入れる MIME タイプ。
ScanResults
プロパティ
-
dataUrls
string[]
画像タグに「src」値として渡すことができる形式のデータ画像 URL の配列。
-
mimeType
文字列
dataUrlsの MIME タイプ。
SetOptionResult
プロパティ
-
name
文字列
設定されたオプションの名前を示します。
-
件の結果
オプションの設定結果を示します。
SetOptionsResponse
プロパティ
-
オプション
オブジェクト(省略可)
指定されたすべてのオプションを設定しようとした後の新しい構成を含む、オプション名から
ScannerOption値への更新された Key-Value マッピング。これは、OpenScannerResponseのoptionsプロパティと同じ構造です。このプロパティは、一部のオプションが正常に設定されなかった場合でも設定されますが、更新された構成の取得に失敗した場合(スキャンの途中でスキャナが切断された場合など)は設定されません。
-
結果
結果の配列。渡された
OptionSettingごとに 1 つずつ。 -
scannerHandle
文字列
setOptions()に渡されたスキャナ ハンドルを提供します。
StartScanOptions
プロパティ
-
形式
文字列
スキャンされたデータを返す MIME タイプを指定します。
-
maxReadSize
number 省略可
ゼロ以外の値を指定すると、1 つの
readScanDataレスポンスで返されるスキャンされた最大バイト数がその値に制限されます。最小値は 32768(32 KB)です。このプロパティが指定されていない場合、返されるチャンクのサイズは、スキャンされた画像全体と同じ大きさになることがあります。
StartScanResponse
プロパティ
-
ジョブ
文字列 省略可
resultがSUCCESSの場合、スキャンデータの読み取りやジョブのキャンセルに使用できるハンドルを提供します。 -
件の結果
スキャンの開始結果。この値が
SUCCESSの場合、jobプロパティが入力されます。 -
scannerHandle
文字列
startScan()に渡されたものと同じスキャナ ハンドルを提供します。
メソッド
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
): Promise<CancelScanResponse>
開始されたスキャンをキャンセルし、CancelScanResponse オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。
パラメータ
-
ジョブ
文字列
以前に
startScanの呼び出しから返されたアクティブなスキャンジョブのハンドル。 -
callback
function 省略可
callbackパラメータは次のようになります。(response: CancelScanResponse) => void
-
レスポンス
-
戻り値
-
Promise<CancelScanResponse>
結果で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
): Promise<CloseScannerResponse>
渡されたハンドルでスキャナを閉じ、CloseScannerResponse オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。レスポンスが成功でない場合でも、指定されたハンドルは無効になり、それ以降のオペレーションには使用できません。
パラメータ
-
scannerHandle
文字列
以前に
openScannerの呼び出しから返された、開いているスキャナのハンドルを指定します。 -
callback
function 省略可
callbackパラメータは次のようになります。(response: CloseScannerResponse) => void
-
レスポンス
-
戻り値
-
Promise<CloseScannerResponse>
結果で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
): Promise<GetOptionGroupsResponse>
openScanner によって以前に開かれたスキャナから、グループ名とメンバー オプションを取得します。このメソッドは、GetOptionGroupsResponse オブジェクトで解決される Promise を返します。この関数にコールバックが渡されると、返されたデータが代わりにコールバックに渡されます。
パラメータ
-
scannerHandle
文字列
openScannerの呼び出しから返された、開いているスキャナのハンドル。 -
callback
function 省略可
callbackパラメータは次のようになります。(response: GetOptionGroupsResponse) => void
-
レスポンス
-
戻り値
-
Promise<GetOptionGroupsResponse>
結果で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
): Promise<GetScannerListResponse>
利用可能なスキャナのリストを取得し、GetScannerListResponse オブジェクトで解決される Promise を返します。この関数にコールバックが渡されると、返されたデータが代わりにコールバックに渡されます。
パラメータ
-
filter
返されるスキャナの種類を示す
DeviceFilter。 -
callback
function 省略可
callbackパラメータは次のようになります。(response: GetScannerListResponse) => void
-
レスポンス
-
戻り値
-
Promise<GetScannerListResponse>
結果とスキャナのリストで解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
): Promise<OpenScannerResponse>
排他的アクセス用にスキャナを開き、OpenScannerResponse オブジェクトで解決される Promise を返します。この関数にコールバックが渡されると、返されたデータが代わりにコールバックに渡されます。
パラメータ
-
scannerId
文字列
開くスキャナの ID。この値は、前回の
getScannerListの呼び出しから返された値です。 -
callback
function 省略可
callbackパラメータは次のようになります。(response: OpenScannerResponse) => void
-
レスポンス
-
戻り値
-
Promise<OpenScannerResponse>
結果で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
): Promise<ReadScanDataResponse>
アクティブなジョブハンドルから、利用可能な画像データの次のチャンクを読み取り、ReadScanDataResponse オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。
**注:**レスポンス結果が SUCCESS で、長さがゼロの data メンバーが含まれている場合は有効です。これは、スキャナはまだ動作しているものの、追加のデータがまだ準備されていないことを意味します。呼び出し元はしばらく待ってから再試行する必要があります。
スキャンジョブが完了すると、レスポンスに EOF の結果値が返されます。このレスポンスには、ゼロ以外の最終的な data メンバーが含まれている場合があります。
パラメータ
-
ジョブ
文字列
以前に
startScanから返されたアクティブなジョブハンドル。 -
callback
function 省略可
callbackパラメータは次のようになります。(response: ReadScanDataResponse) => void
-
レスポンス
-
戻り値
-
Promise<ReadScanDataResponse>
結果で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
): Promise<ScanResults>
ドキュメント スキャンを実行し、ScanResults オブジェクトで解決される Promise を返します。この関数にコールバックが渡されると、返されたデータが代わりに渡されます。
パラメータ
-
オプション
スキャン パラメータを含むオブジェクト。
-
callback
function 省略可
callbackパラメータは次のようになります。(result: ScanResults) => void
-
件の結果
-
戻り値
-
Promise<ScanResults>
Chrome 96 以降スキャン結果で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
): Promise<SetOptionsResponse>
指定されたスキャナにオプションを設定し、渡された OptionSetting オブジェクトの順序ですべての値を設定しようとした結果を含む SetOptionsResponse オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。
パラメータ
-
scannerHandle
文字列
オプションを設定するスキャナのハンドル。これは、以前に
openScannerの呼び出しから返された値である必要があります。 -
オプション
スキャナに適用する
OptionSettingオブジェクトのリスト。 -
callback
function 省略可
callbackパラメータは次のようになります。(response: SetOptionsResponse) => void
-
レスポンス
-
戻り値
-
Promise<SetOptionsResponse>
結果で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
): Promise<StartScanResponse>
指定されたスキャナでスキャンを開始し、StartScanResponse で解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。呼び出しが成功すると、レスポンスには、スキャンデータの読み取りやスキャンのキャンセルを行う後続の呼び出しで使用できるジョブハンドルが含まれます。
パラメータ
-
scannerHandle
文字列
開いているスキャナのハンドル。これは、以前に
openScannerの呼び出しから返された値である必要があります。 -
オプション
スキャンに使用するオプションを示す
StartScanOptionsオブジェクト。StartScanOptions.formatプロパティは、スキャナのScannerInfoで返されるエントリのいずれかと一致する必要があります。 -
callback
function 省略可
callbackパラメータは次のようになります。(response: StartScanResponse) => void
-
レスポンス
-
戻り値
-
Promise<StartScanResponse>
結果で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。