Beschrijving
Gebruik de chrome.documentScan API om afbeeldingen van gekoppelde documentscanners te ontdekken en op te halen.
De Document Scan API is ontworpen om apps en extensies de content van papieren documenten te laten bekijken op een aangesloten documentscanner.
Rechten
documentScanBeschikbaarheid
Concepten en gebruik
Deze API ondersteunt 2 manieren om documenten te scannen. Als je use case met elke scanner werkt en je de configuratie niet hoeft te beheren, gebruik je de methode scan(). Voor complexere use cases is een combinatie van methoden vereist,
die alleen worden ondersteund in Chrome 124 en hoger.
Eenvoudig scannen
Voor eenvoudige use cases, dat wil zeggen use cases die met elke scanner werken en waarvoor geen controle over de configuratie nodig is, roep je scan() aan. Deze methode gebruikt een ScanOptions-object en retourneert een Promise die wordt omgezet met een ScanResults-object. De mogelijkheden van deze optie zijn beperkt tot het aantal scans en de MIME-typen die door de beller worden geaccepteerd. Scans worden geretourneerd als URL's
voor weergave in een <img>-tag voor een gebruikersinterface.
Complex scannen
Complexe scans worden in 3 fasen uitgevoerd, zoals beschreven in dit gedeelte. In dit overzicht worden niet alle methodeargumenten of alle property's beschreven die in een reactie worden geretourneerd. Deze is alleen bedoeld als algemene handleiding voor het schrijven van scannercode.
Discovery
Bel
getScannerList(). Beschikbare scanners worden geretourneerd in een Promise die wordt omgezet in eenGetScannerListResponse.- Het reactieobject bevat een matrix van
ScannerInfo-objecten. - De array kan meerdere vermeldingen voor één scanner bevatten als die scanner meerdere protocollen of verbindingsmethoden ondersteunt.
- Het reactieobject bevat een matrix van
Selecteer een scanner uit de geretourneerde array en sla de waarde van de property
scannerIdop.Gebruik de eigenschappen van afzonderlijke
ScannerInfo-objecten om onderscheid te maken tussen meerdere objecten voor dezelfde scanner. Objecten van dezelfde scanner hebben dezelfde waarde voor de eigenschapdeviceUuid.ScannerInfobevat ook eenimageFormats-property met een matrix van ondersteunde afbeeldingstypen.
Scannerconfiguratie
Roep
openScanner()aan en geef de opgeslagen scanner-ID door. Deze retourneert een Promise die wordt omgezet met eenOpenScannerResponse. Het reactieobject bevat:Een
scannerHandle-property die u moet opslaan.Een optieproperty met scannerspecifieke property's die je moet instellen. Ga naar Scanneropties ophalen voor meer informatie.
(Optioneel) Als je wilt dat de gebruiker waarden invoert voor scanneropties, maak je een gebruikersinterface. Je hebt de scanneropties uit de vorige stap nodig en je moet de optiegroepen van de scanner ophalen. Ga naar Een gebruikersinterface maken voor meer informatie.
Maak een matrix van
OptionSetting-objecten met programmatische of door gebruikers verstrekte waarden. Ga naar Scanneropties instellen voor meer informatie.Geef de array van
OptionSetting-objecten door aansetOptions()om opties voor de scanner in te stellen. Deze retourneert een Promise die wordt omgezet met eenSetOptionsResponse. Dit object bevat een geüpdatete versie van de scanneropties die zijn opgehaald in stap 1 van de scannerconfiguratie.Omdat het wijzigen van een optie de beperkingen voor een andere optie kan wijzigen, moet je deze stappen misschien meerdere keren herhalen.
Scannen
Maak een
StartScanOptions-object en geef het door aanstartScan(). Deze retourneert een Promise die wordt omgezet met eenStartScanResponse. De propertyjobis een handle die je gebruikt om scangegevens te lezen of de scan te annuleren.Geef de taak-handle door aan
readScanData(). Deze retourneert een Promise die wordt omgezet met eenReadScanDataResponse-object. Als de gegevens zijn gelezen, is de propertyresultgelijk aanSUCCESSen bevat de propertydataeenArrayBuffermet een deel van de scan.estimatedCompletionbevat een geschat percentage van de totale gegevens die tot nu toe zijn geleverd.Herhaal de vorige stap totdat de eigenschap
resultgelijk is aanEOFof een fout.
Als het einde van de scan is bereikt, roep je closeScanner() aan met de scannerhandle die je in stap 3 hebt opgeslagen. Deze retourneert een Promise die wordt omgezet met een
CloseScannerResponse. Als je cancelScan() aanroept nadat de taak is gemaakt, wordt het scannen beëindigd.
Reactieobjecten
Alle methoden retourneren een Promise die wordt omgezet met een soort reactieobject.
De meeste hiervan bevatten een result-property waarvan de waarde lid is van OperationResult. Sommige eigenschappen van antwoordobjecten
bevatten geen waarden, tenzij de waarde van result een specifieke waarde heeft. Deze relaties worden beschreven in de referentie voor elk reactieobject.
OpenScannerResponse.scannerHandle heeft bijvoorbeeld alleen een waarde als OpenScannerResponse.result gelijk is aan SUCCESS.
Scanneropties
De scanneropties verschillen aanzienlijk per apparaat. Daarom is het niet mogelijk om scanneropties rechtstreeks in de documentScan API weer te geven. Om dit te omzeilen, bevatten de OpenScannerResponse (opgehaald met openScanner()) en de SetOptionsResponse (het reactieobject voor setOptions()) een options-property. Dit is een object met scannerspecifieke opties. Elke optie is een sleutel/waarde-toewijzing waarbij de sleutel een apparaatspecifieke optie is en de waarde een instantie van ScannerOption is.
De structuur ziet er meestal zo uit:
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
Stel dat een scanner opties met de namen 'source' en 'resolution' retourneert. De structuur van het geretourneerde options-object ziet er ongeveer zo uit als het volgende voorbeeld. Voor de eenvoud worden alleen gedeeltelijke ScannerOption-reacties getoond.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
Een gebruikersinterface maken
Hoewel het niet vereist is om deze API te gebruiken, wil je misschien dat een gebruiker de waarde voor een bepaalde optie kiest. Hiervoor is een gebruikersinterface vereist. Gebruik de
OpenScannerResponse (geopend door
openScanner()) om de opties voor de aangesloten
scanner op te halen, zoals beschreven in het vorige gedeelte.
Sommige scanners groeperen opties op apparaatspecifieke manieren. Ze hebben geen invloed op het gedrag van opties, maar omdat deze groepen misschien worden vermeld in de productdocumentatie van een scanner, moeten deze groepen aan de gebruiker worden getoond. U kunt deze groepen ophalen door getOptionGroups() aan te roepen. Dit retourneert een Promise die wordt omgezet met een GetOptionGroupsResponse-object. De property groups
bevat een scannerspecifieke matrix van groepen. Gebruik de informatie in deze groepen om de opties in de OpenScannerResponse te ordenen voor weergave.
{
scannerHandle: "123456",
result: SUCCESS,
groups: [
{
title: "Standard",
members: [ "resolution", "mode", "source" ]
}
]
}
Zoals vermeld onder Scannerconfiguratie kan het wijzigen van een optie de beperkingen van een andere optie wijzigen. Daarom bevat setOptionsResponse (het reactieobject voor setOptions()) een andere options-property. Gebruik dit om de gebruikersinterface te updaten. Herhaal dit zo nodig totdat alle opties zijn ingesteld.
Scanneropties instellen
Stel scanneropties in door een matrix van OptionSetting-objecten door te geven aan setOptions(). Bekijk het volgende gedeelte Eén pagina van Letter-formaat scannen voor een voorbeeld.
Voorbeelden
Een pagina ophalen als een blob
Dit voorbeeld toont een manier om een pagina van de scanner op te halen als een blob en demonstreert het gebruik van startScan() en readScanData() met de waarde van OperationResult.
async function pageAsBlob(handle) {
let response = await browser.documentScan.startScan(
handle, {format: "image/jpeg"});
if (response.result != browser.documentScan.OperationResult.SUCCESS) {
return null;
}
const job = response.job;
let imgParts = [];
response = await browser.documentScan.readScanData(job);
while (response.result == browser.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 browser.documentScan.readScanData(job);
}
if (response.result != browser.documentScan.OperationResult.EOF) {
return null;
}
if (response.data && response.data.byteLength > 0) {
imgParts.push(response.data);
}
return new Blob(imgParts, { type: "image/jpeg" });
}
Eén pagina van letter-formaat scannen
In dit voorbeeld wordt getoond hoe je een scanner selecteert, de opties instelt en de scanner opent. Daarna haalt de scanner de content van één pagina op en wordt de scanner gesloten. In dit proces wordt getoond hoe je getScannerList(), openScanner(), setOptions() en closeScanner() gebruikt. De content van de pagina wordt opgehaald door de functie pageAsBlob() uit het vorige voorbeeld aan te roepen.
async function scan() {
let response = await browser.documentScan.getScannerList({ secure: true });
let scanner = await browser.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: browser.documentScan.OptionType.STRING,
value: { value: source }
});
break;
}
}
options.push({
name: "tl-x",
type: browser.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-x",
type: browser.documentScan.OptionType.FIXED,
value: 215.9 // 8.5" in mm
});
options.push({
name: "tl-y",
type: browser.documentScan.OptionType.FIXED,
value: 0.0
});
options.push({
name: "br-y",
type: browser.documentScan.OptionType.FIXED,
value: 279.4 // 11" in mm
});
response = await browser.documentScan.setOptions(handle, options);
let imgBlob = await pageAsBlob(handle);
if (imgBlob != null) {
// Insert imgBlob into DOM, save to disk, etc
}
await browser.documentScan.closeScanner(handle);
}
De configuratie tonen
Zoals elders vermeld, moet je getOptionGroups() aanroepen naast de scanneropties die worden geretourneerd door een aanroep naar openScanner() om de configuratieopties van een scanner aan een gebruiker te tonen. Zo kunnen opties worden getoond aan gebruikers in door de fabrikant gedefinieerde groepen. In dit voorbeeld zie je hoe je dat doet.
async function showConfig() {
let response = await browser.documentScan.getScannerList({ secure: true });
let scanner = await browser.documentScan.openScanner(
response.scanners[0].scannerId);
let groups = await browser.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
Eigenschappen
-
baan
tekenreeks
Biedt dezelfde taak-ID die is doorgegeven aan
cancelScan(). -
resultaat
Het resultaat van de scanannulering van de backend. Als het resultaat
OperationResult.SUCCESSofOperationResult.CANCELLEDis, is de scan geannuleerd en is de scanner klaar om een nieuwe scan te starten. Als het resultaatOperationResult.DEVICE_BUSYis, verwerkt de scanner de gevraagde annulering nog. De beller moet even wachten en het verzoek opnieuw proberen. Andere resultaatwaarden geven een permanente fout aan die niet opnieuw moet worden geprobeerd.
CloseScannerResponse
Eigenschappen
-
resultaat
Het resultaat van het sluiten van de scanner. Zelfs als deze waarde niet
SUCCESSis, is de handle ongeldig en mag deze niet worden gebruikt voor verdere bewerkingen. -
scannerHandle
tekenreeks
Dezelfde scannerhandle die is doorgegeven aan
closeScanner.
Configurability
Hoe een optie kan worden gewijzigd.
Enum
NOT_CONFIGURABLE
De optie is alleen-lezen.
SOFTWARE_CONFIGURABLE
De optie kan worden ingesteld in software.
"HARDWARE_CONFIGURABLE"
De optie kan worden ingesteld door de gebruiker door een knop op de scanner om te zetten of in te drukken.
ConnectionType
Geeft aan hoe de scanner is verbonden met de computer.
Enum
"UNSPECIFIED"
USB
"NETWORK"
ConstraintType
Het gegevenstype van de beperking die wordt vertegenwoordigd door een OptionConstraint.
Enum
INT_RANGE
De beperking voor een bereik van OptionType.INT-waarden. De property's min, max en quant van OptionConstraint worden long en de property list wordt niet ingesteld.
FIXED_RANGE
De beperking voor een bereik van OptionType.FIXED-waarden. De property's min, max en quant van OptionConstraint worden double en de property list wordt niet ingesteld.
INT_LIST
De beperking voor een specifieke lijst met OptionType.INT-waarden. De property OptionConstraint.list bevat long waarden en de andere property's worden niet ingesteld.
FIXED_LIST
De beperking voor een specifieke lijst met OptionType.FIXED-waarden. De property OptionConstraint.list bevat double waarden en de andere property's worden niet ingesteld.
STRING_LIST
De beperking voor een specifieke lijst met OptionType.STRING-waarden. De property OptionConstraint.list bevat DOMString waarden en de andere property's worden niet ingesteld.
DeviceFilter
Eigenschappen
-
lokaal
booleaans optioneel
Alleen scanners retourneren die rechtstreeks op de computer zijn aangesloten.
-
veilig
booleaans optioneel
Retourneer alleen scanners die een beveiligd transport gebruiken, zoals USB of TLS.
GetOptionGroupsResponse
Eigenschappen
-
groepen
OptionGroup[] optioneel
Als
resultSUCCESSis, wordt er een lijst met optiegroepen gegeven in de volgorde die wordt geleverd door het scannerstuurprogramma. -
resultaat
Het resultaat van het ophalen van de optiegroepen. Als de waarde hiervan
SUCCESSis, wordt de propertygroupsingevuld. -
scannerHandle
tekenreeks
Dezelfde scannerhandle die is doorgegeven aan
getOptionGroups.
GetScannerListResponse
Eigenschappen
-
resultaat
Het resultaat van de opsomming. Er kunnen gedeeltelijke resultaten worden geretourneerd, zelfs als dit een fout aangeeft.
-
scanners
Een mogelijk lege lijst met scanners die overeenkomen met de ingevoerde
DeviceFilter.
OpenScannerResponse
Eigenschappen
-
opties
object optioneel
Als
resultSUCCESSis, wordt een sleutel/waarde-toewijzing geleverd waarbij de sleutel een apparaatspecifieke optie is en de waarde een instantie vanScannerOptionis. -
resultaat
Het resultaat van het openen van de scanner. Als de waarde hiervan
SUCCESSis, worden de property'sscannerHandleenoptionsingevuld. -
scannerHandle
tekenreeks optioneel
Als
resultSUCCESSis, een handle voor de scanner die kan worden gebruikt voor verdere bewerkingen. -
scannerId
tekenreeks
De scanner-ID is doorgegeven aan
openScanner().
OperationResult
Een enum die het resultaat van elke bewerking aangeeft.
Enum
UNKNOWN
Er is een onbekende of algemene fout opgetreden.
SUCCESS
De bewerking is geslaagd.
UNSUPPORTED
De bewerking wordt niet ondersteund.
CANCELLED
De bewerking is geannuleerd.
DEVICE_BUSY
Het apparaat is bezet.
INVALID
De gegevens of een argument dat aan de methode is doorgegeven, is ongeldig.
"WRONG_TYPE"
De ingevoerde waarde is van het verkeerde gegevenstype voor de onderliggende optie.
EOF
Er zijn geen gegevens meer beschikbaar.
ADF_JAMMED
De documentinvoer is vastgelopen.
ADF_EMPTY
De documentinvoer is leeg.
COVER_OPEN
De flatbedklep is open.
"IO_ERROR"
Er is een fout opgetreden tijdens de communicatie met het apparaat.
ACCESS_DENIED
Het apparaat vereist verificatie.
"NO_MEMORY"
Er is onvoldoende geheugen beschikbaar op de Chromebook om de bewerking te voltooien.
UNREACHABLE
Het apparaat is niet bereikbaar.
MISSING
De verbinding met het apparaat is verbroken.
INTERNAL_ERROR
Er is een fout opgetreden op een andere plek dan de aanroepende app.
OptionConstraint
Eigenschappen
-
list
string[] | number[] optioneel
-
max
number optioneel
-
min
number optioneel
-
quant
number optioneel
-
type
OptionGroup
Eigenschappen
-
leden
tekenreeks[]
Een matrix van optienamen in de door het stuurprogramma aangeleverde volgorde.
-
titel
tekenreeks
Biedt een afdrukbare titel, bijvoorbeeld Geometrieopties.
OptionSetting
Eigenschappen
-
name
tekenreeks
Geeft de naam aan van de optie die je wilt instellen.
-
type
Geeft het gegevenstype van de optie aan. Het gevraagde gegevenstype moet overeenkomen met het echte gegevenstype van de onderliggende optie.
-
waarde
string | number | boolean | number[] optioneel
Geeft de waarde aan die moet worden ingesteld. Laat dit veld leeg om de automatische instelling aan te vragen voor opties waarvoor
autoSettableaanstaat. Het gegevenstype dat is ingevoerd voorvaluemoet overeenkomen mettype.
OptionType
Het gegevenstype van een optie.
Enum
UNKNOWN
Het gegevenstype van de optie is onbekend. De property value wordt niet ingesteld.
BOOL
De property value is een van de volgende: truefalse.
INT
Een ondertekend 32-bits geheel getal. De property value is long of long[], afhankelijk van of de optie meer dan één waarde heeft.
FIXED
Een double in het bereik -32768-32767,9999 met een resolutie van 1/65535. De property value is double of double[], afhankelijk van of de optie meer dan één waarde heeft. Double-waarden die niet exact kunnen worden weergegeven, worden afgerond naar het beschikbare bereik en de beschikbare precisie.
STRING
Een reeks bytes, behalve NUL ('\0'). De property value is een DOMString.
BUTTON
Een optie van dit type heeft geen waarde. In plaats daarvan veroorzaakt het instellen van een optie van dit type een optiespecifiek neveneffect in het scannerstuurprogramma. Een knopoptie kan bijvoorbeeld door een scannerstuurprogramma worden gebruikt om een manier te bieden om standaardwaarden te selecteren of om een automatische documentinvoer te vertellen naar het volgende vel papier te gaan.
GROUP
Groeperingsoptie. Geen waarde. Dit is opgenomen voor compatibiliteit, maar wordt normaal gesproken niet geretourneerd in ScannerOption-waarden. Gebruik getOptionGroups() om de lijst met groepen met hun ledenopties op te halen.
OptionUnit
Geeft het gegevenstype aan voor ScannerOption.unit.
Enum
UNITLESS
De waarde is een getal zonder eenheid. Het kan bijvoorbeeld een drempelwaarde zijn.
PIXEL
De waarde is een aantal pixels, bijvoorbeeld scanafmetingen.
"BIT"
De waarde is het aantal bits, bijvoorbeeld kleurdiepte.
MM
De waarde wordt gemeten in millimeters, bijvoorbeeld scanafmetingen.
DPI
De waarde wordt gemeten in dots per inch, bijvoorbeeld resolutie.
PERCENT
De waarde is een percentage, bijvoorbeeld helderheid.
MICROSECOND
De waarde wordt gemeten in microseconden, bijvoorbeeld de belichtingstijd.
ReadScanDataResponse
Eigenschappen
-
gegevens
ArrayBuffer optioneel
Als
resultSUCCESSis, bevat dit het volgende deel van de gescande afbeeldingsgegevens. AlsresultEOFis, bevat dit het laatste deel van de gescande afbeeldingsgegevens. -
estimatedCompletion
number optioneel
Als
resultSUCCESSis, een schatting van hoeveel van de totale scangegevens tot nu toe is geleverd, in het bereik 0 tot 100. -
baan
tekenreeks
Biedt de taakhandle die is doorgegeven aan
readScanData(). -
resultaat
Het resultaat van het lezen van gegevens. Als de waarde
SUCCESSis, bevatdatahet volgende (mogelijk lege) blok afbeeldingsgegevens dat klaar is om te worden gelezen. Als de waardeEOFis, bevat dedatahet laatste deel van de afbeeldingsgegevens.
ScannerInfo
Eigenschappen
-
connectionType
Geeft aan hoe de scanner is verbonden met de computer.
-
deviceUuid
tekenreeks
Voor vergelijking met andere
ScannerInfo-items die naar hetzelfde fysieke apparaat verwijzen. -
imageFormats
tekenreeks[]
Een matrix van MIME-typen die kunnen worden aangevraagd voor geretourneerde scans.
-
fabrikant
tekenreeks
De fabrikant van de scanner.
-
model
tekenreeks
Het scannermodel als dit beschikbaar is, of een algemene beschrijving.
-
name
tekenreeks
Een door mensen leesbare naam voor de scanner die wordt getoond in de UI.
-
protocolType
tekenreeks
Een door mensen leesbare beschrijving van het protocol of stuurprogramma dat wordt gebruikt om toegang te krijgen tot de scanner, zoals Mopria, WSD of epsonds. Dit is vooral handig als je een gebruiker wilt laten kiezen tussen protocollen als een apparaat meerdere protocollen ondersteunt.
-
scannerId
tekenreeks
De ID van een specifieke scanner.
-
veilig
booleaans
Als dit waar is, kan het transport van de scannerverbinding niet worden onderschept door een passieve luisteraar, zoals TLS of USB.
ScannerOption
Eigenschappen
-
instelbaarheid
Geeft aan of en hoe de optie kan worden gewijzigd.
-
beperking
OptionConstraint optioneel
Definieert
OptionConstraintvoor de huidige scanneroptie. -
beschrijving
tekenreeks
Een langere beschrijving van de optie.
-
isActive
booleaans
Geeft aan dat de optie actief is en kan worden ingesteld of opgehaald. Als je dit beleid instelt op False, wordt de property
valueniet ingesteld. -
isAdvanced
booleaans
Geeft aan dat de UI deze optie standaard niet moet tonen.
-
isAutoSettable
booleaans
Kan automatisch worden ingesteld door het scannerstuurprogramma.
-
isDetectable
booleaans
Geeft aan dat deze optie kan worden gedetecteerd door software.
-
isEmulated
booleaans
Wordt geëmuleerd door het scannerstuurprogramma als dit waar is.
-
name
tekenreeks
De optienaam met kleine ASCII-letters, cijfers en streepjes. Diakritische tekens zijn niet toegestaan.
-
titel
tekenreeks
Een afdrukbare titel van één regel.
-
type
Het gegevenstype in de property
value, dat nodig is om deze optie in te stellen. -
eenheid
De meeteenheid voor deze optie.
-
waarde
string | number | boolean | number[] optioneel
De huidige waarde van de optie, indien relevant. Het gegevenstype van deze property moet overeenkomen met het gegevenstype dat is opgegeven in
type.
ScanOptions
Eigenschappen
-
maxImages
number optioneel
Het aantal toegestane gescande afbeeldingen. De standaardwaarde is 1.
-
mimeTypes
string[] optioneel
De MIME-typen die door de beller worden geaccepteerd.
ScanResults
Eigenschappen
-
dataUrls
tekenreeks[]
Een matrix van URL's van gegevensafbeeldingen in een formulier dat als de src-waarde kan worden doorgegeven aan een afbeeldingstag.
-
mimeType
tekenreeks
Het MIME-type van de
dataUrls.
SetOptionResult
Eigenschappen
-
name
tekenreeks
Geeft de naam aan van de optie die is ingesteld.
-
resultaat
Geeft het resultaat aan van het instellen van de optie.
SetOptionsResponse
Eigenschappen
-
opties
object optioneel
Een geüpdatete sleutel/waarde-toewijzing van optienamen aan
ScannerOption-waarden die de nieuwe configuratie bevatten nadat is geprobeerd alle geleverde opties in te stellen. Deze heeft dezelfde structuur als de propertyoptionsinOpenScannerResponse.Deze property wordt ingesteld, zelfs als sommige opties niet zijn ingesteld, maar wordt niet ingesteld als de geüpdatete configuratie niet kan worden opgehaald (bijvoorbeeld als de scanner tijdens het scannen wordt losgekoppeld).
-
resultaten
Een matrix met resultaten, één voor elke doorgegeven
OptionSetting. -
scannerHandle
tekenreeks
Biedt de scannerhandle die is doorgegeven aan
setOptions().
StartScanOptions
Eigenschappen
-
indeling
tekenreeks
Hiermee wordt het MIME-type aangegeven waarin gescande gegevens moeten worden geretourneerd.
-
maxReadSize
number optioneel
Als er een waarde anders dan nul is ingevoerd, wordt het maximum aantal gescande bytes dat in één
readScanData-reactie wordt geretourneerd, beperkt tot die waarde. De kleinste toegestane waarde is 32768 (32 KB). Als deze property niet is opgegeven, kan de grootte van een geretourneerd segment net zo groot zijn als de hele gescande afbeelding.
StartScanResponse
Eigenschappen
-
baan
tekenreeks optioneel
Als
resultSUCCESSis, wordt er een handle geleverd die kan worden gebruikt om scangegevens te lezen of de taak te annuleren. -
resultaat
Het resultaat van het starten van een scan. Als de waarde hiervan
SUCCESSis, wordt de propertyjobingevuld. -
scannerHandle
tekenreeks
Biedt dezelfde scanner-handle die is doorgegeven aan
startScan().
Methoden
cancelScan()
browser.documentScan.cancelScan(
job: string,
): Promise<CancelScanResponse>
Annuleert een gestarte scan en retourneert een Promise die wordt omgezet met een CancelScanResponse-object. Als er een callback wordt gebruikt, wordt het object daaraan doorgegeven.
Parameters
-
baan
tekenreeks
De ingang van een actieve scantaak die eerder is geretourneerd door een aanroep van
startScan.
Retourzendingen
-
Promise<CancelScanResponse>
Retourneert een Promise die wordt omgezet met het resultaat.
closeScanner()
browser.documentScan.closeScanner(
scannerHandle: string,
): Promise<CloseScannerResponse>
Sluit de scanner met de doorgegeven handle en retourneert een Promise die wordt omgezet met een CloseScannerResponse-object. Als er een callback wordt gebruikt, wordt het object daaraan doorgegeven. Zelfs als de reactie niet succesvol is, wordt de geleverde ingang ongeldig en mag deze niet worden gebruikt voor verdere bewerkingen.
Parameters
-
scannerHandle
tekenreeks
Hiermee wordt de handle van een open scanner aangegeven die eerder is geretourneerd door een aanroep naar
openScanner.
Retourzendingen
-
Promise<CloseScannerResponse>
Retourneert een Promise die wordt omgezet met het resultaat.
getOptionGroups()
browser.documentScan.getOptionGroups(
scannerHandle: string,
): Promise<GetOptionGroupsResponse>
Haalt de groepsnamen en ledenopties op van een scanner die eerder is geopend door openScanner. Deze methode retourneert een Promise die wordt omgezet met een GetOptionGroupsResponse-object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens in plaats daarvan doorgegeven.
Parameters
-
scannerHandle
tekenreeks
De handle van een geopende scanner die is geretourneerd door een aanroep naar
openScanner.
Retourzendingen
-
Promise<GetOptionGroupsResponse>
Retourneert een Promise die wordt omgezet met het resultaat.
getScannerList()
browser.documentScan.getScannerList(
filter: DeviceFilter,
): Promise<GetScannerListResponse>
Haalt de lijst met beschikbare scanners op en retourneert een Promise die wordt omgezet met een GetScannerListResponse-object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens in plaats daarvan doorgegeven.
Parameters
-
filter
Een
DeviceFilterdie aangeeft welke typen scanners moeten worden geretourneerd.
Retourzendingen
-
Promise<GetScannerListResponse>
Retourneert een Promise die wordt omgezet met het resultaat en de lijst met scanners.
openScanner()
browser.documentScan.openScanner(
scannerId: string,
): Promise<OpenScannerResponse>
Opent een scanner voor exclusieve toegang en retourneert een Promise die wordt omgezet met een OpenScannerResponse-object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens in plaats daarvan doorgegeven.
Parameters
-
scannerId
tekenreeks
De ID van een scanner die moet worden geopend. Deze waarde is een waarde die is geretourneerd door een eerdere aanroep van
getScannerList.
Retourzendingen
-
Promise<OpenScannerResponse>
Retourneert een Promise die wordt omgezet met het resultaat.
readScanData()
browser.documentScan.readScanData(
job: string,
): Promise<ReadScanDataResponse>
Leest het volgende deel van de beschikbare afbeeldingsgegevens van een actieve taakhandle en retourneert een Promise die wordt omgezet met een ReadScanDataResponse-object. Als er een callback wordt gebruikt, wordt het object daaraan doorgegeven.
**Opmerking:**Het is geldig als een antwoordresultaat SUCCESS is met een data-lid met een lengte van nul. Dit betekent dat de scanner nog werkt, maar nog geen aanvullende gegevens klaar heeft. De beller moet even wachten en het opnieuw proberen.
Als de scantaak is afgerond, heeft de reactie de resultaatwaarde EOF. Deze reactie kan een laatste data-lid bevatten dat niet nul is.
Parameters
-
baan
tekenreeks
Actieve taak-handle die eerder is geretourneerd door
startScan.
Retourzendingen
-
Promise<ReadScanDataResponse>
Retourneert een Promise die wordt omgezet met het resultaat.
scan()
browser.documentScan.scan(
options: ScanOptions,
): Promise<ScanResults>
Voert een documentscan uit en retourneert een Promise die wordt omgezet met een ScanResults-object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens in plaats daarvan doorgegeven.
Parameters
-
opties
Een object met scanparameters.
Retourzendingen
-
Promise<ScanResults>
Chrome 96+ browser.* sinds Chrome 148Retourneert een Promise die wordt omgezet met de scanresultaten.
setOptions()
browser.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
): Promise<SetOptionsResponse>
Stelt opties in op de aangegeven scanner en retourneert een Promise die wordt omgezet met een SetOptionsResponse-object dat het resultaat bevat van de poging om elke waarde in te stellen in de volgorde van het doorgegeven OptionSetting-object. Als er een callback wordt gebruikt, wordt het object daaraan doorgegeven.
Parameters
-
scannerHandle
tekenreeks
De handgreep van de scanner waarop je opties wilt instellen. Dit moet een waarde zijn die eerder is geretourneerd door een aanroep van
openScanner. -
opties
Een lijst met
OptionSetting-objecten die moeten worden toegepast op de scanner.
Retourzendingen
-
Promise<SetOptionsResponse>
Retourneert een Promise die wordt omgezet met het resultaat.
startScan()
browser.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
): Promise<StartScanResponse>
Start een scan op de aangegeven scanner en retourneert een Promise die wordt omgezet met een StartScanResponse. Als er een callback wordt gebruikt, wordt het object daaraan doorgegeven. Als de aanroep is geslaagd, bevat de reactie een taakhandle die in volgende aanroepen kan worden gebruikt om scangegevens te lezen of een scan te annuleren.
Parameters
-
scannerHandle
tekenreeks
De handgreep van een geopende scanner. Dit moet een waarde zijn die eerder is geretourneerd door een aanroep van
openScanner. -
opties
Een
StartScanOptions-object dat de opties aangeeft die voor de scan moeten worden gebruikt. De propertyStartScanOptions.formatmoet overeenkomen met een van de vermeldingen die worden geretourneerd in deScannerInfovan de scanner.
Retourzendingen
-
Promise<StartScanResponse>
Retourneert een Promise die wordt omgezet met het resultaat.