chrome.documentScan

Beschrijving

Gebruik de chrome.documentScan API om afbeeldingen van aangesloten documentscanners te detecteren en op te halen.

De Document Scan API is ontworpen om apps en extensies de mogelijkheid te geven de inhoud van papieren documenten te bekijken op een aangesloten documentscanner.

Machtigingen

documentScan

Beschikbaarheid

Chrome 44+ Alleen ChromeOS
De beschikbaarheid voor API-leden die later worden toegevoegd, wordt bij die leden weergegeven.

Begrippen en gebruik

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

Eenvoudig scannen

Voor eenvoudige use cases, dat wil zeggen die welke met elke scanner kunnen werken en geen configuratiecontrole vereisen, roept u scan() aan. Deze methode gebruikt een ScanOptions object en retourneert een Promise die wordt omgezet in 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 voor weergave in een <img> -tag voor een gebruikersinterface.

Complex scannen

Complexe scans worden uitgevoerd in drie fasen, zoals beschreven in deze sectie. Deze samenvatting beschrijft niet elk methodeargument of elke eigenschap die in een antwoord wordt geretourneerd. Het is slechts bedoeld als algemene handleiding voor het schrijven van scannercode.

Ontdekking

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

    • Het responsobject bevat een reeks ScannerInfo objecten.
    • De matrix kan meerdere vermeldingen voor één scanner bevatten als die scanner meerdere protocollen of verbindingsmethoden ondersteunt.
  2. Selecteer een scanner uit de geretourneerde matrix en sla de waarde van de eigenschap scannerId 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 imageFormats eigenschap met een reeks ondersteunde afbeeldingstypen.

Scannerconfiguratie

  1. Roep openScanner() aan en geef de opgeslagen scanner-ID door. Dit retourneert een Promise die wordt omgezet in een OpenScannerResponse . Het responsobject 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, construeert u een gebruikersinterface. U hebt de scanneropties uit de vorige stap nodig en u moet optiegroepen ophalen die door de scanner worden aangeleverd. Zie Een gebruikersinterface construeren voor meer informatie.

  3. Maak 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 van OptionSetting -objecten door aan setOptions() om opties voor de scanner in te stellen. Dit retourneert een Promise die resulteert in een SetOptionsResponse . Dit object bevat een bijgewerkte versie van de scanneropties die zijn opgehaald in stap 1 van de scannerconfiguratie.

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

Scannen

  1. Maak een StartScanOptions -object en geef het door aan startScan() . Het retourneert een Promise die resulteert in een StartScanResponse . De job eigenschap is een handle die u gebruikt om scangegevens te lezen of de scan te annuleren.

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

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

Wanneer het einde van de scan is bereikt, roept u closeScanner() aan met de scannerhandle die u in stap 3 hebt opgeslagen. Dit retourneert een Promise die wordt omgezet in een CloseScannerResponse . Door cancelScan() aan te roepen nadat de taak is aangemaakt, wordt het scannen beëindigd.

Responsobjecten

Alle methoden retourneren een Promise die resulteert in een responsobject van welke aard dan ook. De meeste hiervan bevatten een result -eigenschap 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 responsobject.

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 OpenScannerResponse (opgehaald met openScanner() ) en SetOptionsResponse (het responsobject voor setOptions() ) een options -eigenschap. Dit is een object met scannerspecifieke opties. Elke optie is een sleutel-waardetoewijzing 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 naam "bron" en "resolutie". De structuur van het geretourneerde options ziet er ongeveer zo uit 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,
...
  },
...
}

Een gebruikersinterface construeren

Hoewel het niet verplicht is om deze API te gebruiken, wilt u mogelijk dat een gebruiker de waarde voor een bepaalde optie kiest. Hiervoor is een gebruikersinterface vereist. Gebruik OpenScannerResponse (geopend via openScanner() ) om de opties voor de gekoppelde 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 opties, maar aangezien deze groepen mogelijk worden vermeld in de productdocumentatie van een scanner, moeten ze aan de gebruiker worden getoond. U kunt deze groepen ophalen door getOptionGroups() aan te roepen. Dit retourneert een Promise die wordt omgezet in een GetOptionGroupsResponse -object. De eigenschap groups bevat een scannerspecifieke array met groepen. Gebruik de informatie in deze groepen om de opties in 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 wijzigen. 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 scanneropties in door een array van OptionSetting objecten door te geven aan setOptions() . Zie voor een voorbeeld de volgende sectie 'Scan één pagina van A4-formaat' .

Voorbeelden

Een pagina ophalen als een blob

Dit voorbeeld laat een manier zien om een pagina als een blob van de scanner op te halen en laat zien hoe startScan() en readScanData() worden gebruikt 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 briefformaat

Dit voorbeeld laat zien hoe u een scanner selecteert, de opties instelt en opent. Vervolgens wordt de inhoud van één 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, vereist het tonen van de configuratieopties van een scanner aan een gebruiker het aanroepen getOptionGroups() naast de scanneropties die worden geretourneerd door een aanroep van openScanner() . Dit is zodat opties aan gebruikers kunnen worden getoond in door de fabrikant gedefinieerde groepen. Dit voorbeeld laat zien hoe dat moet.

async function showConfig() {
  let response = await chrome.documentScan.getScannerList({ secure: true });
  let scanner = await chrome.documentScan.openScanner(
      response.scanners[0].scannerId);
  let groups = await chrome.documentScan.getOptionGroups(scanner.scannerHandle);

  for (const group of groups.groups) {
    console.log("=== " + group.title + " ===");
    for (const member of group.members) {
      const option = scanner.options[member];
      if (option.isActive) {
        console.log("  " + option.name + " = " + option.value);
      } else {
        console.log("  " + option.name + " is inactive");
      }
    }
  }
}

Typen

CancelScanResponse

Chroom 125+

Eigenschappen

  • functie

    snaar

    Biedt dezelfde taakafhandeling die werd doorgegeven aan cancelScan() .

  • resultaat

    Het resultaat van de geannuleerde scan 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, is de scanner nog bezig met het verwerken van de aangevraagde annulering; de aanroeper dient even te wachten en de aanvraag opnieuw te proberen. Andere resultaatwaarden geven een permanente fout aan die niet opnieuw mag worden geprobeerd.

CloseScannerResponse

Chroom 125+

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 voor verdere bewerkingen worden gebruikt.

  • scannerHandle

    snaar

    Dezelfde scanner-handle als werd doorgegeven aan closeScanner .

Configurability

Chroom 125+

Hoe een optie gewijzigd kan worden.

Enum

"NIET_CONFIGUREERBAAR"
Deze optie is alleen-lezen.

"SOFTWARE_CONFIGUREERBAAR"
Deze optie kan in de software worden ingesteld.

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

ConnectionType

Chroom 125+

Geeft aan hoe de scanner is verbonden met de computer.

Enum

"NIET GESPECIFICEERD"

"USB"

"NETWERK"

ConstraintType

Chroom 125+

Het gegevenstype van de beperking die wordt weergegeven door een OptionConstraint .

Enum

"INT_BEREIK"
De beperking voor een reeks OptionType.INT -waarden. De eigenschappen min , max en quant van OptionConstraint zijn long en de list is niet ingesteld.

"VAST_BEREIK"
De beperking voor een reeks OptionType.FIXED -waarden. De eigenschappen min , max en quant van OptionConstraint zijn double en de list is niet ingesteld.

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

"VASTE_LIJST"
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_LIJST"
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

    boolean optioneel

    Retourneer alleen scanners die rechtstreeks op de computer zijn aangesloten.

  • zeker

    boolean 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 waarin deze door het scannerstuurprogramma zijn opgegeven.

  • resultaat

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

  • scannerHandle

    snaar

    Dezelfde scanner-handle als werd doorgegeven aan getOptionGroups .

GetScannerListResponse

Chroom 125+

Eigenschappen

  • resultaat

    Het resultaat van de opsomming. Let op: er kunnen gedeeltelijke resultaten worden geretourneerd, zelfs als dit een fout aangeeft.

  • scanners

    Een mogelijk lege lijst met scanners die overeenkomen met het opgegeven DeviceFilter .

OpenScannerResponse

Chroom 125+

Eigenschappen

  • opties

    object optioneel

    Als result SUCCESS is, wordt er een sleutel-waardetoewijzing verstrekt waarbij de sleutel een apparaatspecifieke optie is en de waarde een exemplaar van ScannerOption .

  • resultaat

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

  • scannerHandle

    string optioneel

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

  • scanner-ID

    snaar

    De scanner-ID die aan openScanner() wordt doorgegeven.

OperationResult

Chroom 125+

Een opsomming die het resultaat van elke bewerking aangeeft.

Enum

"ONBEKEND"
Er is een onbekende of algemene fout opgetreden.

"SUCCES"
De operatie is geslaagd.

"NIET ONDERSTEUND"
Deze bewerking wordt niet ondersteund.

"GEANNULEERD"
De operatie is geannuleerd.

"APPARAAT_BEZET"
Het apparaat is bezet.

"ONGELDIG"
De gegevens of een argument dat aan de methode is doorgegeven, zijn ongeldig.

"VERKEERD_TYPE"
De opgegeven waarde is van het verkeerde gegevenstype voor de onderliggende optie.

"EOF"
Er zijn geen verdere gegevens beschikbaar.

"ADF_VASTGELOPEN"
De documentinvoer is vastgelopen.

"ADF_LEEG"
De documentinvoer is leeg.

"DEKSEL_OPEN"
Het deksel van de laadbak is open.

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

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

"VERMIST"
Het apparaat is losgekoppeld.

"INTERNE_FOUT"
Er is een fout opgetreden op een andere locatie dan in de aanroepende toepassing.

OptionConstraint

Chroom 125+

Eigenschappen

  • lijst

    string[] | number[] optioneel

  • maximaal

    nummer optioneel

  • mijn

    nummer optioneel

  • kwantiteit

    nummer optioneel

OptionGroup

Chroom 125+

Eigenschappen

  • leden

    snaar[]

    Een reeks optienamen in de door de driver opgegeven volgorde.

  • titel

    snaar

    Geeft een afdrukbare titel, bijvoorbeeld 'Geometrieopties'.

OptionSetting

Chroom 125+

Eigenschappen

  • naam

    snaar

    Geeft de naam aan van de optie die moet worden ingesteld.

  • type

    Geeft het gegevenstype van de optie aan. Het opgevraagde gegevenstype moet overeenkomen met het werkelijke gegevenstype van de onderliggende optie.

  • waarde

    string | getal | booleaans | getal[] optioneel

    Geeft de in te stellen waarde aan. Laat deze waarde uitgeschakeld om automatische instelling aan te vragen voor opties waarvoor autoSettable is ingeschakeld. Het opgegeven gegevenstype voor value 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 ongedaan gemaakt.

"BOOL"
De value eigenschap zal true false zijn.

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

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

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

"KNOP"
Een optie van dit type heeft geen waarde. In plaats daarvan veroorzaakt het instellen van een optie van dit type een optie-specifiek neveneffect in het scannerstuurprogramma. Een optie met een knoptype kan bijvoorbeeld door een scannerstuurprogramma worden gebruikt om standaardwaarden te selecteren of om een automatische documentinvoer te laten doorgaan naar het volgende vel papier.

"GROEP"
Groeperingsoptie. Geen waarde. Deze is opgenomen voor compatibiliteit, maar wordt normaal gesproken niet geretourneerd in ScannerOption -waarden. Gebruik getOptionGroups() om de lijst met groepen met hun lidopties op te halen.

OptionUnit

Chroom 125+

Geeft het gegevenstype voor ScannerOption.unit aan.

Enum

"EENHEIDLOOS"
De waarde is een getal zonder eenheid. Het kan bijvoorbeeld een drempelwaarde zijn.

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

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

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

ReadScanDataResponse

Chroom 125+

Eigenschappen

  • gegevens

    ArrayBuffer optioneel

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

  • geschatte voltooiing

    nummer optioneel

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

  • functie

    snaar

    Geeft de taakhandle door die aan readScanData() wordt doorgegeven.

  • resultaat

    Het resultaat van het lezen van de gegevens. Als de waarde SUCCESS is, bevat de data het volgende (mogelijk nullengte) stuk beeldgegevens dat klaar is om te lezen. Als de waarde EOF is, bevat de data het laatste stuk beeldgegevens.

ScannerInfo

Chroom 125+

Eigenschappen

  • verbindingstype

    Geeft aan hoe de scanner is verbonden met de computer.

  • apparaatUuid

    snaar

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

  • beeldformaten

    snaar[]

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

  • fabrikant

    snaar

    De fabrikant van de scanner.

  • model

    snaar

    Het scannermodel, indien beschikbaar, of een algemene beschrijving.

  • naam

    snaar

    Een voor mensen leesbare naam voor de scanner die in de gebruikersinterface wordt weergegeven.

  • protocolType

    snaar

    Een voor mensen leesbare beschrijving van het protocol of de driver die wordt gebruikt om toegang te krijgen tot de scanner, zoals Mopria, WSD of Epson Ds. Dit is vooral handig om een gebruiker te laten kiezen tussen protocollen als een apparaat meerdere protocollen ondersteunt.

  • scanner-ID

    snaar

    De ID van een specifieke scanner.

  • zeker

    Booleaanse

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

ScannerOption

Chroom 125+

Eigenschappen

  • configureerbaarheid

    Geeft aan of en hoe de optie kan worden gewijzigd.

  • beperking

    OptionConstraint optioneel

    Definieert OptionConstraint voor de huidige scanneroptie.

  • beschrijving

    snaar

    Een langere beschrijving van de optie.

  • isActief

    Booleaanse

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

  • isGeavanceerd

    Booleaanse

    Geeft aan dat deze optie standaard niet in de gebruikersinterface moet worden weergegeven.

  • isAutoSettable

    Booleaanse

    Kan automatisch worden ingesteld door het scannerstuurprogramma.

  • isDetecteerbaar

    Booleaanse

    Geeft aan dat deze optie door de software kan worden gedetecteerd.

  • isEmuleerd

    Booleaanse

    Geëmuleerd door de scannerdriver indien waar.

  • naam

    snaar

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

  • titel

    snaar

    Een afdrukbare titel van één regel.

  • type

    Het gegevenstype in de eigenschap value ' dat nodig is om deze optie in te stellen.

  • eenheid

    De meeteenheid voor deze optie.

  • waarde

    string | getal | booleaans | getal[] optioneel

    De huidige waarde van de optie, indien van toepassing. Let op: 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.

  • mimeTypes

    string[] optioneel

    De MIME-typen die door de aanroeper worden geaccepteerd.

ScanResults

Eigenschappen

  • dataUrls

    snaar[]

    Een reeks URL's met gegevensafbeeldingen in een vorm die kan worden doorgegeven als de "src"-waarde aan een afbeeldingstag.

  • mimeType

    snaar

    Het MIME-type van de dataUrls .

SetOptionResult

Chroom 125+

Eigenschappen

  • naam

    snaar

    Geeft de naam van de ingestelde optie aan.

  • resultaat

    Geeft het resultaat van het instellen van de optie aan.

SetOptionsResponse

Chroom 125+

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

    Deze eigenschap blijft ingesteld, zelfs als sommige opties niet succesvol zijn ingesteld. De eigenschap wordt echter ongedaan gemaakt 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 .

  • scannerHandle

    snaar

    Geeft de scannerhandle door die aan setOptions() wordt doorgegeven.

StartScanOptions

Chroom 125+

Eigenschappen

  • formaat

    snaar

    Geeft het MIME-type op waarin gescande gegevens moeten worden geretourneerd.

  • maximale leesgrootte

    nummer optioneel

    Als een waarde ongelijk aan nul wordt opgegeven, wordt het maximale aantal gescande bytes dat in één readScanData respons wordt geretourneerd, beperkt tot die waarde. De kleinst toegestane waarde is 32768 (32 KB). Als deze eigenschap niet wordt opgegeven, kan de grootte van een geretourneerd fragment even groot zijn als de volledige gescande afbeelding.

StartScanResponse

Chroom 125+

Eigenschappen

  • functie

    string optioneel

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

  • scannerHandle

    snaar

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

Methoden

cancelScan()

Chroom 125+
chrome.documentScan.cancelScan(
  job: string,
)
: Promise<CancelScanResponse>

Annuleert een gestarte scan en retourneert een Promise die wordt omgezet in een CancelScanResponse -object. Als er een callback wordt gebruikt, wordt het object hieraan doorgegeven.

Parameters

  • functie

    snaar

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

Retourneren

closeScanner()

Chroom 125+
chrome.documentScan.closeScanner(
  scannerHandle: string,
)
: Promise<CloseScannerResponse>

Sluit de scanner met de meegegeven handle en retourneert een Promise die wordt omgezet in een CloseScannerResponse -object. Als een callback wordt gebruikt, wordt het object hieraan doorgegeven. Zelfs als de respons niet succesvol is, wordt de meegegeven handle ongeldig en mag deze niet worden gebruikt voor verdere bewerkingen.

Parameters

  • scannerHandle

    snaar

    Geeft de handle op van een open scanner die eerder is geretourneerd vanuit een aanroep van openScanner .

Retourneren

getOptionGroups()

Chroom 125+
chrome.documentScan.getOptionGroups(
  scannerHandle: string,
)
: Promise<GetOptionGroupsResponse>

Haalt de groepsnamen en lidopties op van een scanner die eerder is geopend door openScanner . Deze methode retourneert een Promise die wordt omgezet in een GetOptionGroupsResponse -object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens hieraan doorgegeven.

Parameters

  • scannerHandle

    snaar

    De handle van een open scanner die is geretourneerd na een aanroep van openScanner .

Retourneren

getScannerList()

Chroom 125+
chrome.documentScan.getScannerList(
  filter: DeviceFilter,
)
: Promise<GetScannerListResponse>

Haalt de lijst met beschikbare scanners op en retourneert een Promise die wordt omgezet in een GetScannerListResponse -object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens in plaats daarvan aan de functie doorgegeven.

Parameters

Retourneren

openScanner()

Chroom 125+
chrome.documentScan.openScanner(
  scannerId: string,
)
: Promise<OpenScannerResponse>

Opent een scanner voor exclusieve toegang en retourneert een Promise die wordt omgezet in een OpenScannerResponse -object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens hieraan doorgegeven.

Parameters

  • scanner-ID

    snaar

    De ID van een te openen scanner. Deze waarde is een waarde die is geretourneerd door een eerdere aanroep van getScannerList .

Retourneren

readScanData()

Chroom 125+
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 omgezet in een ReadScanDataResponse -object. Als er een callback wordt gebruikt, wordt het object hieraan doorgegeven.

**Opmerking:** Een responsresultaat is geldig als SUCCESS met een data element met lengte nul. Dit betekent dat de scanner nog steeds werkt, maar nog geen aanvullende gegevens beschikbaar heeft. De aanroeper moet even wachten en het opnieuw proberen.

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

Parameters

  • functie

    snaar

    Actieve taak-handle die eerder is geretourneerd door startScan .

Retourneren

scan()

chrome.documentScan.scan(
  options: ScanOptions,
)
: Promise<ScanResults>

Voert een documentscan uit en retourneert een Promise die resulteert in een ScanResults object. Als er een callback aan deze functie wordt doorgegeven, worden de geretourneerde gegevens in plaats daarvan aan deze functie doorgegeven.

Parameters

  • opties

    Een object dat scanparameters bevat.

Retourneren

setOptions()

Chroom 125+
chrome.documentScan.setOptions(
  scannerHandle: string,
  options: OptionSetting[],
)
: Promise<SetOptionsResponse>

Stelt opties in op de opgegeven scanner en retourneert een Promise die resulteert in een SetOptionsResponse object met het resultaat 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 hieraan doorgegeven.

Parameters

  • scannerHandle

    snaar

    De handle van de scanner waarvoor opties moeten worden ingesteld. Dit moet een waarde zijn die eerder is geretourneerd na een aanroep van openScanner .

  • opties

    Optie -instelling []

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

Retourneren

startScan()

Chroom 125+
chrome.documentScan.startScan(
  scannerHandle: string,
  options: StartScanOptions,
)
: Promise<StartScanResponse>

Start een scan op de opgegeven scanner en retourneert een Promise die resulteert in een StartScanResponse . Als een callback wordt gebruikt, wordt het object hieraan doorgegeven. Als de aanroep succesvol was, bevat de respons een taakhandle die in volgende aanroepen kan worden gebruikt om scangegevens te lezen of een scan te annuleren.

Parameters

  • scannerHandle

    snaar

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

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

Retourneren