chrome.documentScan

更新日: 2026-09-25 robots: noindex

説明

chrome.documentScan API を使用して、接続されたドキュメント スキャナから画像を検出して取得します。

権限

documentScan

対象

Chrome 44 以降 ChromeOS のみ

Document Scan API

Document Scan API は、アプリや拡張機能が、接続されたドキュメント スキャナで紙のドキュメントの内容を表示できるように設計されています。

型

CancelScanResponse

Chrome 125 以降

プロパティ

  • ジョブ

    文字列

    cancelScan() に渡されたものと同じジョブハンドルを提供します。

  • 件の結果

    バックエンドのスキャン キャンセルの結果。結果が OperationResult.SUCCESS または OperationResult.CANCELLED の場合、スキャンはキャンセルされ、スキャナは新しいスキャンを開始する準備ができています。結果が OperationResult.DEVICE_BUSY の場合、スキャナはリクエストされたキャンセルをまだ処理しています。呼び出し元はしばらく待ってから、リクエストを再試行する必要があります。その他の結果値は、再試行すべきでない永続的なエラーを示します。

CloseScannerResponse

Chrome 125 以降

プロパティ

  • 件の結果

    スキャナを閉じた結果。この値が SUCCESS でない場合でも、ハンドルは無効になり、それ以降のオペレーションには使用できません。

  • scannerHandle

    文字列

    closeScanner に渡されたものと同じスキャナ ハンドル。

Configurability

Chrome 125 以降

オプションの変更方法。

列挙型

"NOT_CONFIGURABLE"
オプションは読み取り専用です。

"SOFTWARE_CONFIGURABLE"
このオプションはソフトウェアで設定できます。

"HARDWARE_CONFIGURABLE"
ユーザーがスキャナのボタンを切り替えたり押したりすることで、オプションを設定できます。

ConnectionType

Chrome 125 以降

スキャナがパソコンにどのように接続されているかを示します。

列挙型

"UNSPECIFIED"

「USB」

"NETWORK"

ConstraintType

Chrome 125 以降

OptionConstraint で表される制約のデータ型。

列挙型

"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

Chrome 125 以降

プロパティ

  • ローカル

    boolean 省略可

    パソコンに直接接続されているスキャナのみを返します。

  • 安全

    boolean 省略可

    USB や TLS などの安全な転送を使用するスキャナのみを返します。

GetOptionGroupsResponse

Chrome 125 以降

プロパティ

  • グループ

    OptionGroup[] 省略可

    result が SUCCESS の場合、スキャナ ドライバから提供された順序でオプション グループのリストを提供します。

  • 件の結果

    オプション グループの取得結果。この値が SUCCESS の場合、groups プロパティが入力されます。

  • scannerHandle

    文字列

    getOptionGroups に渡されたものと同じスキャナ ハンドル。

GetScannerListResponse

Chrome 125 以降

プロパティ

  • 件の結果

    列挙結果。エラーが示されている場合でも、部分的な結果が返されることがあります。

  • スキャナ

    指定された DeviceFilter と一致するスキャナのリスト(空の場合もあります)。

OpenScannerResponse

Chrome 125 以降

プロパティ

  • オプション

    オブジェクト(省略可)

    result が SUCCESS の場合、キーがデバイス固有のオプションで、値が ScannerOption のインスタンスである Key-Value マッピングを提供します。

  • 件の結果

    スキャナを開いた結果。この値が SUCCESS の場合、scannerHandle プロパティと options プロパティが入力されます。

  • scannerHandle

    文字列 省略可

    result が SUCCESS の場合、以降のオペレーションに使用できるスキャナのハンドル。

  • scannerId

    文字列

    openScanner() に渡されるスキャナ ID。

OperationResult

Chrome 125 以降

各オペレーションの結果を示す列挙型。

列挙型

"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

Chrome 125 以降

プロパティ

  • list

    string[] | number[] 省略可

  • 最大

    number 省略可

  • 分

    number 省略可

  • quant

    number 省略可

OptionGroup

Chrome 125 以降

プロパティ

  • メンバー

    string[]

    ドライバが提供する順序のオプション名の配列。

  • title

    文字列

    印刷可能なタイトル(「ジオメトリ オプション」など)を指定します。

OptionSetting

Chrome 125 以降

プロパティ

  • name

    文字列

    設定するオプションの名前を示します。

  • type

    オプションのデータ型を示します。リクエストされたデータ型は、基になるオプションの実際のデータ型と一致する必要があります。

  • 値

    string | number | boolean | number[] 省略可

    設定する値を示します。autoSettable が有効になっているオプションの自動設定をリクエストするには、未設定のままにします。value に指定されたデータ型は type と一致する必要があります。

OptionType

Chrome 125 以降

オプションのデータ型。

列挙型

"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() を使用して、メンバー オプションを含むグループのリストを取得します。

OptionUnit

Chrome 125 以降

ScannerOption.unit のデータ型を示します。

列挙型

"UNITLESS"
値は単位のない数値です。たとえば、しきい値などです。

"PIXEL"
値はピクセル数です(スキャン寸法など)。

"BIT"
値はビット数(色深度など)です。

"MM"
値はミリメートル単位で測定されます(例: スキャン寸法)。

"DPI"
値は 1 インチあたりのドット数(解像度など)で測定されます。

"PERCENT"
値はパーセントです(例: 明るさ)。

"MICROSECOND"
値はマイクロ秒単位で測定されます(例: 露光時間)。

ReadScanDataResponse

Chrome 125 以降

プロパティ

  • データ

    ArrayBuffer 省略可

    result が SUCCESS の場合、スキャンされた画像データの次のチャンクが含まれます。result が EOF の場合、スキャンされた画像データの最後のチャンクが含まれます。

  • estimatedCompletion

    number 省略可

    result が SUCCESS の場合、これまでに配信されたスキャンデータの合計量の推定値(0 ~ 100 の範囲)。

  • ジョブ

    文字列

    readScanData() に渡されたジョブハンドルを提供します。

  • 件の結果

    データの読み取り結果。値が SUCCESS の場合、data には、読み取り可能な画像データの次のチャンク(長さがゼロの場合もあります)が含まれます。値が EOF の場合、data には画像データの最後のチャンクが含まれます。

ScannerInfo

Chrome 125 以降

プロパティ

  • connectionType

    スキャナがパソコンにどのように接続されているかを示します。

  • deviceUuid

    文字列

    同じ実機を指す他の ScannerInfo エントリとの照合に使用されます。

  • imageFormats

    string[]

    返されたスキャンに対してリクエストできる MIME タイプの配列。

  • メーカー

    文字列

    スキャナのメーカー。

  • モデル

    文字列

    スキャナのモデル(利用可能な場合)または一般的な説明。

  • name

    文字列

    UI に表示されるスキャナの人が読める名前。

  • protocolType

    文字列

    スキャナへのアクセスに使用されるプロトコルまたはドライバ(Mopria、WSD、epsonds など)の人が読める形式の説明。これは主に、デバイスが複数のプロトコルをサポートしている場合に、ユーザーがプロトコルを選択できるようにするために役立ちます。

  • scannerId

    文字列

    特定のスキャナの ID。

  • 安全

    ブール値

    true の場合、スキャナ接続のトランスポートは、TLS や USB などのパッシブ リスナーによって傍受されません。

ScannerOption

Chrome 125 以降

プロパティ

  • 構成の柔軟性

    オプションを変更できるかどうか、および変更方法を示します。

  • 制約

    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

Chrome 125 以降

プロパティ

  • name

    文字列

    設定されたオプションの名前を示します。

  • 件の結果

    オプションの設定結果を示します。

SetOptionsResponse

Chrome 125 以降

プロパティ

  • オプション

    オブジェクト(省略可)

    指定されたすべてのオプションを設定しようとした後の新しい構成を含む、オプション名から ScannerOption 値への更新された Key-Value マッピング。これは、OpenScannerResponse の options プロパティと同じ構造です。

    このプロパティは、一部のオプションが正常に設定されなかった場合でも設定されますが、更新された構成の取得に失敗した場合(スキャンの途中でスキャナが切断された場合など)は設定されません。

  • 結果

    結果の配列。渡された OptionSetting ごとに 1 つずつ。

  • scannerHandle

    文字列

    setOptions() に渡されたスキャナ ハンドルを提供します。

StartScanOptions

Chrome 125 以降

プロパティ

  • 形式

    文字列

    スキャンされたデータを返す MIME タイプを指定します。

  • maxReadSize

    number 省略可

    ゼロ以外の値を指定すると、1 つの readScanData レスポンスで返されるスキャンされた最大バイト数がその値に制限されます。最小値は 32768(32 KB)です。このプロパティが指定されていない場合、返されるチャンクのサイズは、スキャンされた画像全体と同じ大きさになることがあります。

StartScanResponse

Chrome 125 以降

プロパティ

  • ジョブ

    文字列 省略可

    result が SUCCESS の場合、スキャンデータの読み取りやジョブのキャンセルに使用できるハンドルを提供します。

  • 件の結果

    スキャンの開始結果。この値が SUCCESS の場合、job プロパティが入力されます。

  • scannerHandle

    文字列

    startScan() に渡されたものと同じスキャナ ハンドルを提供します。

メソッド

cancelScan()

Promise Chrome 125 以降
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)
: Promise<CancelScanResponse>

開始されたスキャンをキャンセルし、CancelScanResponse オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。

パラメータ

  • ジョブ

    文字列

    以前に startScan の呼び出しから返されたアクティブなスキャンジョブのハンドル。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (response: CancelScanResponse) => void

戻り値

  • 結果で解決される Promise を返します。

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

closeScanner()

Promise Chrome 125 以降
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)
: Promise<CloseScannerResponse>

渡されたハンドルでスキャナを閉じ、CloseScannerResponse オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。レスポンスが成功でない場合でも、指定されたハンドルは無効になり、それ以降のオペレーションには使用できません。

パラメータ

  • scannerHandle

    文字列

    以前に openScanner の呼び出しから返された、開いているスキャナのハンドルを指定します。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (response: CloseScannerResponse) => void

戻り値

  • 結果で解決される Promise を返します。

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getOptionGroups()

Promise Chrome 125 以降
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)
: Promise<GetOptionGroupsResponse>

openScanner によって以前に開かれたスキャナから、グループ名とメンバー オプションを取得します。このメソッドは、GetOptionGroupsResponse オブジェクトで解決される Promise を返します。この関数にコールバックが渡されると、返されたデータが代わりにコールバックに渡されます。

パラメータ

  • scannerHandle

    文字列

    openScanner の呼び出しから返された、開いているスキャナのハンドル。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (response: GetOptionGroupsResponse) => void

戻り値

  • 結果で解決される Promise を返します。

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

getScannerList()

Promise Chrome 125 以降
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)
: Promise<GetScannerListResponse>

利用可能なスキャナのリストを取得し、GetScannerListResponse オブジェクトで解決される Promise を返します。この関数にコールバックが渡されると、返されたデータが代わりにコールバックに渡されます。

パラメータ

戻り値

  • 結果とスキャナのリストで解決される Promise を返します。

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

openScanner()

Promise Chrome 125 以降
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)
: Promise<OpenScannerResponse>

排他的アクセス用にスキャナを開き、OpenScannerResponse オブジェクトで解決される Promise を返します。この関数にコールバックが渡されると、返されたデータが代わりにコールバックに渡されます。

パラメータ

  • scannerId

    文字列

    開くスキャナの ID。この値は、前回の getScannerList の呼び出しから返された値です。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (response: OpenScannerResponse) => void

戻り値

  • 結果で解決される Promise を返します。

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

readScanData()

Promise Chrome 125 以降
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)
: Promise<ReadScanDataResponse>

アクティブなジョブハンドルから、利用可能な画像データの次のチャンクを読み取り、ReadScanDataResponse オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。

**注:**レスポンス結果が SUCCESS で、長さがゼロの data メンバーが含まれている場合は有効です。これは、スキャナはまだ動作しているものの、追加のデータがまだ準備されていないことを意味します。呼び出し元はしばらく待ってから再試行する必要があります。

スキャンジョブが完了すると、レスポンスに EOF の結果値が返されます。このレスポンスには、ゼロ以外の最終的な data メンバーが含まれている場合があります。

パラメータ

  • ジョブ

    文字列

    以前に startScan から返されたアクティブなジョブハンドル。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (response: ReadScanDataResponse) => void

戻り値

  • 結果で解決される Promise を返します。

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

scan()

Promise
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()

Promise Chrome 125 以降
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)
: Promise<SetOptionsResponse>

指定されたスキャナにオプションを設定し、渡された OptionSetting オブジェクトの順序ですべての値を設定しようとした結果を含む SetOptionsResponse オブジェクトで解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトが渡されます。

パラメータ

  • scannerHandle

    文字列

    オプションを設定するスキャナのハンドル。これは、以前に openScanner の呼び出しから返された値である必要があります。

  • オプション

    スキャナに適用する OptionSetting オブジェクトのリスト。

  • callback

    function 省略可

    callback パラメータは次のようになります。

    (response: SetOptionsResponse) => void

戻り値

  • 結果で解決される Promise を返します。

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。

startScan()

Promise Chrome 125 以降
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 を返します。

    Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。