- Notifications
You must be signed in to change notification settings - Fork618
Document Scanning Made Easy for iOS
License
WeTransferArchive/WeScan
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
WeScan makes it easy to add scanning functionalities to your iOS app!It's modelled afterUIImagePickerController, which makes it a breeze to use.
- Fast and lightweight
- Live scanning of documents
- Edit detected rectangle
- Auto scan and flash support
- Support for both PDF and UIImage
- Translated to English, Chinese, Italian, Portuguese, and French
- Batch scanning
- Swift 5.0
- iOS 10.0+
TheSwift Package Manager is a tool for automating the distribution of Swift code and is integrated into theswift compiler. It is in early development, but WeScan does support its use on supported platforms.
Once you have your Swift package set up, adding WeScan as a dependency is as easy as adding it to thedependencies value of yourPackage.swift.
dependencies:[.package(url:"https://github.com/WeTransfer/WeScan.git",.upToNextMajor(from:"2.1.0"))]
In order to make the framework available, add
import WeScanat the top of the Swift source fileIn the Info.plist, add the
NSCameraUsageDescriptionkey and set the appropriate value in which you have to inform the user of the reason to allow the camera permissionMake sure that your view controller conforms to the
ImageScannerControllerDelegateprotocol:
classYourViewController:UIViewController,ImageScannerControllerDelegate{ // YourViewController code here}
- Implement the delegate functions inside your view controller:
func imageScannerController(_ scanner:ImageScannerController, didFailWithError error:Error){ // You are responsible for carefully handling the errorprint(error)}func imageScannerController(_ scanner:ImageScannerController, didFinishScanningWithResults results:ImageScannerResults){ // The user successfully scanned an image, which is available in the ImageScannerResults // You are responsible for dismissing the ImageScannerController scanner.dismiss(animated:true)}func imageScannerControllerDidCancel(_ scanner:ImageScannerController){ // The user tapped 'Cancel' on the scanner // You are responsible for dismissing the ImageScannerController scanner.dismiss(animated:true)}
- Finally, create and present a
ImageScannerControllerinstance somewhere within your view controller:
letscannerViewController=ImageScannerController()scannerViewController.imageScannerDelegate=selfpresent(scannerViewController, animated:true)
- Create a dummy swift class in your project. When Xcode asks if you'd like to create a bridging header, press 'Create Bridging Header'
- In the new header, add the Objective-C class (
#import myClass.h) where you want to use WeScan - In your class, import the header (
import <yourProjectName.swift.h>) - Drag and drop the WeScan folder to add it to your project
- In your class, add
@Class ImageScannerController;
ImageScannerController *scannerViewController = [[ImageScannerControlleralloc]init];[selfpresentViewController:scannerViewControlleranimated:YEScompletion:nil];
As the creators, and maintainers of this project, we're glad to invite contributors to help us stay up to date. Please take a moment to reviewthe contributing document in order to make the contribution process easy and effective for everyone involved.
- If youfound a bug, open anissue.
- If youhave a feature request, open anissue.
- If youwant to contribute, submit apull request.
WeScan is available under the MIT license. See theLICENSE file for more info.
About
Document Scanning Made Easy for iOS
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.

