# Scan2Folder
## Enabling the Scan-to-Folder button on HP MFP printers
This is a **PytQt6** desktop app for rapidly scanning documents by using the Scan-to-Folder button on HP Multi Function Printers (MFP)
especially CM Devices.
This app uses the **Sane** backend to get all parameters needed.
It also provides image enhancement features.
>*Note: in this version only the first scanner is used*
**NEW:** Config profiles
> If you want scan document with different page sizes it may usefull to save each configuration into a seperate profile
OCR processing and PDF-Document creation or from local images.
> The *Scan2Folder*-Button has a new function.
> By pressing the button it opens a file dialog where you can select your image files
> you want to procees.
> *Note:* the filenames must be numbered like this `<filename>_[1..n].png`
OCR processing and PDF-Document creation from your scanns.
After you finished scanning, you can start an OCR-Process
The OCR-Process will do the following steps:
1. Deskew each page
2. Crop the image
3. Check text orientation
4. Start ocr
5. Create searchable PDF
You can define the crop size in the configuration dialog
>*Note: In this version A4 page size for 300dpi is predifned.*
If you want to change this, you can do it in ocrtools.py
### Usage
1. Ensure that your scanner is reachable
2. Start the app
3. Select a *ScanMode*
4. Select a path where you want to store your images
5. Enter an image prefix name. All the scanned images will enumerated automatically.
6. Choose a scan resolution
7. Press the *Start Service* button
If the scanner is reachable the LED turns on green and you can use the scan-to-folder button on your device.
### Image enhancement
On clicking the `Config/Calibrate` menu opens a window where you can scan a preview image.
>*Note: the scan button is only enabled when the service is running.*
>*Only flatbed scanning is supported*
### Installation
Install packages needed with:
>`sudo pip3 install -r deps/dependency.txt`
#### For OCR
Install tesseract-ocr 4 with your language **and** with Orientation & Script detection
### Features
* creates PDF from local images
* spec file for creating stand alone binaries
* Image name is cleared when stopped a scan session
* Image name has now auto complete, to avoid overwrite existing files
### Issues
* The script is tested only with a HP CM1312 device
* Only one (the first) scanner is usable
* If the LED does not turn green after the device is switched on, may be your device is not supported
* If the LED does not turn green and the button keeps yellow, the scanner is locked by another device/thread
Raw data
{
"_id": null,
"home_page": null,
"name": "scan2folder",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.13",
"maintainer_email": null,
"keywords": "scan button, scan tool, HP MFP, sane",
"author": "Alfredo Cubitos",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/b8/08/3dbed3151968ce456fcd3062fc50f285af3e61a5ac65e997cb816b288e9d/scan2folder-0.2.3.tar.gz",
"platform": null,
"description": "# Scan2Folder\n\n## Enabling the Scan-to-Folder button on HP MFP printers\n\nThis is a **PytQt6** desktop app for rapidly scanning documents by using the Scan-to-Folder button on HP Multi Function Printers (MFP)\nespecially CM Devices.\n\nThis app uses the **Sane** backend to get all parameters needed.\n\nIt also provides image enhancement features.\n\n>*Note: in this version only the first scanner is used*\n\n**NEW:** Config profiles\n> If you want scan document with different page sizes it may usefull to save each configuration into a seperate profile\n\nOCR processing and PDF-Document creation or from local images.\n> The *Scan2Folder*-Button has a new function. \n> By pressing the button it opens a file dialog where you can select your image files \n> you want to procees. \n> *Note:* the filenames must be numbered like this `<filename>_[1..n].png`\n\nOCR processing and PDF-Document creation from your scanns.\n\nAfter you finished scanning, you can start an OCR-Process\nThe OCR-Process will do the following steps:\n\n1. Deskew each page\n2. Crop the image\n3. Check text orientation\n4. Start ocr\n5. Create searchable PDF\n\nYou can define the crop size in the configuration dialog\n\n>*Note: In this version A4 page size for 300dpi is predifned.*\nIf you want to change this, you can do it in ocrtools.py\n\n### Usage\n\n1. Ensure that your scanner is reachable\n2. Start the app\n3. Select a *ScanMode*\n4. Select a path where you want to store your images\n5. Enter an image prefix name. All the scanned images will enumerated automatically.\n6. Choose a scan resolution\n7. Press the *Start Service* button\n\nIf the scanner is reachable the LED turns on green and you can use the scan-to-folder button on your device.\n\n### Image enhancement\n\nOn clicking the `Config/Calibrate` menu opens a window where you can scan a preview image.\n\n>*Note: the scan button is only enabled when the service is running.*\n\n>*Only flatbed scanning is supported*\n\n\n### Installation\n\nInstall packages needed with:\n\n>`sudo pip3 install -r deps/dependency.txt`\n\n#### For OCR\n\nInstall tesseract-ocr 4 with your language **and** with Orientation & Script detection\n\n\n### Features\n\n* creates PDF from local images\n* spec file for creating stand alone binaries\n* Image name is cleared when stopped a scan session\n* Image name has now auto complete, to avoid overwrite existing files\n\n### Issues\n\n* The script is tested only with a HP CM1312 device\n* Only one (the first) scanner is usable\n* If the LED does not turn green after the device is switched on, may be your device is not supported\n* If the LED does not turn green and the button keeps yellow, the scanner is locked by another device/thread\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Scan tool for HP MF Printers",
"version": "0.2.3",
"project_urls": {
"Homepage": "https://github.com/AlfredoCubitos/Scan2Folder"
},
"split_keywords": [
"scan button",
" scan tool",
" hp mfp",
" sane"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "99d8df1d7b5c300e6126a25d2aac3f2d8409a26a15265b6572afcde9ce32a165",
"md5": "f72280cfe6659f7edcf7a683e6b0645a",
"sha256": "4c59edb7d12db4b14d6c13f7dba9156ce4b360892bdd1ba5c2393265e0ce1f63"
},
"downloads": -1,
"filename": "scan2folder-0.2.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "f72280cfe6659f7edcf7a683e6b0645a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.13",
"size": 52747,
"upload_time": "2025-09-05T21:35:05",
"upload_time_iso_8601": "2025-09-05T21:35:05.520975Z",
"url": "https://files.pythonhosted.org/packages/99/d8/df1d7b5c300e6126a25d2aac3f2d8409a26a15265b6572afcde9ce32a165/scan2folder-0.2.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b8083dbed3151968ce456fcd3062fc50f285af3e61a5ac65e997cb816b288e9d",
"md5": "cfb8d204771a6f5fde8be4734304a93f",
"sha256": "954e8e1f963b5431b5df5f09a3a2fd068e9a9be2bf7b82f34f09730ce8bd5db4"
},
"downloads": -1,
"filename": "scan2folder-0.2.3.tar.gz",
"has_sig": false,
"md5_digest": "cfb8d204771a6f5fde8be4734304a93f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.13",
"size": 46076,
"upload_time": "2025-09-05T21:35:07",
"upload_time_iso_8601": "2025-09-05T21:35:07.062582Z",
"url": "https://files.pythonhosted.org/packages/b8/08/3dbed3151968ce456fcd3062fc50f285af3e61a5ac65e997cb816b288e9d/scan2folder-0.2.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-09-05 21:35:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AlfredoCubitos",
"github_project": "Scan2Folder",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "scan2folder"
}