Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Dung Diego
/
ocr-tool
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Authored by
Dung Diego
2026-07-10 14:27:25 +0700
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Commit
5b6b4967e409e215ca240c0080dc5402fa469659
5b6b4967
1 parent
ce9a15f9
up
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
309 additions
and
5 deletions
app/Http/Controllers/OcrController.php
composer.json
composer.lock
config/filesystems.php
config/logging.php
resources/views/dashboard.blade.php
routes/web.php
app/Http/Controllers/OcrController.php
View file @
5b6b496
...
...
@@ -3,6 +3,7 @@
namespace
App\Http\Controllers
;
use
Illuminate\Http\Request
;
use
Carbon\Carbon
;
use
Exception
;
use
Illuminate\Support\Facades\Storage
;
use
Illuminate\Support\Facades\Log
;
...
...
composer.json
View file @
5b6b496
...
...
@@ -10,7 +10,8 @@
"guzzlehttp/guzzle"
:
"^7.2"
,
"laravel/framework"
:
"^9.0"
,
"laravel/sanctum"
:
"^2.14"
,
"laravel/tinker"
:
"^2.7"
"laravel/tinker"
:
"^2.7"
,
"league/flysystem-sftp-v3"
:
"^3.33"
},
"require-dev"
:
{
"fakerphp/faker"
:
"^1.9.1"
,
...
...
composer.lock
View file @
5b6b496
...
...
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies"
,
"This file is @generated automatically"
],
"content-hash"
:
"
65e85f9f959c0b087110331754d451cf
"
,
"content-hash"
:
"
469523dcc88868eb313d5f0888141437
"
,
"packages"
:
[
{
"name"
:
"asm89/stack-cors"
,
...
...
@@ -1901,6 +1901,55 @@
"time"
:
"2026-01-23T15:30:45+00:00"
},
{
"name"
:
"league/flysystem-sftp-v3"
,
"version"
:
"3.33.0"
,
"source"
:
{
"type"
:
"git"
,
"url"
:
"https://github.com/thephpleague/flysystem-sftp-v3.git"
,
"reference"
:
"34ff5ef0f841add92e2b902c1005f72135b03646"
},
"dist"
:
{
"type"
:
"zip"
,
"url"
:
"https://api.github.com/repos/thephpleague/flysystem-sftp-v3/zipball/34ff5ef0f841add92e2b902c1005f72135b03646"
,
"reference"
:
"34ff5ef0f841add92e2b902c1005f72135b03646"
,
"shasum"
:
""
},
"require"
:
{
"league/flysystem"
:
"^3.0.14"
,
"league/mime-type-detection"
:
"^1.0.0"
,
"php"
:
"^8.0.2"
,
"phpseclib/phpseclib"
:
"^3.0"
},
"type"
:
"library"
,
"autoload"
:
{
"psr-4"
:
{
"League
\\
Flysystem
\\
PhpseclibV3
\\
"
:
""
}
},
"notification-url"
:
"https://packagist.org/downloads/"
,
"license"
:
[
"MIT"
],
"authors"
:
[
{
"name"
:
"Frank de Jonge"
,
"email"
:
"info@frankdejonge.nl"
}
],
"description"
:
"SFTP filesystem adapter for Flysystem."
,
"keywords"
:
[
"Flysystem"
,
"file"
,
"files"
,
"filesystem"
,
"sftp"
],
"support"
:
{
"source"
:
"https://github.com/thephpleague/flysystem-sftp-v3/tree/3.33.0"
},
"time"
:
"2026-03-20T13:22:31+00:00"
},
{
"name"
:
"league/mime-type-detection"
,
"version"
:
"1.16.0"
,
"source"
:
{
...
...
@@ -2464,6 +2513,125 @@
"time"
:
"2024-11-21T10:36:35+00:00"
},
{
"name"
:
"paragonie/constant_time_encoding"
,
"version"
:
"v3.1.3"
,
"source"
:
{
"type"
:
"git"
,
"url"
:
"https://github.com/paragonie/constant_time_encoding.git"
,
"reference"
:
"d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77"
},
"dist"
:
{
"type"
:
"zip"
,
"url"
:
"https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77"
,
"reference"
:
"d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77"
,
"shasum"
:
""
},
"require"
:
{
"php"
:
"^8"
},
"require-dev"
:
{
"infection/infection"
:
"^0"
,
"nikic/php-fuzzer"
:
"^0"
,
"phpunit/phpunit"
:
"^9|^10|^11"
,
"vimeo/psalm"
:
"^4|^5|^6"
},
"type"
:
"library"
,
"autoload"
:
{
"psr-4"
:
{
"ParagonIE
\\
ConstantTime
\\
"
:
"src/"
}
},
"notification-url"
:
"https://packagist.org/downloads/"
,
"license"
:
[
"MIT"
],
"authors"
:
[
{
"name"
:
"Paragon Initiative Enterprises"
,
"email"
:
"security@paragonie.com"
,
"homepage"
:
"https://paragonie.com"
,
"role"
:
"Maintainer"
},
{
"name"
:
"Steve 'Sc00bz' Thomas"
,
"email"
:
"steve@tobtu.com"
,
"homepage"
:
"https://www.tobtu.com"
,
"role"
:
"Original Developer"
}
],
"description"
:
"Constant-time Implementations of RFC 4648 Encoding (Base-64, Base-32, Base-16)"
,
"keywords"
:
[
"base16"
,
"base32"
,
"base32_decode"
,
"base32_encode"
,
"base64"
,
"base64_decode"
,
"base64_encode"
,
"bin2hex"
,
"encoding"
,
"hex"
,
"hex2bin"
,
"rfc4648"
],
"support"
:
{
"email"
:
"info@paragonie.com"
,
"issues"
:
"https://github.com/paragonie/constant_time_encoding/issues"
,
"source"
:
"https://github.com/paragonie/constant_time_encoding"
},
"time"
:
"2025-09-24T15:06:41+00:00"
},
{
"name"
:
"paragonie/random_compat"
,
"version"
:
"v9.99.100"
,
"source"
:
{
"type"
:
"git"
,
"url"
:
"https://github.com/paragonie/random_compat.git"
,
"reference"
:
"996434e5492cb4c3edcb9168db6fbb1359ef965a"
},
"dist"
:
{
"type"
:
"zip"
,
"url"
:
"https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a"
,
"reference"
:
"996434e5492cb4c3edcb9168db6fbb1359ef965a"
,
"shasum"
:
""
},
"require"
:
{
"php"
:
">= 7"
},
"require-dev"
:
{
"phpunit/phpunit"
:
"4.*|5.*"
,
"vimeo/psalm"
:
"^1"
},
"suggest"
:
{
"ext-libsodium"
:
"Provides a modern crypto API that can be used to generate random bytes."
},
"type"
:
"library"
,
"notification-url"
:
"https://packagist.org/downloads/"
,
"license"
:
[
"MIT"
],
"authors"
:
[
{
"name"
:
"Paragon Initiative Enterprises"
,
"email"
:
"security@paragonie.com"
,
"homepage"
:
"https://paragonie.com"
}
],
"description"
:
"PHP 5.x polyfill for random_bytes() and random_int() from PHP 7"
,
"keywords"
:
[
"csprng"
,
"polyfill"
,
"pseudorandom"
,
"random"
],
"support"
:
{
"email"
:
"info@paragonie.com"
,
"issues"
:
"https://github.com/paragonie/random_compat/issues"
,
"source"
:
"https://github.com/paragonie/random_compat"
},
"time"
:
"2020-10-15T08:29:30+00:00"
},
{
"name"
:
"phpoption/phpoption"
,
"version"
:
"1.9.5"
,
"source"
:
{
...
...
@@ -2539,6 +2707,116 @@
"time"
:
"2025-12-27T19:41:33+00:00"
},
{
"name"
:
"phpseclib/phpseclib"
,
"version"
:
"3.0.55"
,
"source"
:
{
"type"
:
"git"
,
"url"
:
"https://github.com/phpseclib/phpseclib.git"
,
"reference"
:
"db9744e6d47e742b1f974e965ad49bdd041105af"
},
"dist"
:
{
"type"
:
"zip"
,
"url"
:
"https://api.github.com/repos/phpseclib/phpseclib/zipball/db9744e6d47e742b1f974e965ad49bdd041105af"
,
"reference"
:
"db9744e6d47e742b1f974e965ad49bdd041105af"
,
"shasum"
:
""
},
"require"
:
{
"paragonie/constant_time_encoding"
:
"^1|^2|^3"
,
"paragonie/random_compat"
:
"^1.4|^2.0|^9.99.99"
,
"php"
:
">=5.6.1"
},
"require-dev"
:
{
"phpunit/phpunit"
:
"*"
},
"suggest"
:
{
"ext-dom"
:
"Install the DOM extension to load XML formatted public keys."
,
"ext-gmp"
:
"Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations."
,
"ext-libsodium"
:
"SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension."
,
"ext-mcrypt"
:
"Install the Mcrypt extension in order to speed up a few other cryptographic operations."
,
"ext-openssl"
:
"Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
},
"type"
:
"library"
,
"autoload"
:
{
"files"
:
[
"phpseclib/bootstrap.php"
],
"psr-4"
:
{
"phpseclib3
\\
"
:
"phpseclib/"
}
},
"notification-url"
:
"https://packagist.org/downloads/"
,
"license"
:
[
"MIT"
],
"authors"
:
[
{
"name"
:
"Jim Wigginton"
,
"email"
:
"terrafrost@php.net"
,
"role"
:
"Lead Developer"
},
{
"name"
:
"Patrick Monnerat"
,
"email"
:
"pm@datasphere.ch"
,
"role"
:
"Developer"
},
{
"name"
:
"Andreas Fischer"
,
"email"
:
"bantu@phpbb.com"
,
"role"
:
"Developer"
},
{
"name"
:
"Hans-Jürgen Petrich"
,
"email"
:
"petrich@tronic-media.com"
,
"role"
:
"Developer"
},
{
"name"
:
"Graham Campbell"
,
"email"
:
"graham@alt-three.com"
,
"role"
:
"Developer"
}
],
"description"
:
"PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc."
,
"homepage"
:
"http://phpseclib.sourceforge.net"
,
"keywords"
:
[
"BigInteger"
,
"aes"
,
"asn.1"
,
"asn1"
,
"blowfish"
,
"crypto"
,
"cryptography"
,
"encryption"
,
"rsa"
,
"security"
,
"sftp"
,
"signature"
,
"signing"
,
"ssh"
,
"twofish"
,
"x.509"
,
"x509"
],
"support"
:
{
"issues"
:
"https://github.com/phpseclib/phpseclib/issues"
,
"source"
:
"https://github.com/phpseclib/phpseclib/tree/3.0.55"
},
"funding"
:
[
{
"url"
:
"https://github.com/terrafrost"
,
"type"
:
"github"
},
{
"url"
:
"https://www.patreon.com/phpseclib"
,
"type"
:
"patreon"
},
{
"url"
:
"https://tidelift.com/funding/github/packagist/phpseclib/phpseclib"
,
"type"
:
"tidelift"
}
],
"time"
:
"2026-06-14T23:24:10+00:00"
},
{
"name"
:
"psr/clock"
,
"version"
:
"1.0.0"
,
"source"
:
{
...
...
config/filesystems.php
View file @
5b6b496
...
...
@@ -57,7 +57,16 @@
'driver'
=>
'local'
,
'root'
=>
storage_path
(
'ocr'
),
],
'ocr_results_sftp'
=>
[
'driver'
=>
'sftp'
,
'host'
=>
env
(
'OCR_HOST'
,
'172.30.4.104'
),
'username'
=>
env
(
'OCR_USERNAME'
,
'ubuntu'
),
'port'
=>
22
,
'root'
=>
env
(
'OCR_ROOT'
,
'/home/ubuntu/iwa'
),
'timeout'
=>
30
,
'privateKey'
=>
env
(
'OCR_KEY'
),
'passphrase'
=>
env
(
'OCR_PASSPHRASE'
,
null
),
],
],
/*
...
...
config/logging.php
View file @
5b6b496
...
...
@@ -17,7 +17,7 @@
|
*/
'default'
=>
env
(
'LOG_CHANNEL'
,
'
stack
'
),
'default'
=>
env
(
'LOG_CHANNEL'
,
'
daily
'
),
/*
|--------------------------------------------------------------------------
...
...
resources/views/dashboard.blade.php
View file @
5b6b496
...
...
@@ -46,7 +46,7 @@
if
(
!
file
)
return
;
let
formData
=
new
FormData
();
formData
.
append
(
'file'
,
file
);
formData
.
append
(
'
attached_
file'
,
file
);
axios
.
post
(
"{{route('import_pdf')}}"
,
formData
,
{
headers
:{
...
...
routes/web.php
View file @
5b6b496
...
...
@@ -15,4 +15,19 @@
*/
Route
::
get
(
'/'
,
[
OcrController
::
class
,
'index'
]);
Route
::
get
(
'/test'
,
function
()
{
$file
=
'D:\\key\\id_rsa_oms_base_test.pem'
;
return
response
()
->
json
([
'php_sapi'
=>
PHP_SAPI
,
'current_user'
=>
get_current_user
(),
'script_owner'
=>
getmyuid
(),
'cwd'
=>
getcwd
(),
'file_exists'
=>
file_exists
(
$file
),
'is_readable'
=>
is_readable
(
$file
),
'realpath'
=>
realpath
(
$file
),
'file_get_contents'
=>
@
file_get_contents
(
$file
)
!==
false
?
'OK'
:
error_get_last
(),
]);
});
Route
::
post
(
'/import-pdf'
,
[
OcrController
::
class
,
'import_pdf'
])
->
name
(
'import_pdf'
);
...
...
Please
register
or
sign in
to post a comment