Beschrijving
Gebruik de chrome.documentScan API om afbeeldingen van aangesloten documentscanners te ontdekken en op te halen.
De Document Scan API is ontworpen om apps en extensies in staat te stellen de inhoud van papieren documenten te bekijken op een aangesloten documentscanner.
Toestemmingen
documentScanBeschikbaarheid
Concepten en gebruik
Deze API ondersteunt twee manieren om documenten te scannen. Als uw toepassing met elke scanner werkt en geen controle over de configuratie vereist, gebruik dan de scan() `-methode. Complexere toepassingen vereisen een combinatie van methoden, die alleen worden ondersteund in Chrome 124 en later.
Eenvoudig scannen
Voor eenvoudige gebruiksscenario's, dat wil zeggen scenario's die met elke scanner werken en geen configuratiebeheer vereisen, roept u de scan() aan. Deze methode neemt een ScanOptions object als argument en retourneert een `Promise` die wordt opgelost met een ScanResults object. De mogelijkheden van deze optie zijn beperkt tot het aantal scans en de MIME-typen die door de aanroeper worden geaccepteerd. Scans worden geretourneerd als URL's die in een <img> `-tag in een gebruikersinterface kunnen worden weergegeven.
Complexe scans
Complexe scans worden in drie fasen uitgevoerd, zoals beschreven in dit gedeelte. Deze beschrijving geeft geen volledig overzicht van elk methodeargument of elke eigenschap die in een reactie wordt geretourneerd. Het is slechts bedoeld als een algemene leidraad voor het schrijven van scannercode.
Ontdekking
Roep
getScannerList()aan. De beschikbare scanners worden geretourneerd in een Promise die wordt opgelost met eenGetScannerListResponse.- Het responsobject bevat een array van
ScannerInfoobjecten. - De array kan meerdere vermeldingen voor één scanner bevatten als die scanner meerdere protocollen of verbindingsmethoden ondersteunt.
- Het responsobject bevat een array van
Selecteer een scanner uit de geretourneerde array en sla de waarde van de eigenschap
scannerIdvan die scanner op.Gebruik de eigenschappen van individuele
ScannerInfoobjecten om onderscheid te maken tussen meerdere objecten voor dezelfde scanner. Objecten van dezelfde scanner hebben dezelfde waarde voor de eigenschapdeviceUuid.ScannerInfobevat ook een eigenschapimageFormatsmet een array van ondersteunde afbeeldingsformaten.
Scannerconfiguratie
Roep
openScanner()aan en geef de opgeslagen scanner-ID door. Deze functie retourneert een Promise die wordt opgelost met eenOpenScannerResponse. Het response-object bevat:Een
scannerHandleeigenschap die u moet opslaan.Een optie-eigenschap met scannerspecifieke eigenschappen die u moet instellen. Zie Scanneropties ophalen voor meer informatie.
(Optioneel) Als u wilt dat de gebruiker waarden voor scanneropties invoert, moet u een gebruikersinterface maken. U hebt de scanneropties nodig die in de vorige stap zijn ingevoerd, en u moet de door de scanner geleverde optiegroepen ophalen. Zie Een gebruikersinterface maken voor meer informatie.
Maak een array van
OptionSettingobjecten aan met behulp van programmatische of door de gebruiker opgegeven waarden. Zie Scanneropties instellen voor meer informatie.Geef de array met
OptionSettingobjecten door aansetOptions()om de opties voor de scanner in te stellen. Deze functie retourneert een Promise die wordt opgelost met eenSetOptionsResponse. Dit object bevat een bijgewerkte versie van de scanneropties die in stap 1 van de scannerconfiguratie zijn opgehaald.Omdat het wijzigen van één optie de beperkingen van een andere optie kan beïnvloeden, moet u deze stappen mogelijk meerdere keren herhalen.
Scannen
Maak een
StartScanOptionsobject aan en geef dit door aanstartScan(). Het retourneert een Promise die wordt opgelost met eenStartScanResponse. Dejobeigenschap is een handle die je gebruikt om scangegevens te lezen of de scan te annuleren.Geef de taakhandle door aan
readScanData(). Deze retourneert een Promise die wordt opgelost met eenReadScanDataResponse-object. Als de gegevens succesvol zijn gelezen, is de eigenschapresultgelijk aanSUCCESSen bevat de eigenschapdataeenArrayBuffermet een deel van de scan. Houd er rekening mee datestimatedCompletioneen geschat percentage bevat van de totale hoeveelheid gegevens die tot nu toe is geleverd.Herhaal de vorige stap totdat de
resulteigenschap gelijk is aanEOFof een foutmelding.
Wanneer het einde van de scan is bereikt, roept u closeScanner() aan met de scannerhandle die in stap 3 is opgeslagen. Deze functie retourneert een Promise die wordt opgelost met een CloseScannerResponse . Het aanroepen van cancelScan() op enig moment nadat de taak is aangemaakt, beëindigt het scannen.
Responsobjecten
Alle methoden retourneren een Promise die wordt opgelost met een responsobject van een of andere soort. De meeste hiervan bevatten een result eigenschap waarvan de waarde een lid is van OperationResult . Sommige eigenschappen van responsobjecten bevatten geen waarden, tenzij de waarde van result een specifieke waarde heeft. Deze relaties worden beschreven in de referentie voor elk responsobject.
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 direct in de documentScan API weer te geven. Om dit te omzeilen, bevatten de OpenScannerResponse (verkregen via openScanner() ) en de SetOptionsResponse (het responsobject voor setOptions() ) een eigenschap options , een object met scannerspecifieke opties. Elke optie is een sleutel-waardepaar waarbij de sleutel een apparaatspecifieke optie is en de waarde een instantie van ScannerOption .
De structuur ziet er over het algemeen als volgt uit:
{
"key1": { scannerOptionInstance }
"key2": { scannerOptionInstance }
}
Stel je bijvoorbeeld een scanner voor die opties retourneert met de namen "bron" en "resolutie". De structuur van het geretourneerde options ziet er dan ongeveer zo uit als in het volgende voorbeeld. Ter vereenvoudiging worden slechts gedeeltelijke ScannerOption reacties weergegeven.
{
"source": {
"name": "source",
"type": OptionType.STRING,
...
},
"resolution": {
"name": "resolution",
"type": OptionType.INT,
...
},
...
}
Ontwerp een gebruikersinterface
Hoewel het niet verplicht is om deze API te gebruiken, wilt u wellicht dat een gebruiker een waarde voor een bepaalde optie kan kiezen. Hiervoor is een gebruikersinterface nodig. Gebruik de OpenScannerResponse (geopend door openScanner() ) om de opties voor de aangesloten scanner op te halen, zoals beschreven in de vorige sectie.
Sommige scanners groeperen opties op apparaatspecifieke manieren. Dit heeft geen invloed op het gedrag van de opties, maar omdat deze groepen mogelijk in de productdocumentatie van een scanner worden vermeld, is het raadzaam ze aan de gebruiker te tonen. U kunt deze groepen ophalen door de getOptionGroups() aan te roepen. Deze functie retourneert een Promise die wordt opgelost met een GetOptionGroupsResponse -object. De eigenschap groups van dit object bevat een scannerspecifieke array met 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 één optie de beperkingen van een andere optie beïnvloeden. Daarom bevat setOptionsResponse (het responsobject voor setOptions() ) een extra options eigenschap. Gebruik deze om de gebruikersinterface bij te werken. Herhaal dit indien nodig totdat alle opties zijn ingesteld.
Scanneropties instellen
Stel de scanneropties in door een array van OptionSetting objecten door te geven aan setOptions() . Zie het volgende gedeelte 'Een pagina van briefpapierformaat scannen' voor een voorbeeld.
Voorbeelden
Een pagina ophalen als een blob.
Dit voorbeeld laat een manier zien om een pagina als blob uit de scanner op te halen en demonstreert het gebruik van startScan() en readScanData() met de waarde van 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" });
}
Scan één pagina van briefpapierformaat.
Dit voorbeeld laat zien hoe je een scanner selecteert, de opties instelt en de scanner opent. Vervolgens wordt de inhoud van een enkele pagina opgehaald en de scanner gesloten. Dit proces demonstreert het gebruik van getScannerList() , openScanner() , setOptions() en closeScanner() . Merk op dat de inhoud van de pagina wordt opgehaald door de functie pageAsBlob() uit het vorige voorbeeld aan te roepen.
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);
}
Toon de configuratie
Zoals elders vermeld, is het tonen van de configuratieopties van een scanner aan een gebruiker alleen mogelijk door naast de scanneropties die worden geretourneerd door een aanroep van openScanner() ook getOptionGroups() aan te roepen. Dit is nodig zodat de opties aan gebruikers kunnen worden getoond in door de fabrikant gedefinieerde groepen. Dit voorbeeld laat zien hoe dat kan.
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");
}
}
}
}
Soorten
CancelScanResponse
Eigenschappen
- functie
snaar
Geeft dezelfde taakhandle terug die aan
cancelScan()is doorgegeven. - resultaat
Het resultaat van de annuleringsaanvraag 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, is de scanner nog bezig met het verwerken van de annuleringsaanvraag; de aanroeper moet even wachten en de aanvraag opnieuw proberen. Andere resultaatwaarden duiden op een permanente fout 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 meer voor verdere bewerkingen worden gebruikt. - scannerHandvat
snaar
Dezelfde scannerhandle als die werd doorgegeven aan
closeScanner.
Configurability
Hoe een optie kan worden gewijzigd.
Enum
"NIET_CONFIGUREERBAAR" "SOFTWARE_CONFIGURABLE" "HARDWARE_CONFIGURABLE"
Deze optie is alleen-lezen.
Deze optie kan in de software worden ingesteld.
De gebruiker kan deze optie instellen door een schakelaar om te zetten of op een knop op de scanner te drukken.
ConnectionType
Geeft aan hoe de scanner op de computer is aangesloten.
Enum
"NIET GESPECIFICEERD" "USB" "NETWERK"
ConstraintType
Het gegevenstype van de beperking die wordt weergegeven door een OptionConstraint .
Enum
"INT_RANGE" "VAST BEREIK" "INT_LIJST" "VAST_LIJST" "STRING_LIST"
De beperking geldt voor een bereik van OptionType.INT -waarden. De eigenschappen min , max en quant van OptionConstraint zullen long zijn, en de eigenschap list zal niet ingesteld zijn.
De beperking geldt voor een bereik van OptionType.FIXED -waarden. De eigenschappen min , max en quant van OptionConstraint zullen double zijn, en de eigenschap list zal niet ingesteld zijn.
De beperking geldt voor een specifieke lijst met OptionType.INT -waarden. De eigenschap OptionConstraint.list bevat long waarden en de andere eigenschappen zijn niet ingesteld.
De beperking geldt voor een specifieke lijst met OptionType.FIXED -waarden. De eigenschap OptionConstraint.list bevat double waarden en de andere eigenschappen zijn niet ingesteld.
De beperking geldt voor een specifieke lijst met OptionType.STRING -waarden. De eigenschap OptionConstraint.list bevat DOMString waarden en de andere eigenschappen worden niet ingesteld.
DeviceFilter
Eigenschappen
- lokaal
boolean optioneel
Retourneer alleen scanners die rechtstreeks op de computer zijn aangesloten.
- zeker
boolean optioneel
Retourneer alleen scanners die gebruikmaken van een beveiligde transportmethode, zoals USB of TLS.
GetOptionGroupsResponse
Eigenschappen
- groepen
OptionGroup [] optioneel
Als
resultSUCCESSis, wordt een lijst met optiegroepen weergegeven in de volgorde zoals die door het scannerstuurprogramma is opgegeven. - resultaat
Het resultaat van het ophalen van de optiegroepen. Als de waarde hiervan
SUCCESSis, wordt de eigenschapgroupsgevuld. - scannerHandvat
snaar
Dezelfde scannerhandle als die werd doorgegeven aan
getOptionGroups.
GetScannerListResponse
Eigenschappen
- resultaat
Het resultaat van de opsomming. Houd er rekening mee dat er gedeeltelijke resultaten kunnen worden geretourneerd, zelfs als dit een fout aangeeft.
- scanners
ScannerInfo []
Een mogelijk lege lijst met scanners die overeenkomen met het opgegeven
DeviceFilter.
OpenScannerResponse
Eigenschappen
- opties
object optioneel
Als
resultSUCCESSis, wordt een sleutel-waardepaar toegekend waarbij de sleutel een apparaatspecifieke optie is en de waarde een instantie vanScannerOption. - resultaat
Het resultaat van het openen van de scanner. Als de waarde hiervan
SUCCESSis, worden de eigenschappenscannerHandleenoptionsingevuld. - scannerHandvat
string optioneel
Als
resultSUCCESSis, ontvangt u een handle naar de scanner die voor verdere bewerkingen kan worden gebruikt. - scannerId
snaar
De scanner-ID die aan
openScanner()wordt doorgegeven.
OperationResult
Een enum die het resultaat van elke bewerking aangeeft.
Enum
"ONBEKEND" "SUCCES" "NIET ONDERSTEUND" "GEANNULEERD" "APPARAAT_BEZET" "ONGELDIG" "VERKEERD_TYPE" "EOF" "ADF_JAMMED" "ADF_EMPTY" "COVER_OPEN" "IO_FOUT" "TOEGANG GEWEIGERD" "GEEN_GEHEUGEN" "ONBEREIKBAAR" "VERMIST" "INTERNAL_ERROR"
Er is een onbekende of algemene storing opgetreden.
De operatie is geslaagd.
Deze bewerking wordt niet ondersteund.
De operatie werd geannuleerd.
Het apparaat is bezet.
Ofwel de gegevens, ofwel een argument dat aan de methode is doorgegeven, zijn ongeldig.
De opgegeven waarde heeft het verkeerde gegevenstype voor de onderliggende optie.
Er zijn geen verdere gegevens beschikbaar.
De documentinvoer is vastgelopen.
De documentinvoer is leeg.
Het laadklepdeksel is open.
Er is een fout opgetreden tijdens de communicatie met het apparaat.
Het apparaat vereist authenticatie.
Er is onvoldoende geheugen beschikbaar op de Chromebook om de bewerking te voltooien.
Het apparaat is niet bereikbaar.
Het apparaat is losgekoppeld.
Er is ergens anders dan in de aanroepende applicatie een fout opgetreden.
OptionConstraint
Eigenschappen
- lijst
string[] | number[] optioneel
- max
nummer optioneel
- min
nummer optioneel
- kwantitatief
nummer optioneel
- type
OptionGroup
Eigenschappen
- leden
snaar[]
Een lijst met optienamen in de door de bestuurder opgegeven volgorde.
- titel
snaar
Biedt een afdrukbare titel, bijvoorbeeld "Geometrie-opties".
OptionSetting
Eigenschappen
- naam
snaar
Geeft de naam aan van de optie die moet worden ingesteld.
- type
Geeft het gegevenstype van de optie aan. Het gevraagde gegevenstype moet overeenkomen met het werkelijke gegevenstype van de onderliggende optie.
- waarde
tekenreeks | getal | boolean | getal[] optioneel
Geeft de in te stellen waarde aan. Laat dit veld leeg om automatische instelling aan te vragen voor opties waarvoor
autoSettableis ingeschakeld. Het opgegeven gegevenstype voorvaluemoet overeenkomen mettype.
OptionType
Het gegevenstype van een optie.
Enum
"ONBEKEND" "BOOL" "INT" "VAST" "SNAAR" "KNOP" "GROEP"
Het gegevenstype van de optie is onbekend. De eigenschap value zal niet worden ingesteld.
De value de eigenschap zal één van de true zijn: waar of onwaar.
Een getekend 32-bits geheel getal. De eigenschap value is van het type `long` of `long[]`, afhankelijk van of de optie meerdere waarden accepteert.
Een double in het bereik -32768-32767.9999 met een resolutie van 1/65535. De value eigenschap is double of double[] afhankelijk van of de optie meer dan één waarde accepteert. Double-waarden die niet exact kunnen worden weergegeven, worden afgerond naar het beschikbare bereik en de beschikbare precisie.
Een reeks willekeurige bytes, behalve NUL ('\0'). De value eigenschap zal een DOMString zijn.
Een optie van dit type heeft geen waarde. Het instellen van een dergelijke optie veroorzaakt daarentegen een optiespecifiek neveneffect in het scannerstuurprogramma. Een knopvormige optie kan bijvoorbeeld door een scannerstuurprogramma worden gebruikt om standaardwaarden te selecteren of om een automatische documentinvoer te instrueren om door te gaan naar het volgende vel papier.
Groeperingsoptie. Geen waarde. Deze is opgenomen voor compatibiliteit, maar wordt normaal gesproken niet geretourneerd in ScannerOption waarden. Gebruik getOptionGroups() om de lijst met groepen en hun lidopties op te halen.
Enum
"EENHEIDLOOS" "PIXEL" "BEETJE" "MM" "DPI" "PERCENTAGE" "MICROSECONDE"
De waarde is een eenheidsloos getal. Het kan bijvoorbeeld een drempelwaarde zijn.
De waarde is een aantal pixels, bijvoorbeeld de afmetingen van een scan.
De waarde is het aantal bits, bijvoorbeeld de kleurdiepte.
De waarde wordt gemeten in millimeters, bijvoorbeeld scanafmetingen.
De waarde wordt gemeten in dots per inch, bijvoorbeeld resolutie.
De waarde is een percentage, bijvoorbeeld helderheid.
De waarde wordt gemeten in microseconden, bijvoorbeeld belichtingstijd.
ReadScanDataResponse
Eigenschappen
- gegevens
ArrayBuffer optioneel
Als
resultSUCCESSis, bevat het het volgende deel van de gescande afbeeldingsgegevens. AlsresultEOFis, bevat het het laatste deel van de gescande afbeeldingsgegevens. - geschatte voltooiing
nummer optioneel
Als
resultSUCCESSis, wordt een schatting gegeven van hoeveel van de totale scangegevens tot nu toe zijn geleverd, in het bereik van 0 tot 100. - functie
snaar
Geeft de taakhandle door die is doorgegeven aan
readScanData(). - resultaat
Het resultaat van het lezen van de gegevens. Als de waarde
SUCCESSis, bevat dedatahet volgende (mogelijk lege) deel van de afbeeldingsgegevens dat klaar is om te worden gelezen. Als de waardeEOFis, bevat dedatahet laatste deel van de afbeeldingsgegevens.
ScannerInfo
Eigenschappen
- verbindingstype
Geeft aan hoe de scanner op de computer is aangesloten.
- apparaatUuid
snaar
Voor het vergelijken met andere
ScannerInfovermeldingen die naar hetzelfde fysieke apparaat verwijzen. - afbeeldingsformaten
snaar[]
Een lijst met MIME-typen die kunnen worden opgevraagd voor de geretourneerde scans.
- fabrikant
snaar
De fabrikant van de scanner.
- model
snaar
Het scannermodel, indien beschikbaar, of een algemene omschrijving.
- naam
snaar
Een voor mensen leesbare naam voor de scanner die in de gebruikersinterface wordt weergegeven.
- protocolType
snaar
Een leesbare beschrijving van het protocol of de driver die gebruikt wordt om toegang te krijgen tot de scanner, zoals Mopria, WSD of Epson. Dit is vooral handig om een gebruiker te laten kiezen tussen protocollen als een apparaat meerdere protocollen ondersteunt.
- scannerId
snaar
De ID van een specifieke scanner.
- zeker
booleaans
Indien dit waar is, kan het transport van de scannerverbinding niet worden onderschept door een passieve luisteraar, zoals TLS of USB.
ScannerOption
Eigenschappen
- configureerbaarheid
Geeft aan of en hoe de optie kan worden gewijzigd.
- beperking
OptionConstraint optioneel
Definieert
OptionConstraintvoor de huidige scanneroptie. - beschrijving
snaar
Een uitgebreidere beschrijving van de optie.
- isActief
booleaans
Geeft aan dat de optie actief is en kan worden ingesteld of opgevraagd. Indien onwaar, wordt de
valueeigenschap niet ingesteld. - isGeavanceerd
booleaans
Geeft aan dat de gebruikersinterface deze optie niet standaard moet weergeven.
- isAutoSettable
booleaans
Kan automatisch worden ingesteld door het scannerstuurprogramma.
- is detecteerbaar
booleaans
Geeft aan dat deze optie door software kan worden gedetecteerd.
- isEmulated
booleaans
Wordt door het scannerstuurprogramma gesimuleerd indien waar.
- naam
snaar
De optienaam moet bestaan uit kleine ASCII-letters, cijfers en streepjes. Diakritische tekens zijn niet toegestaan.
- titel
snaar
Een afdrukbare titel van één regel.
- type
Het gegevenstype dat in de eigenschap
valueis opgeslagen, is nodig om deze optie in te stellen. - eenheid
De meeteenheid voor deze optie.
- waarde
tekenreeks | getal | boolean | getal[] optioneel
De huidige waarde van de optie, indien van toepassing. Houd er rekening mee dat het gegevenstype van deze eigenschap moet overeenkomen met het gegevenstype dat is opgegeven in
type.
ScanOptions
Eigenschappen
- maxImages
nummer 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
snaar[]
Een array met URL's van data-afbeeldingen in een formaat dat als "src"-waarde aan een afbeeldingstag kan worden doorgegeven.
- mimeType
snaar
Het MIME-type van de
dataUrls.
SetOptionResult
Eigenschappen
- naam
snaar
Geeft de naam aan van de ingestelde optie.
- resultaat
Geeft het resultaat aan van het instellen van de optie.
SetOptionsResponse
Eigenschappen
- opties
object optioneel
Een bijgewerkte sleutel-waardetoewijzing van optienamen naar
ScannerOption-waarden met de nieuwe configuratie, nadat geprobeerd is alle opgegeven opties in te stellen. Deze heeft dezelfde structuur als de eigenschapoptionsinOpenScannerResponse.Deze eigenschap wordt ingesteld, zelfs als sommige opties niet succesvol zijn ingesteld, maar wordt verwijderd als het ophalen van de bijgewerkte configuratie mislukt (bijvoorbeeld als de scanner tijdens het scannen wordt losgekoppeld).
- resultaten
Een reeks resultaten, één voor elke doorgegeven
OptionSetting. - scannerHandvat
snaar
Geeft de scannerhandle door die is doorgegeven aan
setOptions().
StartScanOptions
Eigenschappen
- formaat
snaar
Specificeert het MIME-type waarin de gescande gegevens moeten worden geretourneerd.
- maxReadSize
nummer optioneel
Als een waarde groter dan nul wordt opgegeven, wordt het maximale aantal gescande bytes dat in één
readScanDataantwoord wordt geretourneerd, beperkt tot die waarde. De kleinst toegestane waarde is 32768 (32 KB). Als deze eigenschap niet is opgegeven, kan de grootte van een geretourneerd chunk zo groot zijn als de volledige gescande afbeelding.
StartScanResponse
Eigenschappen
- functie
string optioneel
Als
resultSUCCESSis, wordt een handle verstrekt waarmee scangegevens kunnen worden gelezen of de taak kan worden geannuleerd. - resultaat
Het resultaat van het starten van een scan. Als de waarde hiervan
SUCCESSis, wordt dejobingevuld. - scannerHandvat
snaar
Geeft dezelfde scannerhandle terug die aan
startScan()is doorgegeven.
Methoden
cancelScan()
chrome.documentScan.cancelScan(
job: string,
): Promise<CancelScanResponse>
Annuleert een gestarte scan en retourneert een Promise die wordt opgelost met een CancelScanResponse object. Als een callback wordt gebruikt, wordt het object daaraan doorgegeven.
Parameters
- functie
snaar
De handle van een actieve scantaak die eerder is geretourneerd door een aanroep van
startScan.
Retourneert
Promise< CancelScanResponse >
Retourneert een Promise die wordt opgelost met het resultaat.
closeScanner()
chrome.documentScan.closeScanner(
scannerHandle: string,
): Promise<CloseScannerResponse>
Sluit de scanner met de meegegeven handle en retourneert een Promise die wordt opgelost met een CloseScannerResponse -object. Als een callback wordt gebruikt, wordt het object daaraan doorgegeven. Zelfs als het antwoord niet succesvol is, wordt de meegegeven handle ongeldig en mag deze niet meer voor verdere bewerkingen worden gebruikt.
Parameters
- scannerHandvat
snaar
Specificeert de handle van een geopende scanner die eerder is geretourneerd door een aanroep van
openScanner.
Retourneert
Belofte <ScannerRespons>
Retourneert een Promise die wordt opgelost met het resultaat.
getOptionGroups()
chrome.documentScan.getOptionGroups(
scannerHandle: string,
): Promise<GetOptionGroupsResponse>
Haalt de groepsnamen en lidmaatschapsopties op van een scanner die eerder is geopend met openScanner . Deze methode retourneert een Promise die wordt opgelost met een GetOptionGroupsResponse -object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens daaraan doorgegeven.
Parameters
- scannerHandvat
snaar
De handle van een geopende scanner die is geretourneerd na een aanroep naar
openScanner.
Retourneert
Promise< GetOptionGroupsResponse >
Retourneert een Promise die wordt opgelost met het resultaat.
getScannerList()
chrome.documentScan.getScannerList(
filter: DeviceFilter,
): Promise<GetScannerListResponse>
Haalt de lijst met beschikbare scanners op en retourneert een Promise die wordt opgelost met een GetScannerListResponse -object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens in plaats daarvan aan de callback doorgegeven.
Parameters
- filter
Een
DeviceFilterdat aangeeft welke typen scanners moeten worden geretourneerd.
Retourneert
Promise< GetScannerListResponse >
Retourneert een Promise die wordt opgelost met het resultaat en de lijst met scanners.
openScanner()
chrome.documentScan.openScanner(
scannerId: string,
): Promise<OpenScannerResponse>
Opent een scanner voor exclusieve toegang en retourneert een Promise die wordt opgelost met een OpenScannerResponse object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens in plaats daarvan aan die callback doorgegeven.
Parameters
- scannerId
snaar
De ID van een te openen scanner. Deze waarde is afkomstig van een eerdere aanroep van
getScannerList.
Retourneert
Promise< OpenScannerResponse >
Retourneert een Promise die wordt opgelost met het resultaat.
readScanData()
chrome.documentScan.readScanData(
job: string,
): Promise<ReadScanDataResponse>
Leest het volgende deel van de beschikbare afbeeldingsgegevens van een actieve taakhandle en retourneert een Promise die wordt opgelost met een ReadScanDataResponse object. Als een callback wordt gebruikt, wordt het object daaraan doorgegeven.
**Let op:** Het is geldig dat een responsresultaat SUCCESS is met een data van lengte nul. Dit betekent dat de scanner nog steeds bezig is, maar nog geen aanvullende gegevens gereed heeft. De beller moet even wachten en het opnieuw proberen.
Wanneer de scantaak is voltooid, bevat het antwoord de resultaatwaarde EOF . Dit antwoord kan een laatste niet-nul data element bevatten.
Parameters
- functie
snaar
Actieve taakhandle die eerder door
startScanis geretourneerd.
Retourneert
Promise< ReadScanDataResponse >
Retourneert een Promise die wordt opgelost met het resultaat.
scan()
chrome.documentScan.scan(
options: ScanOptions,
): Promise<ScanResults>
Voert een documentenscan uit en retourneert een Promise die wordt opgelost met een ScanResults object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens daaraan doorgegeven.
Parameters
- opties
Een object dat scanparameters bevat.
Retourneert
Belofte< ScanResultaten >
Chrome 96+Retourneert een Promise die wordt opgelost met de scanresultaten.
setOptions()
chrome.documentScan.setOptions(
scannerHandle: string,
options: OptionSetting[],
): Promise<SetOptionsResponse>
Stelt opties in op de opgegeven scanner en retourneert een Promise die wordt opgelost met een SetOptionsResponse object dat het resultaat bevat van de poging om elke waarde in te stellen in de volgorde van het meegeleverde OptionSetting -object. Als een callback wordt gebruikt, wordt het object daaraan doorgegeven.
Parameters
- scannerHandvat
snaar
De handle van de scanner waarop de opties moeten worden ingesteld. Dit moet een waarde zijn die eerder is geretourneerd door een aanroep van
openScanner. - opties
Een lijst met
OptionSettingobjecten die op de scanner moeten worden toegepast.
Retourneert
Promise< SetOptionsResponse >
Retourneert een Promise die wordt opgelost met het resultaat.
startScan()
chrome.documentScan.startScan(
scannerHandle: string,
options: StartScanOptions,
): Promise<StartScanResponse>
Start een scan op de opgegeven scanner en retourneert een Promise die wordt opgelost met een StartScanResponse . Als een callback wordt gebruikt, wordt het object daaraan doorgegeven. Als de aanroep succesvol was, bevat het antwoord een taak-handle die in volgende aanroepen kan worden gebruikt om scangegevens te lezen of een scan te annuleren.
Parameters
- scannerHandvat
snaar
De handle van een geopende scanner. Dit moet een waarde zijn die eerder is geretourneerd door een aanroep van
openScanner. - opties
Een
StartScanOptionsobject dat de te gebruiken scanopties aangeeft. De eigenschapStartScanOptions.formatmoet overeenkomen met een van de waarden die worden geretourneerd in deScannerInfovan de scanner.
Retourneert
Promise< StartScanResponse >
Retourneert een Promise die wordt opgelost met het resultaat.