Beschreibung
Verwenden Sie die chrome.documentScan
API, um Bilder von angehängten Dokumentenscannern zu ermitteln und abzurufen.
Die Document Scan API ermöglicht Apps und Erweiterungen das Anzeigen der Inhalt von Papierdokumenten in einem angeschlossenen Dokumentenscanner.
Berechtigungen
documentScan
Verfügbarkeit
Konzepte und Verwendung
Diese API unterstützt zwei Methoden zum Scannen von Dokumenten. Wenn Ihr Anwendungsfall funktioniert
mit jedem Scanner und keine Kontrolle über die Konfiguration benötigen, nutzen Sie
scan()
-Methode. Komplexere Anwendungsfälle erfordern eine Kombination aus Methoden,
die erst ab Chrome 124 unterstützt werden.
Einfaches Scannen
Für einfache Anwendungsfälle, also solche, die mit jedem Scanner funktionieren und nicht
Kontrolle über die Konfiguration erfordern, rufen Sie scan()
auf. Bei dieser Methode wird ein
ScanOptions
-Objekt und gibt ein Promise zurück, das mit einem ScanResults
aufgelöst wird
-Objekt enthält. Die Möglichkeiten dieser Option
sind auf die Anzahl der Scans und
Die MIME-Typen, die vom Aufrufer akzeptiert werden. Scans werden als URLs zurückgegeben
zur Anzeige in einem <img>
-Tag für eine Benutzeroberfläche.
Komplexe Scans
Komplexe Scans werden in drei Phasen durchgeführt, wie in diesem Abschnitt beschrieben. Diese Übersicht beschreibt nicht jedes Methodenargument oder jede zurückgegebene Eigenschaft in einer Antwort. Sie soll Ihnen lediglich als allgemeiner Leitfaden für den Schreibscanner dienen. Code.
Discovery
Rufen Sie
getScannerList()
auf. Verfügbare Scanner sind: wird in einem Promise zurückgegeben, das mit einemGetScannerListResponse
- Das Antwortobjekt enthält ein Array von
ScannerInfo
Objekte. - Das Array kann mehrere Einträge für einen Scanner enthalten, wenn dieser Scanner mehrere Protokolle oder Verbindungsmethoden unterstützt.
- Das Antwortobjekt enthält ein Array von
Wählen Sie einen Scanner aus dem zurückgegebenen Array aus und speichern Sie den Wert seines
scannerId
-Property.Die Attribute einzelner
ScannerInfo
-Objekte verwenden um verschiedene Objekte mit demselben Scanner zu unterscheiden. Objekte aus dem hat denselben Scanner für die EigenschaftdeviceUuid
.ScannerInfo
enthält auch eineimageFormats
-Eigenschaft mit einem Array von unterstützten Image-Typen.
Scannerkonfiguration
Rufen Sie
openScanner()
auf und übergeben Sie die gespeicherte Scanner-ID. Sie gibt ein Promise zurück, das mit einemOpenScannerResponse
aufgelöst wird. Das Antwortobjekt enthält:Eine
scannerHandle
-Property, die du speichern musst.Eine Optionseigenschaft mit scanner-spezifischen Eigenschaften, die Sie die Sie festlegen müssen. Weitere Informationen finden Sie unter Scanneroptionen abrufen.
(Optional) Wenn der Nutzer Werte für Scanneroptionen angeben soll, eine Benutzeroberfläche zu erstellen. Sie benötigen die Scanneroptionen des und Sie müssen die Optionsgruppen abrufen, die vom Scanner. Weitere Informationen finden Sie unter Benutzeroberfläche erstellen.
Array von
OptionSetting
-Objekten mithilfe von programmatische oder von Nutzern bereitgestellte Werte. Weitere Informationen findest du unter „Scannenoptionen festlegen“ Informationen.Array von
OptionSetting
-Objekten übergeben ansetOptions()
, um Optionen für den Scanner festzulegen. Es gibt ein Promise zurück, das mit einemSetOptionsResponse
Dieses Objekt enthält ein aktualisierte Version der Scanneroptionen, die in Schritt 1 des Scanners abgerufen wurden Konfiguration.Seit der Änderung eines Einschränkungen einer anderen Option ändern können, müssen Sie diese Schritte Schritte wiederholt.
Scannen
StartScanOptions
-Objekt erstellen und übergeben anstartScan()
. Es gibt ein Promise zurück, das mit einemStartScanResponse
. Diejob
-Property ist einen Handle, mit dem Sie entweder Scandaten lesen oder den Scan abbrechen.Übergeben Sie das Job-Handle an
readScanData()
. Es wird ein Versprechen, das mit einerReadScanDataResponse
-Objekt. Wenn Daten gelesen wurden ist, hat die Eigenschaftresult
den WertSUCCESS
und die Eigenschaftdata
enthält einArrayBuffer
mit einem Teil des Scans.estimatedCompletion
enthält eine geschätzte Prozentsatz der bisher gelieferten Gesamtdaten.Wiederholen Sie den vorherigen Schritt, bis das Attribut
result
gleichEOF
oder ein Fehler ist.
Wenn das Ende des Scans erreicht ist, rufen Sie
closeScanner()
mit dem Scanner-Ziehpunkt, der im Schritt gespeichert wurde
3. Sie gibt ein Promise zurück, das mit einem
CloseScannerResponse
Anrufen
Mit cancelScan()
wird nach dem Erstellen des Jobs
Scanvorgang beenden.
Antwortobjekte
Alle Methoden geben ein Promise zurück, das mit einem Antwortobjekt aufgelöst wird.
Die meisten davon enthalten eine result
-Eigenschaft, deren Wert ein Element von ist
OperationResult
Einige Attribute von Antwortobjekten
enthält keine Werte, es sei denn, der Wert von result
hat einen bestimmten Wert. Diese
-Beziehungen werden in der Referenz für jedes Antwortobjekt beschrieben.
OpenScannerResponse.scannerHandle
hat beispielsweise nur dann einen Wert, wenn
OpenScannerResponse.result
entspricht SUCCESS
.
Scanneroptionen
Die Scanneroptionen unterscheiden sich je nach Gerät erheblich. Daher ist es nicht möglich,
die Scanner-Optionen direkt in der documentScan API abbilden. Navigation
Dies ist der OpenScannerResponse
(abgerufen mit
openScanner()
) und die
SetOptionsResponse
(das Antwortobjekt für
setOptions()
) eine options
-Eigenschaft enthalten, die ein
Objekt mit scannerspezifischen Optionen. Jede Option ist eine Schlüssel/Wert-Paar-Zuordnung
Dabei ist der Schlüssel eine gerätespezifische Option und der Wert eine Instanz von
ScannerOption
Die Struktur sieht im Allgemeinen so aus:
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
Stellen Sie sich beispielsweise einen Scanner vor, der Optionen mit dem Namen „Quelle“ zurückgibt. und
„Lösung“. Die Struktur des zurückgegebenen options
-Objekts sieht in etwa so aus:
wie im folgenden Beispiel. Der Einfachheit halber ist nur ein Teil davon ScannerOption
.
werden die Antworten angezeigt.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
Benutzeroberfläche erstellen
Obwohl die Verwendung dieser API nicht erforderlich ist, möchten Sie vielleicht, dass ein Nutzer den Wert für
für eine bestimmte Option. Hierfür ist eine Benutzeroberfläche erforderlich. Verwenden Sie die Methode
OpenScannerResponse
(geöffnet von
openScanner()
), um die Optionen für den angehängten
wie im vorherigen Abschnitt beschrieben.
Einige Scanner gruppieren Optionen gerätespezifisch. Sie haben keinen Einfluss auf die Option.
aber da diese Gruppen im Produkt des Scanners erwähnt werden,
Dokumentation, sollten diese Gruppen dem Nutzer angezeigt werden. Sie können diese
durch Aufrufen von getOptionGroups()
. Dadurch wird ein
Versprechen, das mit einer
GetOptionGroupsResponse
-Objekt. Es ist groups
enthält ein scanner-spezifisches Array von Gruppen. Verwenden Sie die Informationen in
um die Optionen in der
OpenScannerResponse
für die Anzeige.
{
scannerHandle: "123456",
result: SUCCESS,
groups: [
{
title: "Standard",
members: [ "resolution", "mode", "source" ]
}
]
}
Wie in der Scanner-Konfiguration angegeben, kann das Ändern einer Option die Einschränkungen ändern
für eine andere Option. Aus diesem Grund
setOptionsResponse
(das Antwortobjekt für
setOptions()
) enthält eine weitere options
-Property. Verwenden Sie
um die Benutzeroberfläche zu aktualisieren. Wiederholen Sie diesen Schritt nach Bedarf, bis alle Optionen richtig sind.
festgelegt.
Scanneroptionen festlegen
Legen Sie die Scanneroptionen fest, indem Sie ein Array von
OptionSetting
-Objekte in
setOptions()
Ein Beispiel finden Sie unten im Abschnitt Seite in Schriftgröße scannen.
Beispiele
Seite als Blob abrufen
Dieses Beispiel zeigt eine Möglichkeit, eine Seite aus dem Scanner als Blob abzurufen und
zeigt die Verwendung von startScan()
und readScanData()
unter Verwendung des Werts von
OperationResult
async function pageAsBlob(handle) {
let response = await chrome.documentScan.startScan(
handle, {format: "image/jpeg"});
if (response.result != chrome.documentScan.OperationResult.SUCCESS) {
return null;
}
const job = response.job;
let imgParts = [];
response = await chrome.documentScan.readScanData(job);
while (response.result == chrome.documentScan.OperationResult.SUCCESS) {
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
} else {
// Delay so hardware can make progress.
await new Promise(r => setTimeout(r, 100));
}
response = await chrome.documentScan.readScanData(job);
}
if (response.result != chrome.documentScan.OperationResult.EOF) {
return null;
}
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
}
return new Blob(imgParts, { type: "image/jpeg" });
}
Eine Seite in Schriftgröße scannen
In diesem Beispiel wird gezeigt, wie Sie einen Scanner auswählen, seine Optionen festlegen und ihn öffnen. Es
ruft dann den Inhalt einer einzelnen Seite ab und schließt den Scanner. Dieser Prozess
veranschaulicht die Verwendung von getScannerList()
, openScanner()
, setOptions()
und
closeScanner()
. Beachten Sie, dass der Inhalt der Seite durch Aufrufen von
pageAsBlob()
-Funktion aus dem vorherigen Beispiel.
async function scan() {
let response = await chrome.documentScan.getScannerList({ secure: true });
let scanner = await chrome.documentScan.openScanner(
response.scanners[0].scannerId);
const handle = scanner.scannerHandle;
let options = [];
for (source of scanner.options["source"].constraint.list) {
if (source.includes("ADF")) {
options.push({
name: "source",
type: chrome.documentScan.OptionType.STRING,
value: { value: source }
});
break;
}
}
options.push({
name: "tl-x",
type: chrome.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-x",
type: chrome.documentScan.OptionType.FIXED,
value: 215.9 // 8.5" in mm
});
options.push({
name: "tl-y",
type: chrome.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-y",
type: chrome.documentScan.OptionType.FIXED,
value: 279.4 // 11" in mm
});
response = await chrome.documentScan.setOptions(handle, options);
let imgBlob = await pageAsBlob(handle);
if (imgBlob != null) {
// Insert imgBlob into DOM, save to disk, etc
}
await chrome.documentScan.closeScanner(handle);
}
Konfiguration einblenden
Wie bereits erwähnt, müssen Nutzer die Konfigurationsoptionen des Scanners sehen.
Aufrufen von getOptionGroups()
zusätzlich zu den Scanneroptionen, die von einem
an openScanner()
. So können Optionen für Nutzende in
herstellerdefinierten Gruppen. In diesem Beispiel wird gezeigt, wie das geht.
async function showConfig() {
let response = await chrome.documentScan.getScannerList({ secure: true });
let scanner = await chrome.documentScan.openScanner(
response.scanners[0].scannerId);
let groups = await chrome.documentScan.getOptionGroups(scanner.scannerHandle);
for (const group of groups.groups) {
console.log("=== " + group.title + " ===");
for (const member of group.members) {
const option = scanner.options[member];
if (option.isActive) {
console.log(" " + option.name + " = " + option.value);
} else {
console.log(" " + option.name + " is inactive");
}
}
}
}
Typen
CancelScanResponse
Attribute
-
Job
String
Stellt die gleiche Job-Handle-Nummer bereit, die an
cancelScan()
übergeben wurde. -
Ergebnis
Ergebnis des Abbruchs des Scans des Back-Ends. Wenn das Ergebnis
OperationResult.SUCCESS
oderOperationResult.CANCELLED
lautet, wurde der Scan abgebrochen und der Scanner kann einen neuen Scan starten. Lautet das ErgebnisOperationResult.DEVICE_BUSY
, verarbeitet der Scanner die angeforderte Stornierung noch. sollte der Aufrufer kurz warten und die Anfrage wiederholen. Andere Ergebniswerte weisen auf einen dauerhaften Fehler hin, der nicht wiederholt werden sollte.
CloseScannerResponse
Attribute
-
Ergebnis
Das Ergebnis des Schließens des Scanners. Auch wenn dieser Wert nicht
SUCCESS
ist, ist der Alias ungültig und sollte nicht für weitere Vorgänge verwendet werden. -
scannerHandle
String
Derselbe Scanner-Handle, der an
closeScanner
übergeben wurde.
Configurability
Wie eine Option geändert werden kann.
Enum
"NOT_CONFIGURABLE"
Die Option ist schreibgeschützt.
„SOFTWARE_CONFIGURABLE“
Die Option kann in der Software festgelegt werden.
"HARDWARE_CONFIGURABLE"
Die Option kann vom Nutzer festgelegt werden, indem er am Scanner eine Taste ein- oder ausschaltet.
ConnectionType
Gibt an, wie der Scanner mit dem Computer verbunden ist.
Enum
"UNSPECIFIED"
„USB“
„NETZWERK“
ConstraintType
Der Datentyp der Einschränkung, der durch ein OptionConstraint
dargestellt wird.
Enum
"INT_RANGE"
Die Einschränkung für einen Bereich von OptionType.INT
-Werten. Die Attribute min
, max
und quant
von OptionConstraint
sind long
und ihre list
-Property wird aufgehoben.
"FIXED_RANGE"
Die Einschränkung für einen Bereich von OptionType.FIXED
-Werten. Die Attribute min
, max
und quant
von OptionConstraint
sind double
und das Attribut list
wird aufgehoben.
"INT_LIST"
Die Einschränkung für eine bestimmte Liste von OptionType.INT
-Werten. Das Attribut OptionConstraint.list
enthält long
-Werte und die anderen Attribute werden nicht festgelegt.
"FIXED_LIST"
Die Einschränkung für eine bestimmte Liste von OptionType.FIXED
-Werten. Das Attribut OptionConstraint.list
enthält double
-Werte und die anderen Attribute werden nicht festgelegt.
"STRING_LIST"
Die Einschränkung für eine bestimmte Liste von OptionType.STRING
-Werten. Das Attribut OptionConstraint.list
enthält DOMString
-Werte und die anderen Attribute werden nicht festgelegt.
DeviceFilter
Attribute
-
lokal
Boolescher Wert optional
Senden Sie nur Scanner zurück, die direkt am Computer befestigt sind.
-
sicher
Boolescher Wert optional
Senden Sie nur Scanner zurück, die eine sichere Übertragung wie USB oder TLS verwenden.
GetOptionGroupsResponse
Attribute
-
Gruppen
OptionGroup[] optional
Wenn
result
aufSUCCESS
gesetzt ist, erhalten Sie eine Liste der Optionsgruppen in der vom Scannertreiber angegebenen Reihenfolge. -
Ergebnis
Das Ergebnis des Abrufens der Optionsgruppen. Wenn der Wert dafür
SUCCESS
ist, wird das Attributgroups
mit Daten gefüllt. -
scannerHandle
String
Derselbe Scanner-Handle, der an
getOptionGroups
übergeben wurde.
GetScannerListResponse
Attribute
-
Ergebnis
Das Aufzählungsergebnis. Beachten Sie, dass Teilergebnisse zurückgegeben werden können, auch wenn dies auf einen Fehler hinweist.
-
Scanner
Eine möglicherweise leere Liste von Scannern, die mit den angegebenen
DeviceFilter
übereinstimmen.
OpenScannerResponse
Attribute
-
Optionen
Objekt optional
Wenn
result
den WertSUCCESS
hat, wird eine Schlüssel/Wert-Paar-Zuordnung bereitgestellt, wobei der Schlüssel eine gerätespezifische Option und der Wert eine Instanz vonScannerOption
ist. -
Ergebnis
Das Ergebnis des Öffnens des Scanners. Wenn der Wert
SUCCESS
lautet, werden die AttributescannerHandle
undoptions
ausgefüllt. -
scannerHandle
String optional
Wenn
result
SUCCESS
ist, ein Handle zum Scanner, der für weitere Vorgänge verwendet werden kann. -
scannerId
String
Die Scanner-ID, die an
openScanner()
übergeben wurde.
OperationResult
Ein Enum-Wert, der das Ergebnis jedes Vorgangs angibt.
Enum
"UNKNOWN"
Ein unbekannter oder allgemeiner Fehler ist aufgetreten.
"SUCCESS"
Der Vorgang war erfolgreich.
"UNSUPPORTED"
Der Vorgang wird nicht unterstützt.
"CANCELLED"
Der Vorgang wurde abgebrochen.
"DEVICE_BUSY"
Das Gerät ist nicht verfügbar.
"INVALID"
Entweder die an die Methode übergebenen Daten oder ein Argument sind ungültig.
"WRONG_TYPE"
Der angegebene Wert ist der falsche Datentyp für die zugrunde liegende Option.
"EOF"
Es sind keine weiteren Daten verfügbar.
"ADF_JAMMED"
Der Dokumenteneinzug klemmt.
"ADF_EMPTY"
Der Dokumenteneinzug ist leer.
"COVER_OPEN"
Die Abdeckung des Flachbetts ist offen.
"IO_ERROR"
Bei der Kommunikation mit dem Gerät ist ein Fehler aufgetreten.
"ACCESS_DENIED"
Das Gerät erfordert eine Authentifizierung.
"NO_MEMORY"
Auf dem Chromebook ist nicht genügend Speicher verfügbar, um den Vorgang abzuschließen.
"UNREACHABLE"
Das Gerät ist nicht erreichbar.
FEHLT
Das Gerät ist nicht verbunden.
"INTERNAL_ERROR"
Nicht in der aufrufenden Anwendung ist ein Fehler aufgetreten.
OptionConstraint
Attribute
-
list
string[] | number[] optional
-
max
Zahl optional
-
Min.
Zahl optional
-
Quant
Zahl optional
-
Typ
OptionGroup
Attribute
-
Mitglieder
String[]
Ein Array von Optionsnamen in der vom Treiber angegebenen Reihenfolge.
-
Titel
String
Liefert einen druckbaren Titel, z. B. „Geometrieoptionen“.
OptionSetting
Attribute
-
Name
String
Gibt den Namen der festzulegenden Option an.
-
Typ
Gibt den Datentyp der Option an. Der angeforderte Datentyp muss mit dem tatsächlichen Datentyp der zugrunde liegenden Option übereinstimmen.
-
Wert
string | Zahl | boolean | number[] optional
Gibt den festzulegenden Wert an. Lassen Sie die Richtlinie nicht konfiguriert, um eine automatische Einstellung für Optionen anzufordern, bei denen
autoSettable
aktiviert ist. Der fürvalue
angegebene Datentyp muss mittype
übereinstimmen.
OptionType
Der Datentyp einer Option.
Enum
"UNKNOWN"
Der Datentyp der Option ist unbekannt. Die Festlegung des Attributs „value
“ wird aufgehoben.
"BOOL"
Die Eigenschaft value
hat den Wert true
false.
"INT"
Eine 32-Bit-Ganzzahl mit Vorzeichen. Das Attribut value
ist „long“ oder „long[]“, je nachdem, ob die Option mehr als einen Wert annimmt.
"FIXED"
Ein Double im Bereich -32768-32767.9999 mit einer Auflösung von 1/65535. Das Attribut value
hat je nachdem, ob die Option mehr als einen Wert annimmt, „Double“ oder „Double[]“. Werte vom Typ „Double“, die nicht genau dargestellt werden können, werden auf den verfügbaren Bereich und die verfügbare Genauigkeit gerundet.
"STRING"
Eine Sequenz mit beliebigen Byte außer NUL ("\0"). Das Attribut value
ist ein DOMString.
"SCHALTFLÄCHE"
Eine Option dieses Typs hat keinen Wert. Stattdessen führt das Festlegen einer Option dieses Typs zu einem optionspezifischen Nebeneffekt im Scanner-Treiber. Beispielsweise könnte ein Scannertreiber eine schaltflächenbasierte Option verwenden, um Standardwerte auszuwählen oder einen automatischen Dokumenteneinzug zu veranlassen, zum nächsten Blatt Papier zu wechseln.
"GROUP"
Gruppierungsoption. Kein Wert. Dieser Wert ist aus Kompatibilitätsgründen enthalten, wird aber normalerweise nicht in ScannerOption
-Werten zurückgegeben. Verwenden Sie getOptionGroups()
, um die Liste der Gruppen mit den entsprechenden Mitgliederoptionen abzurufen.
Enum
"UNITLESS"
Der Wert ist eine Zahl ohne Einheit. Es kann beispielsweise ein Grenzwert sein.
"PIXEL"
Der Wert ist eine Anzahl von Pixeln, z. B. Scanabmessungen.
"BIT"
Der Wert ist die Anzahl der Bits, z. B. die Farbtiefe.
"MM"
Der Wert wird in Millimetern gemessen, z. B. Scanabmessungen.
"DPI"
Der Wert wird in Punkten pro Zoll gemessen, z. B. die Auflösung.
"PERCENT"
Der Wert ist ein Prozentwert, z. B. die Helligkeit.
"MICROSECONDS"
Der Wert wird in Mikrosekunden gemessen, z. B. die Belichtungszeit.
ReadScanDataResponse
Attribute
-
Daten
ArrayBuffer optional
Wenn
result
den WertSUCCESS
hat, enthält dieser den nächsten Teil der gescannten Bilddaten. Wennresult
den WertEOF
hat, enthält er den letzten Teil der gescannten Bilddaten. -
estimatedCompletion
Zahl optional
Wenn
result
SUCCESS
ist, eine Schätzung, wie viele der gesamten Scandaten bisher übermittelt wurden. Sie liegt im Bereich von 0 bis 100. -
Job
String
Stellt die an
readScanData()
übergebene Job-Handle bereit. -
Ergebnis
Das Ergebnis des Lesens von Daten. Wenn der Wert
SUCCESS
ist, enthältdata
den nächsten (möglicherweise null) Teil der Bilddaten, der gelesen werden kann. Wenn der WertEOF
ist, enthältdata
den letzten Teil der Bilddaten.
ScannerInfo
Attribute
-
connectionType
Gibt an, wie der Scanner mit dem Computer verbunden ist.
-
deviceUuid
String
Zum Abgleich mit anderen
ScannerInfo
-Einträgen, die auf dasselbe physische Gerät verweisen. -
imageFormats
String[]
Ein Array von MIME-Typen, die für zurückgegebene Scans angefordert werden können.
-
Hersteller
String
Der Hersteller des Scanners.
-
Modell
String
Das Scannermodell, falls verfügbar, oder eine allgemeine Beschreibung.
-
Name
String
Ein visuell lesbarer Name für den Scanner, der auf der Benutzeroberfläche angezeigt werden soll.
-
protocolType
String
Eine für Menschen lesbare Beschreibung des Protokolls oder Treibers, mit dem auf den Scanner zugegriffen wird, z. B. Mopria, WSD oder epsonds. Dies ist in erster Linie nützlich, um Nutzern die Auswahl zwischen Protokollen zu ermöglichen, wenn ein Gerät mehrere Protokolle unterstützt.
-
scannerId
String
Die ID eines bestimmten Scanners.
-
sicher
boolean
Ist dieser Wert auf „true“ gesetzt, kann die Übertragung der Scannerverbindung nicht von einem passiven Listener wie TLS oder USB abgefangen werden.
ScannerOption
Attribute
-
Konfigurierbarkeit
Gibt an, ob und wie die Option geändert werden kann.
-
Einschränkung
OptionConstraint optional
Definiert
OptionConstraint
für die aktuelle Scanneroption. -
Beschreibung
String
Eine längere Beschreibung der Option
-
isActive (Aktiv)
boolean
Gibt an, dass die Option aktiv ist und festgelegt oder abgerufen werden kann. Bei „false“ wird das Attribut
value
nicht festgelegt. -
isAdvanced
boolean
Gibt an, dass die Benutzeroberfläche diese Option nicht standardmäßig anzeigen soll.
-
isAutoSettable
boolean
Kann automatisch vom Scannertreiber festgelegt werden.
-
isDetectable
boolean
Gibt an, dass diese Option von der Software erkannt werden kann.
-
isEmulated
boolean
Wird vom Scannertreiber emuliert, wenn dies wahr ist.
-
Name
String
Der Name der Option mit ASCII-Kleinbuchstaben, Ziffern und Bindestrichen. Diakritische Zeichen sind nicht zulässig.
-
Titel
String
Ein einzeiliger, druckbarer Titel.
-
Typ
Der Datentyp im Attribut
value
, der zum Festlegen dieser Option erforderlich ist. -
Einheit
Die Maßeinheit für diese Option.
-
Wert
string | Zahl | boolean | number[] optional
Der aktuelle Wert der Option, falls relevant. Der Datentyp dieses Attributs muss mit dem in
type
angegebenen Datentyp übereinstimmen.
ScanOptions
Attribute
-
maxImages
Zahl optional
Die zulässige Anzahl von gescannten Bildern. Der Standardwert ist 1.
-
mimeTypes
string[] optional
Die MIME-Typen, die vom Aufrufer akzeptiert werden.
ScanResults
Attribute
-
dataUrls
String[]
Ein Array von Datenbild-URLs in einer Form, die als „src“ übergeben werden kann -Wert zu einem Image-Tag hinzu.
-
mimeType
String
Der MIME-Typ von
dataUrls
.
SetOptionResult
Attribute
-
Name
String
Gibt den Namen der festgelegten Option an.
-
Ergebnis
Gibt das Ergebnis der Einstellung der Option an.
SetOptionsResponse
Attribute
-
Optionen
Objekt optional
Eine aktualisierte Schlüssel/Wert-Zuordnung von Optionsnamen zu
ScannerOption
-Werten, die die neue Konfiguration enthalten, nachdem versucht wurde, alle angegebenen Optionen festzulegen. Sie hat dieselbe Struktur wie das Attributoptions
inOpenScannerResponse
.Dieses Attribut wird auch dann festgelegt, wenn einige Optionen nicht festgelegt wurden. Es wird jedoch nicht festgelegt, wenn das Abrufen der aktualisierten Konfiguration fehlschlägt, z. B. wenn der Scanner während des Scans getrennt wird.
-
Ergebnisse
Ein Array von Ergebnissen, jeweils eines für jeden übergebenen
OptionSetting
. -
scannerHandle
String
Stellt das Scanner-Handle zur Verfügung, das an
setOptions()
übergeben wurde.
StartScanOptions
Attribute
-
Format
String
Gibt den MIME-Typ an, in dem gescannte Daten zurückgegeben werden sollen.
-
maxReadSize
Zahl optional
Wenn ein Wert ungleich Null angegeben ist, wird die maximale Anzahl gescannter Byte begrenzt, die in einer einzelnen
readScanData
-Antwort auf diesen Wert zurückgegeben werden. Der kleinste zulässige Wert ist 32.768 (32 KB). Wenn diese Eigenschaft nicht angegeben ist, kann die Größe eines zurückgegebenen Blocks so groß sein wie das gesamte gescannte Bild.
StartScanResponse
Attribute
-
Job
String optional
Wenn
result
den WertSUCCESS
hat, wird ein Handle zum Lesen von Scandaten oder zum Abbrechen des Jobs bereitgestellt. -
Ergebnis
Das Ergebnis des Starts eines Scans. Wenn der Wert dafür
SUCCESS
ist, wird das Attributjob
mit Daten gefüllt. -
scannerHandle
String
Bietet denselben Scanner-Handle, der an
startScan()
übergeben wurde.
Methoden
cancelScan()
chrome.documentScan.cancelScan(
job: string,
callback?: function,
)
Bricht einen gestarteten Scan ab und gibt ein Promise zurück, das mit einem CancelScanResponse
-Objekt aufgelöst wird. Wenn ein Callback verwendet wird, wird stattdessen das Objekt an diesen übergeben.
Parameter
-
Job
String
Der Handle eines aktiven Scanjobs, der zuvor von einem Aufruf an
startScan
zurückgegeben wurde. -
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(response: CancelScanResponse) => void
-
Antwort
-
Gibt Folgendes zurück:
-
Promise<CancelScanResponse>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
callback?: function,
)
Schließt den Scanner mit dem übergebenen Handle und gibt ein Versprechen zurück, das mit einem CloseScannerResponse
-Objekt aufgelöst wird. Wenn ein Callback verwendet wird, wird stattdessen das Objekt an diesen übergeben. Selbst wenn die Antwort kein Erfolg ist, wird das angegebene Handle ungültig und sollte nicht für weitere Vorgänge verwendet werden.
Parameter
-
scannerHandle
String
Gibt den Handle eines offenen Scanners an, der zuvor von einem Aufruf an
openScanner
zurückgegeben wurde. -
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(response: CloseScannerResponse) => void
-
Antwort
-
Gibt Folgendes zurück:
-
Promise<CloseScannerResponse>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
callback?: function,
)
Ruft die Gruppennamen und Mitgliederoptionen aus einem Scanner ab, der zuvor von openScanner
geöffnet wurde. Diese Methode gibt ein Promise zurück, das mit einem GetOptionGroupsResponse
-Objekt aufgelöst wird. Wenn ein Callback an diese Funktion übergeben wird, werden stattdessen zurückgegebene Daten an diese Funktion übergeben.
Parameter
-
scannerHandle
String
Der Handle eines geöffneten Scanners, der von einem Aufruf an
openScanner
zurückgegeben wurde. -
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(response: GetOptionGroupsResponse) => void
-
Antwort
-
Gibt Folgendes zurück:
-
Promise<GetOptionGroupsResponse>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
callback?: function,
)
Ruft die Liste der verfügbaren Scanner ab und gibt ein Promise zurück, das mit einem GetScannerListResponse
-Objekt aufgelöst wird. Wenn ein Callback an diese Funktion übergeben wird, werden stattdessen zurückgegebene Daten an diese Funktion übergeben.
Parameter
-
Filter
Ein
DeviceFilter
, das angibt, welche Arten von Scannern zurückgegeben werden sollen. -
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(response: GetScannerListResponse) => void
-
Antwort
-
Gibt Folgendes zurück:
-
Promise<GetScannerListResponse>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
callback?: function,
)
Öffnet einen Scanner für exklusiven Zugriff und gibt ein Versprechen zurück, das mit einem OpenScannerResponse
-Objekt aufgelöst wird. Wenn ein Callback an diese Funktion übergeben wird, werden stattdessen zurückgegebene Daten an diese Funktion übergeben.
Parameter
-
scannerId
String
Die ID des Scanners, der geöffnet werden soll. Dieser Wert wurde von einem vorherigen Aufruf an
getScannerList
zurückgegeben. -
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(response: OpenScannerResponse) => void
-
Antwort
-
Gibt Folgendes zurück:
-
Promise<OpenScannerResponse>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
readScanData()
chrome.documentScan.readScanData(
job: string,
callback?: function,
)
Liest den nächsten Block verfügbarer Bilddaten aus einem aktiven Job-Handle und gibt ein Promise zurück, das mit einem ReadScanDataResponse
-Objekt aufgelöst wird. Wenn ein Callback verwendet wird, wird stattdessen das Objekt an diesen übergeben.
**Hinweis:**Ein Antwortergebnis muss SUCCESS
mit einem data
-Mitglied der Länge null sein. Das bedeutet, dass der Scanner noch funktioniert, aber noch keine weiteren Daten zur Verfügung stehen. Der Anrufer sollte eine kurze Zeit warten und es dann noch einmal versuchen.
Wenn der Scanjob abgeschlossen ist, hat die Antwort den Ergebniswert EOF
. Diese Antwort kann ein letztes data
-Mitglied ungleich null enthalten.
Parameter
-
Job
String
Aktive Job-Handles, die zuvor von
startScan
zurückgegeben wurden. -
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(response: ReadScanDataResponse) => void
-
Antwort
-
Gibt Folgendes zurück:
-
Promise<ReadScanDataResponse>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
scan()
chrome.documentScan.scan(
options: ScanOptions,
callback?: function,
)
Führt einen Scan des Dokuments durch und gibt ein Promise zurück, das mit einem ScanResults
-Objekt aufgelöst wird. Wenn ein Callback an diese Funktion übergeben wird, werden stattdessen die zurückgegebenen Daten an diese Funktion übergeben.
Parameter
-
Optionen
Ein Objekt mit Scanparametern.
-
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(result: ScanResults) => void
-
Ergebnis
-
Gibt Folgendes zurück:
-
Promise<ScanResults>
Chrome 96 und höherPromise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
callback?: function,
)
Legt Optionen für den angegebenen Scanner fest und gibt ein Promise-Objekt zurück, das mit einem SetOptionsResponse
-Objekt aufgelöst wird, das das Ergebnis des Versuchs enthält, jeden Wert in der Reihenfolge des übergebenen OptionSetting
-Objekts festzulegen. Wenn ein Callback verwendet wird, wird stattdessen das Objekt an diesen übergeben.
Parameter
-
scannerHandle
String
Der Ziehpunkt des Scanners, für den Optionen festgelegt werden sollen. Dies sollte ein Wert sein, der zuvor von einem Aufruf an
openScanner
zurückgegeben wurde. -
Optionen
Eine Liste mit
OptionSetting
Objekten, die auf den Scanner angewendet werden sollen. -
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(response: SetOptionsResponse) => void
-
Antwort
-
Gibt Folgendes zurück:
-
Promise<SetOptionsResponse>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
callback?: function,
)
Startet einen Scan auf dem angegebenen Scanner und gibt ein Promise zurück, das mit StartScanResponse
aufgelöst wird. Wenn ein Callback verwendet wird, wird stattdessen das Objekt an diesen übergeben. Wenn der Aufruf erfolgreich war, enthält die Antwort ein Job-Handle, das in nachfolgenden Aufrufen verwendet werden kann, um Scandaten zu lesen oder einen Scan abzubrechen.
Parameter
-
scannerHandle
String
Der Griff eines geöffneten Scanners. Dies sollte ein Wert sein, der zuvor von einem Aufruf an
openScanner
zurückgegeben wurde. -
Optionen
Ein
StartScanOptions
-Objekt, das die Optionen angibt, die für den Scan verwendet werden sollen. Das AttributStartScanOptions.format
muss mit einem der Einträge übereinstimmen, die imScannerInfo
des Scanners zurückgegeben werden. -
callback
Funktion optional
Der Parameter
callback
sieht so aus: <ph type="x-smartling-placeholder"></ph>(response: StartScanResponse) => void
-
Antwort
-
Gibt Folgendes zurück:
-
Promise<StartScanResponse>
Promise-Objekte werden in Manifest V3 und höher unterstützt, Callbacks sind jedoch für Abwärtskompatibilität. Sie können nicht beide in demselben Funktionsaufruf verwenden. Die Promise wird mit demselben Typ aufgelöst, der an das Callback übergeben wird.