browser.documentScan

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

documentScan

Beschikbaarheid

Chrome 44 en hoger browser.* sinds Chrome 148 Alleen ChromeOS
De beschikbaarheid van API-leden die later worden toegevoegd, wordt bij die leden getoond.

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

  1. Bel getScannerList(). Beschikbare scanners worden geretourneerd in een Promise die wordt omgezet in een GetScannerListResponse.

    • 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.
  2. Selecteer een scanner uit de geretourneerde array en sla de waarde van de property scannerId op.

    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 eigenschap deviceUuid. ScannerInfo bevat ook een imageFormats-property met een matrix van ondersteunde afbeeldingstypen.

Scannerconfiguratie

  1. Roep openScanner() aan en geef de opgeslagen scanner-ID door. Deze retourneert een Promise die wordt omgezet met een OpenScannerResponse. 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.

  2. (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.

  3. Maak een matrix van OptionSetting-objecten met programmatische of door gebruikers verstrekte waarden. Ga naar Scanneropties instellen voor meer informatie.

  4. Geef de array van OptionSetting-objecten door aan setOptions() om opties voor de scanner in te stellen. Deze retourneert een Promise die wordt omgezet met een SetOptionsResponse. 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

  1. Maak een StartScanOptions-object en geef het door aan startScan(). Deze retourneert een Promise die wordt omgezet met een StartScanResponse. De property job is een handle die je gebruikt om scangegevens te lezen of de scan te annuleren.

  2. Geef de taak-handle door aan readScanData(). Deze retourneert een Promise die wordt omgezet met een ReadScanDataResponse-object. Als de gegevens zijn gelezen, is de property result gelijk aan SUCCESS en bevat de property data een ArrayBuffer met een deel van de scan. estimatedCompletion bevat een geschat percentage van de totale gegevens die tot nu toe zijn geleverd.

  3. Herhaal de vorige stap totdat de eigenschap result gelijk is aan EOF of 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

Chrome 125+ browser.* sinds Chrome 148

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.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 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

Chrome 125+ browser.* sinds Chrome 148

Eigenschappen

  • resultaat

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

  • scannerHandle

    tekenreeks

    Dezelfde scannerhandle die is doorgegeven aan closeScanner.

Configurability

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

Geeft aan hoe de scanner is verbonden met de computer.

Enum

"UNSPECIFIED"

USB

"NETWORK"

ConstraintType

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

Eigenschappen

  • groepen

    OptionGroup[] optioneel

    Als result SUCCESS is, 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 SUCCESS is, wordt de property groups ingevuld.

  • scannerHandle

    tekenreeks

    Dezelfde scannerhandle die is doorgegeven aan getOptionGroups.

GetScannerListResponse

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

Eigenschappen

  • opties

    object optioneel

    Als result SUCCESS is, wordt een sleutel/waarde-toewijzing geleverd waarbij de sleutel een apparaatspecifieke optie is en de waarde een instantie van ScannerOption is.

  • resultaat

    Het resultaat van het openen van de scanner. Als de waarde hiervan SUCCESS is, worden de property's scannerHandle en options ingevuld.

  • scannerHandle

    tekenreeks optioneel

    Als result SUCCESS is, een handle voor de scanner die kan worden gebruikt voor verdere bewerkingen.

  • scannerId

    tekenreeks

    De scanner-ID is doorgegeven aan openScanner().

OperationResult

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

Eigenschappen

  • list

    string[] | number[] optioneel

  • max

    number optioneel

  • min

    number optioneel

  • quant

    number optioneel

OptionGroup

Chrome 125+ browser.* sinds Chrome 148

Eigenschappen

  • leden

    tekenreeks[]

    Een matrix van optienamen in de door het stuurprogramma aangeleverde volgorde.

  • titel

    tekenreeks

    Biedt een afdrukbare titel, bijvoorbeeld Geometrieopties.

OptionSetting

Chrome 125+ browser.* sinds Chrome 148

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 autoSettable aanstaat. Het gegevenstype dat is ingevoerd voor value moet overeenkomen met type.

OptionType

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

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.

  • estimatedCompletion

    number optioneel

    Als result SUCCESS is, 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 SUCCESS is, bevat data het volgende (mogelijk lege) blok afbeeldingsgegevens dat klaar is om te worden gelezen. Als de waarde EOF is, bevat de data het laatste deel van de afbeeldingsgegevens.

ScannerInfo

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

Eigenschappen

  • instelbaarheid

    Geeft aan of en hoe de optie kan worden gewijzigd.

  • beperking

    OptionConstraint optioneel

    Definieert OptionConstraint voor 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 value niet 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

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

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 property options in OpenScannerResponse.

    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

Chrome 125+ browser.* sinds Chrome 148

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

Chrome 125+ browser.* sinds Chrome 148

Eigenschappen

  • baan

    tekenreeks optioneel

    Als result SUCCESS is, 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 SUCCESS is, wordt de property job ingevuld.

  • scannerHandle

    tekenreeks

    Biedt dezelfde scanner-handle die is doorgegeven aan startScan().

Methoden

cancelScan()

Chrome 125+ browser.* sinds Chrome 148
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

  • Retourneert een Promise die wordt omgezet met het resultaat.

closeScanner()

Chrome 125+ browser.* sinds Chrome 148
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

getOptionGroups()

Chrome 125+ browser.* sinds Chrome 148
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

getScannerList()

Chrome 125+ browser.* sinds Chrome 148
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

Retourzendingen

  • Retourneert een Promise die wordt omgezet met het resultaat en de lijst met scanners.

openScanner()

Chrome 125+ browser.* sinds Chrome 148
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

readScanData()

Chrome 125+ browser.* sinds Chrome 148
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

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

Retourzendingen

  • Promise<ScanResults>

    Chrome 96+ browser.* sinds Chrome 148

    Retourneert een Promise die wordt omgezet met de scanresultaten.

setOptions()

Chrome 125+ browser.* sinds Chrome 148
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

  • Retourneert een Promise die wordt omgezet met het resultaat.

startScan()

Chrome 125+ browser.* sinds Chrome 148
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.

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

Retourzendingen

  • Retourneert een Promise die wordt omgezet met het resultaat.