Skip to content

Documentscanner

documentscanner : object

Scan documents from flatbed/ADF scanners.

Kind: global namespace

documentscanner.discoverScanners() ⇒ Promise.<Array>

Get a list of document scanners found on the network. Supports eSCL/AirPrint.

Kind: static method of documentscanner
Example

await global.apis.documentscanner.discoverScanners();
// Returns:
[{
    protocol: "http",
    host: "ip or hostname",
    port: 80,
    rs: "eSCL",
    uuid: "1234etc",
    icon: "http://hostname/icon.png", // Icon supplied by the scanner to represent itself visually to the user.
    name: "ScanTron 9000",
    note: "", // Whatever is set as the scanner's human-readable location in its settings
    hasAdf: true, // Has an automatic document/page feeder
    hasPlaten: true, // Has a flatbed
    hasDuplex: false // Can do automatic duplex scanning
}]

documentscanner.scanToPDF(scannerObj, opts) ⇒ Promise.<Blob>

Scan a document to PDF. Supports eSCL/AirPrint.

Kind: static method of documentscanner
Returns: Promise.<Blob> - PDF file.

Param Type Description
scannerObj Object A scanner object from discoverScanners()
opts Object Scanning options

Example

var pdfBlob = await global.apis.documentscanner.scanToPDF(await discoverScanners()[0], {
  dpi?: number,            // default 300
  colorMode?: string,      // "RGB24" | "Grayscale8" | "BlackAndWhite1", default "RGB24"
  source?: string,         // Where the document is physically located: "Platen" or "Feeder". Default is "Feeder" (if scanner has one and it isn't empty) or unset (so scanner can autodetect media).
  intent?: string,         // default is unset. "Document" | "TextAndGraphic" | "Photo" | "Preview"
  duplex?: boolean,        // default true if the scanner supports it.
  scanHeight?: number,     // Height in inches. Default 11.
  scanWidth?: number       // Width in inches. Default 8.5.
});