chrome.documentScan

説明

接続されたドキュメント スキャナから画像を検出して取得するには、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 以降

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

列挙型

「不明」

「USB」

「ネットワーク」

ConstraintType

Chrome 125 以降

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

列挙型

"INT_RANGE"
OptionType.INT 値の範囲に対する制約。OptionConstraintminmaxquant プロパティが long になり、list プロパティの設定が解除されます。

"FIXED_RANGE"
OptionType.FIXED 値の範囲に対する制約。OptionConstraintminmaxquant プロパティが 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 以降

プロパティ

  • ローカル

    ブール値(省略可)

    返品するスキャナは、パソコンに直接取り付けられているものに限られます。

  • 安全

    ブール値(省略可)

    USB や TLS などのセキュアなトランスポートを使用するスキャナのみを返品してください。

GetOptionGroupsResponse

Chrome 125 以降

プロパティ

  • グループ

    OptionGroup[] 省略可

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

  • 件の結果

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

  • scannerHandle

    文字列

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

GetScannerListResponse

Chrome 125 以降

プロパティ

  • 件の結果

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

  • スキャナ

    指定された DeviceFilter に一致するスキャナのリスト。空である可能性もあります。

OpenScannerResponse

Chrome 125 以降

プロパティ

  • オプション

    オブジェクト(省略可)

    resultSUCCESS の場合は、Key-Value マッピングを指定します。キーはデバイス固有のオプションで、値は ScannerOption のインスタンスです。

  • 件の結果

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

  • scannerHandle

    文字列(省略可)

    resultSUCCESS の場合、以降の操作に使用できるスキャナへのハンドル。

  • 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[] |数値 [] 省略可

  • 最大

    数値(省略可)

  • 数値(省略可)

  • クオン

    数値(省略可)

OptionGroup

Chrome 125 以降

プロパティ

  • メンバー

    string[]

    ドライバから提供された順序でのオプション名の配列。

  • title

    文字列

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

OptionSetting

Chrome 125 以降

プロパティ

  • name

    文字列

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

  • type

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

  • string |数値 |boolean |数値 [] 省略可

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

OptionType

Chrome 125 以降

オプションのデータ型。

列挙型

"UNKNOWN"
オプションのデータタイプは不明です。value プロパティの設定が解除されます。

"BOOL"
value プロパティは、truefalse のいずれかになります。

"INT"
符号付き 32 ビット整数。value プロパティは、オプションが複数の値を取るかどうかに応じて、long または long[] になります。

"修正済み"
解像度 1/65535 の -32768 ~ 32767.9999 の範囲の double 型。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(省略可)

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

  • estimatedCompletion

    数値(省略可)

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

  • ジョブ

    文字列

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

  • 件の結果

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

ScannerInfo

Chrome 125 以降

プロパティ

  • connectionType

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

  • deviceUuid

    文字列

    同じ物理デバイスを参照する他の ScannerInfo エントリと照合します。

  • imageFormats

    string[]

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

  • メーカー

    文字列

    スキャナのメーカー。

  • モデル

    文字列

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

  • name

    文字列

    UI に表示する、人が読める形式のスキャナ名。

  • protocolType

    文字列

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

  • scannerId

    文字列

    特定のスキャナの ID。

  • 安全

    ブール値

    true の場合、TLS や USB などのパッシブ リスナーがスキャナ接続のトランスポートをインターセプトすることはできません。

ScannerOption

Chrome 125 以降

プロパティ

  • 構成の柔軟性

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

  • 制約

    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

Chrome 125 以降

プロパティ

  • name

    文字列

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

  • 件の結果

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

SetOptionsResponse

Chrome 125 以降

プロパティ

  • オプション

    オブジェクト(省略可)

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

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

  • 結果

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

  • scannerHandle

    文字列

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

StartScanOptions

Chrome 125 以降

プロパティ

  • 形式

    文字列

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

  • maxReadSize

    数値(省略可)

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

StartScanResponse

Chrome 125 以降

プロパティ

  • ジョブ

    文字列(省略可)

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

  • 件の結果

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

  • scannerHandle

    文字列

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

メソッド

cancelScan()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 125 以降 をご覧ください。
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

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

パラメータ

  • ジョブ

    文字列

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

  • callback

    関数(省略可)

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

    (response: CancelScanResponse) => void

戻り値

  • Promise&lt;CancelScanResponse&gt;

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

closeScanner()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 125 以降 をご覧ください。
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

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

パラメータ

  • scannerHandle

    文字列

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

  • callback

    関数(省略可)

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

    (response: CloseScannerResponse) => void

戻り値

  • Promise&lt;CloseScannerResponse&gt;

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

getOptionGroups()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 125 以降 をご覧ください。
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

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

パラメータ

  • scannerHandle

    文字列

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

  • callback

    関数(省略可)

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

    (response: GetOptionGroupsResponse) => void

戻り値

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

getScannerList()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 125 以降 をご覧ください。
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

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

パラメータ

戻り値

  • Promise&lt;GetScannerListResponse&gt;

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

openScanner()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 125 以降 をご覧ください。
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

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

パラメータ

  • scannerId

    文字列

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

  • callback

    関数(省略可)

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

    (response: OpenScannerResponse) => void

戻り値

  • Promise&lt;OpenScannerResponse&gt;

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

readScanData()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 125 以降 をご覧ください。
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

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

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

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

パラメータ

  • ジョブ

    文字列

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

  • callback

    関数(省略可)

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

    (response: ReadScanDataResponse) => void

戻り値

  • Promise&lt;ReadScanDataResponse&gt;

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

scan()

<ph type="x-smartling-placeholder"></ph> 約束
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

ドキュメントのスキャンを実行し、ScanResults オブジェクトで解決される Promise を返します。この関数にコールバックが渡された場合は、代わりに返されたデータが渡されます。

パラメータ

  • オプション

    スキャン パラメータを含むオブジェクト。

  • callback

    関数(省略可)

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

    (result: ScanResults) => void

戻り値

  • Promise&lt;ScanResults&gt;

    Chrome 96 以降

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

setOptions()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 125 以降 をご覧ください。
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

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

パラメータ

  • scannerHandle

    文字列

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

  • オプション

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

  • callback

    関数(省略可)

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

    (response: SetOptionsResponse) => void

戻り値

  • Promise&lt;SetOptionsResponse&gt;

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

startScan()

<ph type="x-smartling-placeholder"></ph> 約束 Chrome 125 以降 をご覧ください。
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

指定されたスキャナのスキャンを開始し、StartScanResponse で解決される Promise を返します。コールバックが使用されている場合は、代わりにオブジェクトがそのコールバックに渡されます。呼び出しが成功した場合、レスポンスにはジョブハンドルが含まれます。このハンドルは、後続の呼び出しでスキャンデータの読み取りやスキャンのキャンセルに使用できます。

パラメータ

  • scannerHandle

    文字列

    開いているスキャナのハンドル。以前に openScanner の呼び出しで返された値にする必要があります。

  • オプション

    スキャンに使用するオプションを示す StartScanOptions オブジェクト。StartScanOptions.format プロパティは、スキャナの ScannerInfo で返されるエントリのいずれかと一致する必要があります。

  • callback

    関数(省略可)

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

    (response: StartScanResponse) => void

戻り値

  • Promise&lt;StartScanResponse&gt;

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