Сканиране на лична карта чрез скрипт в NAPS2
Често на работещите с документи им се налага да сканират лични карти. Но не всеки софтуер предлага тази възможност. Затова се заех с тестване и настройки на програмата NAPS2 за целта.
NAPS2 е безплатен софтуер за сканиране с отворен код за Windows, Mac и Linux. Сканирайте лесно с устройства от Canon, Brother, HP, Epson, Fujitsu и други. След това запазете в PDF, TIFF, JPEG или PNG с едно щракване.
Хубавото е, че NAPS2 поддържа command line и чрез нея могат да се изпълняват команди или файлове, включително .bat. А това дава достатъчно възможности.
Програма за сканиране: NAPS2
Изходен файл: .pdf с две страници, съдържащи лицето и гърба на личната карта.
След като се инсталира NAPS2 е необходимо да се създаде профил /за нуждите на тази тема той е с име "Lichna karta"/ със следните настройки:
След това се създава нов .bat файл със следното съдържание:
@echo off
rem Set console code page to UTF-8 for better character display (may not work on all systems)
rem chcp 65001 > nul
rem === Variables ===
set "NAPS2_PATH=C:\Program Files\NAPS2\NAPS2.Console.exe"
set "OUTPUT_FOLDER=D:\Scanned_IDs"
set "PROFILE_NAME=Lichna karta"
set "TEMP_FRONT_PAGE=%TEMP%\ID_Front_Temp.tif"
set "TEMP_BACK_PAGE=%TEMP%\ID_Back_Temp.tif"
rem set "TIMESTAMP=%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%"
rem Removed automatic timestamp for manual filename input
rem === Get filename from user ===
echo.
echo ===========================================
echo Please enter the desired filename for
echo the ID card (e.g., Ivan Ivanov ID).
echo Do NOT include .pdf extension.
echo ===========================================
set /p USER_FILENAME="Enter filename: "
if "%USER_FILENAME%"=="" (
echo Error: Filename cannot be empty. Exiting.
pause
exit /b 1
)
set "FINAL_PDF_NAME=%USER_FILENAME%.pdf"
rem === Check paths and create folders ===
if not exist "%OUTPUT_FOLDER%" (
mkdir "%OUTPUT_FOLDER%"
if not exist "%OUTPUT_FOLDER%" (
echo Error: Could not create output folder "%OUTPUT_FOLDER%".
pause
exit /b 1
)
)
rem === Scan front side ===
echo.
echo ===========================================
echo Molya, postavele prednata strana na
echo lichnata karta na skenera.
echo ===========================================
echo.
pause > nul
echo Skanirane na predna strana...
rem Using -o with .tif, so we can combine later
"%NAPS2_PATH%" -o "%TEMP_FRONT_PAGE%" -p "%PROFILE_NAME%" -n 1
if exist "%TEMP_FRONT_PAGE%" (
echo Prednata strana skanirana uspeshno.
) else (
echo Greshka pri skanirane na predna strana.
pause
exit /b 1
)
rem === Prompt to flip the card ===
echo.
echo ===========================================
echo !!! VAZHNO !!!
echo Molya, obarnete lichnata karta na skenera
echo i natisnete proizvolen klavish, za da
echo skanirate zadnata strana.
echo ===========================================
echo.
pause > nul
echo Skanirane na zadna strana...
rem Scan back side
"%NAPS2_PATH%" -o "%TEMP_BACK_PAGE%" -p "%PROFILE_NAME%" -n 1
if exist "%TEMP_BACK_PAGE%" (
echo ZADNA strana skanirana uspeshno.
) else (
echo Greshka pri skanirane na zadna strana.
pause
exit /b 1
)
rem === Combine both pages into one PDF ===
echo.
echo Obedinyavane na skaniranite izobrazheniya v edin PDF fail...
rem Combine the two temporary TIFF images into one PDF
"%NAPS2_PATH%" -i "%TEMP_FRONT_PAGE%" "%TEMP_BACK_PAGE%" -o "%OUTPUT_FOLDER%\%FINAL_PDF_NAME%"
if exist "%OUTPUT_FOLDER%\%FINAL_PDF_NAME%" (
echo Uspeshno sazaden fail: "%OUTPUT_FOLDER%\%FINAL_PDF_NAME%"
) else (
echo Greshka pri obedinyavane na failovete.
pause
exit /b 1
)
rem === Clean up temporary files ===
if exist "%TEMP_FRONT_PAGE%" del "%TEMP_FRONT_PAGE%"
if exist "%TEMP_BACK_PAGE%" del "%TEMP_BACK_PAGE%"
echo.
echo ===========================================
echo Skaniraneto na lichnata karta priklyuchi!
echo ===========================================
echo.
pause
rem === Open output folder ===
explorer "%OUTPUT_FOLDER%"
exit /b 0
Готов файл може да изтеглите от ТУК
За ваши нужди може да промените параметрите в началото на скрипта - set "OUTPUT_FOLDER=D:\Scanned_IDs"
По време на изпълнение на скрипта не е нужно програмата NAPS2 да е стартирана. Важното е да се уверите, че NAPS2_PATH и OUTPUT FOLDER от скрипта са правилни за вашия компютър.
Успех !