| layout | default-layout |
|---|---|
| title | User Guide for Document Scanner with Python |
| description | A step-by-step guide to building a document scanner application with Dynamsoft Capture Vision Python Edition. |
| keywords | user guide, document scanner, python |
In this guide, you will learn step by step on how to build a document scanner solution with Dynamsoft Capture Vision SDK using python.
To find out whether your environment is supported, please read the [System Requirements]({{ site.dcvb_python }}index.html#system-requirements).
Start terminal or command prompt to run the following command:
pip install dynamsoft-capture-vision-bundle
In this section, we'll walk through the key steps needed to build an application that capture a document from an image file.
Create a new source file named document_scanner.py.
Import package dynamsoft_capture_vision_bundle in the source file.
from dynamsoft_capture_vision_bundle import *Add the following code inside the __main__ method to initialize the license for using the SDK in the application:
errorCode, errorMsg = LicenseManager.init_license("DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9")
if errorCode != EnumErrorCode.EC_OK and errorCode != EnumErrorCode.EC_LICENSE_CACHE_USED:
print("License initialization failed: ErrorCode:", errorCode, ", ErrorString:", errorMsg)
else:
# codes from following stepsThe string "DLS2eyJvcmdhbml6YXRpb25JRCI6IjIwMDAwMSJ9" here is a free public trial license. Note that network connection is required for this license to work. When it expires, you can request a 30-day free trial license from the Customer Portal.
cvr_instance = CaptureVisionRouter()- Apply detection and normalization for an image file.
result = cvr_instance.capture("[PATH-TO-THE-IMAGE-FILE]", EnumPresetTemplate.PT_DETECT_AND_NORMALIZE_DOCUMENT.value)Please change the
[PATH-TO-THE-IMAGE-FILE]to a real image file path.
- Save the normalized result as an image file
if result.get_error_code() != EnumErrorCode.EC_OK:
print("Error:", result.get_error_code(), result.get_error_string())
normalized_images_result = result.get_normalized_images_result()
if normalized_images_result is None or len(normalized_images_result.get_items()) == 0:
print("No document detected.")
else:
items = normalized_images_result.get_items()
print("Normalized", len(items), "documents.")
for index,item in enumerate(normalized_images_result.get_items()):
out_path = "normalizedResult_" + str(index) + ".png"
image_manager = ImageManager()
image = item.get_image_data()
if image != None:
errorCode, errorMsg = image_manager.save_to_file(image, out_path)
if errorCode == 0:
print("Document " + str(index) + " file: " + out_path)- Save the ``document_scanner.py` file.
- Start terminal or command prompt and change to the target directory where
document_scanner.pylocated in. - Run the command
python document_scanner.py
- You will see the output message in the console like
Normalized 1 documents.
Document 0 file: XXX