chrome.documentScan

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 de inhoud van papieren documenten op een aangesloten documentscanner te laten bekijken.

Machtigingen

documentScan

Beschikbaarheid

AlleenChrome 44+ ChromeOS
Bij die leden wordt de beschikbaarheid voor later toegevoegde API-leden weergegeven.

Concepten en gebruik

Deze API ondersteunt twee manieren om documenten te scannen. Als uw gebruiksscenario met elke scanner kan werken en geen controle over de configuratie vereist, gebruik dan de scan() -methode. Complexere gebruiksscenario's vereisen een combinatie van methoden, die alleen worden ondersteund in Chrome 124 en hoger.

Eenvoudig scannen

Voor eenvoudige gebruiksscenario's, dat wil zeggen toepassingen die met elke scanner kunnen werken en geen controle over de configuratie vereisen, roept u scan() aan. Deze methode neemt een ScanOptions object 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 beller worden geaccepteerd. Scans worden geretourneerd als URL's voor weergave in een <img> -tag voor een gebruikersinterface.

Complex scannen

Complexe scans worden in drie fasen uitgevoerd, zoals beschreven in deze sectie. Dit overzicht beschrijft niet elk methodeargument of elke eigenschap die in een antwoord wordt geretourneerd. Het is alleen bedoeld om u een algemene handleiding te geven voor het schrijven van scannercode.

Ontdekking

  1. Roep getScannerList() aan. Beschikbare scanners worden geretourneerd in een Promise die wordt opgelost met een GetScannerListResponse .

    • Het responsobject bevat een array met ScannerInfo objecten.
    • De array kan meerdere vermeldingen voor één scanner bevatten als die scanner meerdere protocollen of verbindingsmethoden ondersteunt.
  2. Selecteer een scanner uit de geretourneerde array en sla de waarde van de scannerId eigenschap op.

    Gebruik de eigenschappen van individuele ScannerInfo objecten om onderscheid te maken tussen meerdere objecten voor dezelfde scanner. Objecten van dezelfde scanner hebben dezelfde waarde voor de eigenschap deviceUuid . ScannerInfo bevat ook een eigenschap imageFormats die een reeks ondersteunde afbeeldingstypen bevat.

Scannerconfiguratie

  1. Roep openScanner() aan en geef de opgeslagen scanner-ID door. Het retourneert een belofte die wordt opgelost met een OpenScannerResponse . Het antwoordobject bevat:

    • Een scannerHandle eigenschap, die u moet opslaan.

    • Een optie-eigenschap met scannerspecifieke eigenschappen, die u moet instellen. Zie Scanneropties ophalen voor meer informatie.

  2. (Optioneel) Als u wilt dat de gebruiker waarden opgeeft voor scanneropties, bouwt u een gebruikersinterface. U hebt de scanneropties uit de vorige stap nodig, en u moet optiegroepen ophalen die door de scanner zijn geleverd. Zie Een gebruikersinterface bouwen voor meer informatie.

  3. Construeer een array van OptionSetting -objecten met behulp van programmatische of door de gebruiker opgegeven waarden. Zie Scanneropties instellen voor meer informatie.

  4. Geef de array met OptionSetting objecten door aan setOptions() om opties voor de scanner in te stellen. Het retourneert een belofte die wordt opgelost met een SetOptionsResponse . Dit object bevat een bijgewerkte versie van de scanneropties die zijn opgehaald in stap 1 van de scannerconfiguratie.

    Omdat het wijzigen van de ene optie de beperkingen van een andere optie kan veranderen, moet u deze stappen mogelijk meerdere keren herhalen.

Scannen

  1. Construeer een StartScanOptions object en geef het door aan startScan() . Het retourneert een belofte die wordt opgelost met een StartScanResponse . De job is een handvat dat u gebruikt om scangegevens te lezen of de scan te annuleren.

  2. Geef de taakingang door aan readScanData() . Het retourneert een belofte die wordt opgelost met een ReadScanDataResponse -object. Als de gegevens succesvol zijn gelezen, is de result gelijk aan SUCCESS en bevat de data eigenschap een ArrayBuffer met een deel van de scan. Houd er rekening mee dat estimatedCompletion een geschat percentage bevat van de totale gegevens die tot nu toe zijn geleverd.

  3. Herhaal de vorige stap totdat de result gelijk is aan EOF of een fout bevat.

Wanneer het einde van de scan is bereikt, roept u closeScanner() aan met de scannerhandle die u in stap 3 hebt opgeslagen. Het retourneert een Promise die wordt opgelost met een CloseScannerResponse . Als u op enig moment cancelScan() aanroept nadat de taak is gemaakt, wordt het scannen beëindigd.

Reactieobjecten

Alle methoden retourneren een belofte die wordt opgelost met een of ander antwoordobject. De meeste hiervan bevatten een result waarvan de waarde 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 antwoordobject.

OpenScannerResponse.scannerHandle heeft bijvoorbeeld alleen een waarde als OpenScannerResponse.result gelijk is aan SUCCESS .

Scanneropties

Scanneropties variëren 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 responsobject voor setOptions() ) een options eigenschap, een object dat scannerspecifieke opties bevat. Elke optie is een sleutel-waarde-toewijzing waarbij de sleutel een apparaatspecifieke optie is en de waarde een exemplaar van ScannerOption is.

De structuur ziet er globaal 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 zal er ongeveer uitzien als in het volgende voorbeeld. Voor de eenvoud worden alleen gedeeltelijke ScannerOption reacties weergegeven.

{
  "source": {
    "name": "source",
    "type": OptionType.STRING,
...
},
  "resolution": {
    "name": "resolution",
    "type": OptionType.INT,
...
  },
...
}

Bouw een gebruikersinterface

Hoewel u deze API niet hoeft te gebruiken, wilt u 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 de vorige sectie.

Sommige scanners groeperen opties op apparaatspecifieke manieren. Ze hebben geen invloed op het gedrag van opties, maar aangezien deze groepen mogelijk worden vermeld in de productdocumentatie van een scanner, moeten dergelijke groepen aan de gebruiker worden getoond. U kunt deze groepen ophalen door getOptionGroups() aan te roepen. Dit retourneert een Promise die wordt opgelost met een GetOptionGroupsResponse object. De groups bevat een scannerspecifieke reeks groepen. Gebruik de informatie in deze groepen om de opties in de OpenScannerResponse voor weergave te ordenen.

{
  scannerHandle: "123456",
  result: SUCCESS,
  groups: [
    {
      title: "Standard",
      members: [ "resolution", "mode", "source" ]
    }
  ]
}

Zoals vermeld onder Scannerconfiguratie kan het wijzigen van de ene optie de beperkingen van een andere optie wijzigen. Dit is de reden waarom setOptionsResponse (het responsobject voor setOptions() ) nog een options eigenschap bevat. Gebruik dit om de gebruikersinterface bij te werken. Herhaal vervolgens indien nodig totdat alle opties zijn ingesteld.

Stel scanneropties in

Stel scanneropties in door een array van OptionSetting objecten door te geven aan setOptions() . Zie voor een voorbeeld het volgende gedeelte Eén pagina van Letter-formaat scannen .

Voorbeelden

Haal een pagina op als een blob

Dit voorbeeld toont een manier om een ​​pagina als een blob van de scanner op te halen en demonstreert het gebruik van startScan() en readScanData() met behulp van 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 Letter-formaat

Dit voorbeeld laat zien hoe u een scanner selecteert, de opties instelt en deze opent. Vervolgens haalt het de inhoud van een enkele pagina op en sluit de scanner. Dit proces demonstreert het gebruik van getScannerList() , openScanner() , setOptions() en closeScanner() . Houd er rekening mee 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, vereist het tonen van de configuratieopties van een scanner aan een gebruiker het aanroepen van getOptionGroups() naast de scanneropties die worden geretourneerd door een aanroep van openScanner() . Dit is zodat opties kunnen worden getoond aan gebruikers in door de fabrikant gedefinieerde groepen. Dit voorbeeld laat zien hoe u dat kunt doen.

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

Chroom 125+

Eigenschappen

  • functie

    snaar

    Biedt dezelfde taakingang die is doorgegeven aan cancelScan() .

  • Het annuleerscanresultaat van de backend. Als het resultaat OperationResult.SUCCESS of OperationResult.CANCELLED is, is de scan geannuleerd en is de scanner klaar om een ​​nieuwe scan te starten. Als het resultaat OperationResult.DEVICE_BUSY is, verwerkt de scanner nog steeds de aangevraagde annulering; de beller moet een korte tijd wachten en het verzoek opnieuw proberen. Andere resultaatwaarden duiden op een permanente fout die niet opnieuw mag worden geprobeerd.

CloseScannerResponse

Chroom 125+

Eigenschappen

  • Het resultaat van het sluiten van de scanner. Zelfs als deze waarde niet SUCCESS is, is de handle ongeldig en mag deze niet voor verdere bewerkingen worden gebruikt.

  • scannerHandvat

    snaar

    Dezelfde scannerhandle als werd doorgegeven aan closeScanner .

Configurability

Chroom 125+

Hoe een optie kan worden gewijzigd.

Enum

"NIET_CONFIGUREERBAAR"
De optie is alleen-lezen.

"SOFTWARE_CONFIGURABLE"
De optie kan softwarematig worden ingesteld.

"HARDWARE_CONFIGURABLE"
De optie kan worden ingesteld door de gebruiker door te schakelen of op een knop op de scanner te drukken.

ConnectionType

Chroom 125+

Geeft aan hoe de scanner op de computer is aangesloten.

Enum

"ONGESPECIFICEERD"

"USB"

"NETWERK"

ConstraintType

Chroom 125+

Het gegevenstype van de beperking dat wordt vertegenwoordigd door een OptionConstraint .

Enum

"INT_RANGE"
De beperking voor een bereik van OptionType.INT -waarden. De min , max en quant eigenschappen van OptionConstraint zullen long zijn, en de list zal niet ingesteld zijn.

"FIXED_RANGE"
De beperking voor een bereik van OptionType.FIXED -waarden. De eigenschappen min , max en quant van OptionConstraint zijn double en de eigenschap list ervan wordt uitgeschakeld.

"INT_LIST"
De beperking voor een specifieke lijst met OptionType.INT -waarden. De eigenschap OptionConstraint.list bevat long waarden en de andere eigenschappen worden niet ingesteld.

"FIXED_LIST"
De beperking voor een specifieke lijst met OptionType.FIXED -waarden. De eigenschap OptionConstraint.list bevat double waarden en de andere eigenschappen worden niet ingesteld.

"STRING_LIST"
De beperking voor een specifieke lijst met OptionType.STRING -waarden. De eigenschap OptionConstraint.list bevat DOMString waarden en de andere eigenschappen worden niet ingesteld.

DeviceFilter

Chroom 125+

Eigenschappen

  • lokaal

    Booleaans optioneel

    Retourneer alleen scanners die rechtstreeks op de computer zijn aangesloten.

  • zeker

    Booleaans optioneel

    Retourneer alleen scanners die gebruik maken van een beveiligd transport, zoals USB of TLS.

GetOptionGroupsResponse

Chroom 125+

Eigenschappen

  • groepen

    OptionGroup [] optioneel

    Als result SUCCESS is, wordt een lijst met optiegroepen weergegeven in de volgorde die door het scannerstuurprogramma wordt opgegeven.

  • Het resultaat van het ophalen van de optiegroepen. Als de waarde hiervan SUCCESS is, wordt de eigenschap groups ingevuld.

  • scannerHandvat

    snaar

    Dezelfde scannerhandle als werd doorgegeven aan getOptionGroups .

GetScannerListResponse

Chroom 125+

Eigenschappen

  • Het opsommingsresultaat. Houd er rekening mee dat gedeeltelijke resultaten kunnen worden geretourneerd, zelfs als dit op een fout duidt.

  • scanners

    Een mogelijk lege lijst met scanners die overeenkomen met de meegeleverde DeviceFilter .

OpenScannerResponse

Chroom 125+

Eigenschappen

  • opties

    object optioneel

    Als result SUCCESS is, wordt een sleutel-waarde-toewijzing weergegeven waarbij de sleutel een apparaatspecifieke optie is en de waarde een exemplaar van ScannerOption is.

  • Het resultaat van het openen van de scanner. Als de waarde hiervan SUCCESS is, worden de eigenschappen scannerHandle en options ingevuld.

  • scannerHandvat

    tekenreeks optioneel

    Als result SUCCESS is, wordt een handvat naar de scanner gebruikt dat voor verdere bewerkingen kan worden gebruikt.

  • scannerId

    snaar

    De scanner-ID doorgegeven aan openScanner() .

OperationResult

Chroom 125+

Een opsomming die het resultaat van elke bewerking aangeeft.

Enum

"ONBEKEND"
Er heeft zich een onbekende of algemene fout voorgedaan.

"SUCCES"
De operatie is gelukt.

"NIET ONDERSTEUND"
De bewerking wordt niet ondersteund.

"GEANNULEERD"
De operatie werd geannuleerd.

"DEVICE_BUSY"
Het apparaat is bezet.

"ONGELDIG"
De gegevens of een argument dat aan de methode wordt doorgegeven, zijn niet geldig.

"WRONG_TYPE"
De opgegeven waarde is 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 klep van de flatbed is open.

"IO_ERROR"
Er is een fout opgetreden tijdens de communicatie met het apparaat.

"ACCESS_DENIED"
Het apparaat vereist authenticatie.

"GEEN_GEHEUGEN"
Er is niet voldoende geheugen beschikbaar op de Chromebook om de bewerking te voltooien.

"ONBEREIKBAAR"
Het apparaat is niet bereikbaar.

"ONTBREKEN"
Het apparaat is losgekoppeld.

"INTERNAL_ERROR"
Er is ergens anders een fout opgetreden dan in de aanroepende toepassing.

OptionConstraint

Chroom 125+

Eigenschappen

  • lijst

    tekenreeks[] | nummer[] optioneel

  • maximaal

    nummer optioneel

  • min

    nummer optioneel

  • kwantitatief

    nummer optioneel

OptionGroup

Chroom 125+

Eigenschappen

  • leden

    snaar[]

    Een array met optienamen in de door het stuurprogramma opgegeven volgorde.

  • titel

    snaar

    Biedt een afdrukbare titel, bijvoorbeeld 'Geometrie-opties'.

OptionSetting

Chroom 125+

Eigenschappen

  • naam

    snaar

    Geeft de naam aan van de in te stellen optie.

  • type

    Geeft het gegevenstype van de optie aan. Het gevraagde datatype moet overeenkomen met het echte datatype van de onderliggende optie.

  • waarde

    tekenreeks | nummer | booleaans | nummer[] optioneel

    Geeft de in te stellen waarde aan. Laat deze instelling uitgeschakeld om automatische instelling aan te vragen voor opties waarvoor autoSettable is ingeschakeld. Het gegevenstype dat voor value wordt opgegeven, moet overeenkomen met type .

OptionType

Chroom 125+

Het gegevenstype van een optie.

Enum

"ONBEKEND"
Het gegevenstype van de optie is onbekend. De value eigenschap wordt uitgeschakeld.

"BOEL"
De value -eigenschap is true false.

"INT"
Een 32-bits geheel getal met teken. De value eigenschap is long of long[], afhankelijk van of de optie meer dan één waarde aanneemt.

"VAST"
Een dubbelganger 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 aanneemt. Dubbele waarden die niet exact kunnen worden weergegeven, worden afgerond op het beschikbare bereik en de beschikbare nauwkeurigheid.

"SNAAR"
Een reeks van willekeurige bytes behalve NUL ('\0'). De value eigenschap is een DOMString.

"KNOP"
Een dergelijke optie heeft geen waarde. In plaats daarvan veroorzaakt het instellen van een optie van dit type een optiespecifiek neveneffect in het scannerstuurprogramma. Een scannerstuurprogramma kan bijvoorbeeld een met een knop getypte optie gebruiken om standaardwaarden te selecteren of om een ​​automatische documentinvoer te vertellen dat hij door moet gaan naar het volgende vel papier.

"GROEP"
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

Chroom 125+

Geeft het gegevenstype voor ScannerOption.unit aan.

Enum

"EENHEDEN"
De waarde is een eenheidloos getal. Het kan bijvoorbeeld een drempel zijn.

"PIXEL"
De waarde is een aantal pixels, bijvoorbeeld scanafmetingen.

"BEETJE"
De waarde is het aantal bits, bijvoorbeeld de kleurdiepte.

"MM"
De waarde wordt gemeten in millimeters, bijvoorbeeld scanafmetingen.

"DPI"
De waarde wordt gemeten in dots per inch, bijvoorbeeld de resolutie.

"PERCENT"
De waarde is een percentage, bijvoorbeeld helderheid.

"MICROSECONDE"
De waarde wordt gemeten in microseconden, bijvoorbeeld de belichtingstijd.

ReadScanDataResponse

Chroom 125+

Eigenschappen

  • gegevens

    ArrayBuffer optioneel

    Als result SUCCESS is, bevat dit het volgende deel van de gescande afbeeldingsgegevens. Als result EOF is, bevat dit het laatste deel van de gescande afbeeldingsgegevens.

  • geschatteVoltooiing

    nummer optioneel

    Als result SUCCESS is, een schatting van hoeveel van de totale scangegevens tot nu toe zijn afgeleverd, in het bereik van 0 tot 100.

  • functie

    snaar

    Biedt de taakingang die wordt doorgegeven aan readScanData() .

  • Het resultaat van het lezen van gegevens. Als de waarde SUCCESS is, bevatten data het volgende (mogelijk lengte nul) deel van de afbeeldingsgegevens dat klaar is om te worden gelezen. Als de waarde ervan EOF is, bevatten de data het laatste deel van de afbeeldingsgegevens.

ScannerInfo

Chroom 125+

Eigenschappen

  • verbindingstype

    Geeft aan hoe de scanner op de computer is aangesloten.

  • apparaatUuid

    snaar

    Voor vergelijking met andere ScannerInfo vermeldingen die naar hetzelfde fysieke apparaat verwijzen.

  • afbeeldingformaten

    snaar[]

    Een reeks MIME-typen die kunnen worden aangevraagd voor geretourneerde scans.

  • fabrikant

    snaar

    De scannerfabrikant.

  • model

    snaar

    Het scannermodel, indien beschikbaar, of een algemene beschrijving.

  • naam

    snaar

    Een voor mensen leesbare naam die de scanner in de gebruikersinterface moet weergeven.

  • protocolType

    snaar

    Een voor 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 om een ​​gebruiker te laten kiezen tussen protocollen als een apparaat meerdere protocollen ondersteunt.

  • scannerId

    snaar

    De ID van een specifieke scanner.

  • zeker

    Booleaans

    Als dit waar is, kan het transport van de scannerverbinding niet worden onderschept door een passieve luisteraar, zoals TLS of USB.

ScannerOption

Chroom 125+

Eigenschappen

  • configureerbaarheid

    Geeft aan of en hoe de optie gewijzigd kan worden.

  • beperking

    OptionConstraint optioneel

    Definieert OptionConstraint voor de huidige scanneroptie.

  • beschrijving

    snaar

    Een langere beschrijving van de optie.

  • isActief

    Booleaans

    Geeft aan dat de optie actief is en kan worden ingesteld of opgehaald. Indien false, wordt de eigenschap value niet ingesteld.

  • is geavanceerd

    Booleaans

    Geeft aan dat de gebruikersinterface deze optie standaard niet mag weergeven.

  • isAutoSettable

    Booleaans

    Kan automatisch worden ingesteld door het scannerstuurprogramma.

  • isdetecteerbaar

    Booleaans

    Geeft aan dat deze optie door software kan worden gedetecteerd.

  • is geëmuleerd

    Booleaans

    Geëmuleerd door het scannerstuurprogramma indien waar.

  • naam

    snaar

    De optienaam met kleine ASCII-letters, cijfers en streepjes. Diakritische tekens zijn niet toegestaan.

  • titel

    snaar

    Een afdrukbare titel van één regel.

  • type

    Het gegevenstype in de value eigenschap, dat nodig is voor het instellen van deze optie.

  • eenheid

    De maateenheid voor deze optie.

  • waarde

    tekenreeks | nummer | booleaans | nummer[] optioneel

    De huidige waarde van de optie, indien relevant. Houd er rekening mee dat het gegevenstype van deze eigenschap moet overeenkomen met het gegevenstype dat is opgegeven in type .

ScanOptions

Eigenschappen

  • maxAfbeeldingen

    nummer optioneel

    Het toegestane aantal gescande afbeeldingen. De standaardwaarde is 1.

  • mime-typen

    tekenreeks[] optioneel

    De MIME-typen die door de aanroeper worden geaccepteerd.

ScanResults

Eigenschappen

  • dataUrls

    snaar[]

    Een array van gegevensafbeeldings-URL's in een vorm die kan worden doorgegeven als de 'src'-waarde aan een afbeeldingstag.

  • mimeType

    snaar

    Het MIME-type van dataUrls .

SetOptionResult

Chroom 125+

Eigenschappen

  • naam

    snaar

    Geeft de naam aan van de optie die is ingesteld.

  • Geeft het resultaat aan van het instellen van de optie.

SetOptionsResponse

Chroom 125+

Eigenschappen

  • opties

    object optioneel

    Een bijgewerkte sleutelwaardetoewijzing van optienamen naar ScannerOption waarden die de nieuwe configuratie bevatten na een poging om alle opgegeven opties in te stellen. Dit heeft dezelfde structuur als de eigenschap options in OpenScannerResponse .

    Deze eigenschap wordt ingesteld, zelfs als sommige opties niet succesvol zijn ingesteld, maar wordt uitgeschakeld als het ophalen van de bijgewerkte configuratie mislukt (bijvoorbeeld als de scanner tijdens het scannen wordt losgekoppeld).

  • resultaten

    Een array met resultaten, één voor elke doorgegeven OptionSetting .

  • scannerHandvat

    snaar

    Biedt de scannerhandle die wordt doorgegeven aan setOptions() .

StartScanOptions

Chroom 125+

Eigenschappen

  • formaat

    snaar

    Specificeert het MIME-type waarin gescande gegevens moeten worden geretourneerd.

  • maxReadSize

    nummer optioneel

    Als er een waarde anders dan nul is opgegeven, worden de maximale gescande bytes beperkt die in een enkel readScanData antwoord op die waarde worden geretourneerd. De kleinste toegestane waarde is 32768 (32 KB). Als deze eigenschap niet is opgegeven, kan de grootte van een geretourneerd stuk even groot zijn als de gehele gescande afbeelding.

StartScanResponse

Chroom 125+

Eigenschappen

  • functie

    tekenreeks optioneel

    Als result SUCCESS is, wordt er een handvat geboden dat kan worden gebruikt om scangegevens te lezen of de taak te annuleren.

  • Het resultaat van het starten van een scan. Als de waarde hiervan SUCCESS is, wordt de job ingevuld.

  • scannerHandvat

    snaar

    Biedt dezelfde scannerhandle die is doorgegeven aan startScan() .

Methoden

cancelScan()

BeloofChrome 125+
chrome.documentScan.cancelScan(
  job: string,
  callback?: function,
)

Annuleert een gestarte scan en retourneert een belofte die wordt opgelost met een CancelScanResponse object. Als er een callback wordt gebruikt, wordt het object eraan doorgegeven.

Parameters

  • functie

    snaar

    De handle van een actieve scantaak die eerder is geretourneerd na een aanroep van startScan .

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (response: CancelScanResponse) => void

Retouren

  • Beloof <CancelResponse>

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

closeScanner()

BeloofChrome 125+
chrome.documentScan.closeScanner(
  scannerHandle: string,
  callback?: function,
)

Sluit de scanner met de doorgegeven ingang en retourneert een Promise die wordt opgelost met een CloseScannerResponse -object. Als er een callback wordt gebruikt, wordt het object eraan doorgegeven. Zelfs als het antwoord geen succes is, wordt de opgegeven handle ongeldig en mag deze niet voor verdere bewerkingen worden gebruikt.

Parameters

  • scannerHandvat

    snaar

    Specificeert de handle van een open scanner die eerder is geretourneerd door een aanroep van openScanner .

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (response: CloseScannerResponse) => void

Retouren

  • Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getOptionGroups()

BeloofChrome 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
  callback?: function,
)

Haalt de groepsnamen en ledenopties op van een scanner die eerder door openScanner werd geopend. Deze methode retourneert een Promise die wordt opgelost met een GetOptionGroupsResponse -object. Als er een callback wordt doorgegeven aan deze functie, worden de geretourneerde gegevens daaraan doorgegeven.

Parameters

Retouren

  • Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

getScannerList()

BeloofChrome 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
  callback?: function,
)

Haalt de lijst met beschikbare scanners op en retourneert een belofte die wordt opgelost met een GetScannerListResponse object. Als er een callback wordt doorgegeven aan deze functie, worden de geretourneerde gegevens daaraan doorgegeven.

Parameters

Retouren

  • Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

openScanner()

BeloofChrome 125+
chrome.documentScan.openScanner(
  scannerId: string,
  callback?: function,
)

Opent een scanner voor exclusieve toegang en retourneert een belofte die wordt opgelost met een OpenScannerResponse object. Als er een callback wordt doorgegeven aan deze functie, worden de geretourneerde gegevens daaraan doorgegeven.

Parameters

  • scannerId

    snaar

    De ID van een scanner die moet worden geopend. Deze waarde is de waarde die wordt geretourneerd door een eerdere aanroep van getScannerList .

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (response: OpenScannerResponse) => void

Retouren

  • Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

readScanData()

BeloofChrome 125+
chrome.documentScan.readScanData(
  job: string,
  callback?: function,
)

Leest het volgende deel van de beschikbare afbeeldingsgegevens van een actieve taakafhandeling en retourneert een Promise die wordt opgelost met een ReadScanDataResponse -object. Als er een callback wordt gebruikt, wordt het object eraan doorgegeven.

**Opmerking:**Het is geldig dat een antwoordresultaat SUCCESS is met een data met lengte nul. Dit betekent dat de scanner nog steeds werkt, maar nog geen extra gegevens gereed heeft. De beller moet even wachten en het opnieuw proberen.

Wanneer de scantaak is voltooid, heeft het antwoord de resultaatwaarde EOF . Dit antwoord kan een laatste niet-nul data bevatten.

Parameters

Retouren

  • Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

scan()

Belofte
chrome.documentScan.scan(
  options: ScanOptions,
  callback?: function,
)

Voert een documentscan uit en retourneert een belofte die wordt opgelost met een ScanResults -object. Als er een callback naar deze functie wordt doorgegeven, worden de geretourneerde gegevens daaraan doorgegeven.

Parameters

  • opties

    Een object dat scanparameters bevat.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (result: ScanResults) => void

Retouren

  • Beloof < Scanresultaten >

    Chroom 96+

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

setOptions()

BeloofChrome 125+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
  callback?: function,
)

Stelt opties in op de opgegeven scanner en retourneert een belofte die wordt opgelost met een SetOptionsResponse object dat het resultaat bevat van een poging om elke waarde in te stellen in de volgorde van het doorgegeven OptionSetting -object. Als er een callback wordt gebruikt, wordt het object eraan doorgegeven.

Parameters

  • scannerHandvat

    snaar

    Het handvat van de scanner om opties op in te stellen. Dit moet een waarde zijn die eerder is geretourneerd door een aanroep van openScanner .

  • opties

    Een lijst met OptionSetting -objecten die op de scanner moeten worden toegepast.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (response: SetOptionsResponse) => void

Retouren

  • Beloof < SetOptionsResponse >

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.

startScan()

BeloofChrome 125+
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
  callback?: function,
)

Start een scan op de opgegeven scanner en retourneert een belofte die wordt opgelost met een StartScanResponse . Als er een callback wordt gebruikt, wordt het object eraan doorgegeven. Als de oproep succesvol was, bevat het antwoord een taakafhandeling die bij volgende oproepen kan worden gebruikt om scangegevens te lezen of een scan te annuleren.

Parameters

  • scannerHandvat

    snaar

    Het handvat van een open scanner. Dit moet een waarde zijn die eerder is geretourneerd door een aanroep van openScanner .

  • Een StartScanOptions object dat de opties aangeeft die voor de scan moeten worden gebruikt. De eigenschap StartScanOptions.format moet overeenkomen met een van de waarden die worden geretourneerd in ScannerInfo van de scanner.

  • terugbellen

    functie optioneel

    De callback parameter ziet er als volgt uit:

    (response: StartScanResponse) => void

Retouren

  • Beloof < StartScanResponse >

    Beloften worden ondersteund in Manifest V3 en hoger, maar er zijn callbacks beschikbaar voor achterwaartse compatibiliteit. U kunt niet beide gebruiken bij dezelfde functieaanroep. De belofte wordt opgelost met hetzelfde type dat wordt doorgegeven aan de callback.