1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of...

26

Transcript of 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of...

Page 1: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.
Page 2: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Building Windows apps that use image scanners

Monica CzarnyWindows Program Manager3-025

Page 3: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

1. Why incorporate scanning in your app?

2. Your app + scanner device compatibility

3. Simplicity of the new Scanner namespace

4. Demo: scanning from an app 5. Scan API code snippets

What we will cover today

Page 4: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Users want experiences, information, intelligence

Digital world

share

📎

archive

modify

✎ extract

Page 5: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Digital world

Things in the physical world are being left behind

checks 📃 legal contracts store receipts photos medical records

Page 6: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.
Page 7: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

There are more scanners out there than you may think

66% of

printers connected to Windows

are also scanners

Page 8: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

JPEG, OXPS

,

Why is content left behind?

Windows 8.1

Page 9: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Windows Imaging Acquisition (WIA) platform

Scan Runtime APIs

WIA API (COM)

Windows 8.1 Store app

Hardware scanner devices(Stand-alone or MFP)

Scan Runtime APIs built on top of WIA means that you can use any Windows logoed scanner

New Scan Runtime APIs are compatible with certified WIA 2.0 drivers

Windows Store apps

Desktop apps

These APIs can be used to scan from Windows Store and from Desktop apps

Windows 8.1 Store app

Page 10: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Windows has you covered

Windows 8.1 supports the vast majority of scanners available in the ecosystem today

All WS-Scan network

scanners are supported by a class

driver

More than 500 USB scanners

are supported inbox with many more

on Windows Update

Page 11: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

How to enable scanning

Enumerate scanners1

Get scanner object2

Scan3 Optional: Preview

Optional: Set scan settings

Page 12: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

ImageScanner

Object

Windows.Devices.Scanners

Page 13: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Auto-configuredFlatbedFeeder

Windows.Devices.Scanners

Configuration

ImageScanner

Object

Page 14: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Auto-configuredFlatbedFeeder

FormatImageScanner

Windows.Devices.Scanners

ConfigurationObject Property

Page 15: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Auto-configuredFlatbedFeeder

Windows.Devices.Scanners

FormatResolutionColor modeBrightnessContrast

Scan area

ConfigurationObject Property

ImageScanner

Page 16: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

FormatResolutionColor modeBrightnessContrast

Scan areaPage orientation

Duplex

Auto-configuredFlatbedFeeder

ImageScanner

Windows.Devices.Scanners

ConfigurationObject Property

Page 17: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

1. Enumerate all connected scanners

2. Scan from auto-configured, flatbed, feeder scan sources

3. Override scan settings (scan area, resolution, format…)

4. Handle scan progress

Demos

Page 18: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

How we enabled scanning

Enumerate scanners

Get scanner object

1

2 Optional: Set scan settings

Optional: PreviewScan3

CreateWatcher(DeviceClass.ImageScanner)

to enumerate using a DeviceWatcher (Windows.Devices.Enumeration)

Format, Resolution, Duplex… to set scan settings (per scan source)

FromIdAsync(deviceId)for scanner ImageScanner object

ScanPreviewToStreamAsync()to scan file to stream

ScanFilesToFolderAsync() to scan file to folder

1

2

3

Page 19: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.
Page 20: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.
Page 21: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

attachment protection improvement intelligence

���

👤 share 👤 archive👤 modify👤 extract

Page 22: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

The new Scan Runtime APIs make it easy to capture physical documents and images

digitally in a way that makes sense for your app

Page 23: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

What are you going to ld/?

Page 24: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Resources

• MSDN resources• API documentation– Search for “Windows.Devices.Scanners”

• Scan Runtime API Samples

• Auto-Configured scan feature • http://msdn.microsoft.com/en-us/library/windows/hardware/ff539393(v=vs.85).

aspx

• Contact us through [email protected]• Ask us WIA driver or API questions

Page 25: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

Evaluate this session

Scan this QR code to evaluate this session and be automatically entered in a drawing to win a prize!

Page 26: 1.Why incorporate scanning in your app? 2.Your app + scanner device compatibility 3.Simplicity of the new Scanner namespace 4.Demo: scanning from an.

© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.