diff options
author | dsiddharth2 <dsiddharth2@gmail.com> | 2018-04-28 22:00:44 +0530 |
---|---|---|
committer | dsiddharth2 <dsiddharth2@gmail.com> | 2018-04-28 22:00:44 +0530 |
commit | 0a0699f92da96122f14a03967092f2b03edfa85c (patch) | |
tree | 50959d2fb862baf4e6660fb43b6f08976add9560 /src/examples/example.php | |
parent | 3f95565d2e2a54df7250eb7ae3118dc2e585cfc2 (diff) | |
parent | 7bf66280877860aed2f56119b463599f868637c5 (diff) | |
download | php-zxing-0a0699f92da96122f14a03967092f2b03edfa85c.zip php-zxing-0a0699f92da96122f14a03967092f2b03edfa85c.tar.gz php-zxing-0a0699f92da96122f14a03967092f2b03edfa85c.tar.bz2 |
Fixed the 1.0.1 version
Diffstat (limited to 'src/examples/example.php')
-rw-r--r-- | src/examples/example.php | 225 |
1 files changed, 183 insertions, 42 deletions
diff --git a/src/examples/example.php b/src/examples/example.php index 5c979cb..13d2e8c 100644 --- a/src/examples/example.php +++ b/src/examples/example.php @@ -1,42 +1,183 @@ -<?php - error_reporting(E_ALL); - ini_set('display_errors', 1); - - require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . "PHPZxing" . DIRECTORY_SEPARATOR . "PHPZxingBase.php"; - require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . "PHPZxing" . DIRECTORY_SEPARATOR . "PHPZxingDecoder.php"; - require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . "PHPZxing" . DIRECTORY_SEPARATOR . "ZxingImage.php"; - require dirname(dirname(__FILE__)) . DIRECTORY_SEPARATOR . "PHPZxing" . DIRECTORY_SEPARATOR . "ZxingBarNotFound.php"; - - use PHPZxing\PHPZxingDecoder; - - $decoder = new PHPZxingDecoder(); - $decodedData = current($decoder->decode('../images/Code128Barcode.jpg')); - $decodedData->getImageValue(); - $decodedData->getFormat(); - $decodedData->getType(); - - $config = array( - 'try_harder' => true, - 'multiple_bar_codes' => true, - 'crop' => '100,200,300,300', - ); - $decoder = new PHPZxingDecoder($config); - $decodedData = $decoder->decode('../images/'); - print_r($decodedData); - - $decoder = new PHPZxingDecoder(); - $imageArrays = array( - '../images/Code128Barcode.jpg', - '../images/Code39Barcode.jpg' - ); - $decodedData = $decoder->decode($imageArrays); - print_r($decodedData); - - $config = array( - 'try_harder' => true, - 'multiple_bar_codes' => true - ); - $decoder = new PHPZxingDecoder($config); - $decodedData = $decoder->decode('../images/multiple_bar_codes.jpg'); - print_r($decodedData); -?>
\ No newline at end of file +PHPZxing - Wrapper for Zxing Java Library +=========================================== +PHPZxing is a small php wrapper that uses the Zxing library to Create and read Barcodes. +Under the hood it still uses the [Zxing library](https://github.com/zxing/zxing) to encode and decode data. + +Install using composer +-------------------- + +```json +{ + "require": { + "dsiddharth2/php-zxing": "1.0.1" + } +} +``` + +Note +-------------------- +* Only Decoder is programmed right now. Needs programming of Encoder. +* The Default location of java that is configured is /usr/bin/java + +Changes in version 1.0.1 +-------------------- +* Added a isFound function that will tell if the bar code is found. +* If the image has one bar code detected, then it returns the object instead of array of a single object. + +Basic Usage +---------- +```php +use PHPZxing\PHPZxingDecoder; + +$decoder = new PHPZxingDecoder(); +$decodedData = $decoder->decode('../images/Code128Barcode.jpg'); +if($data->isFound()) { + $data->getImageValue(); + $data->getFormat(); + $data->getType(); +} +``` + +The Decoded data is an Array of Objects of PHPZxing\ZxingImage if the bar code is found. If not found then it is an array of Objects PHPZxing\ZxingBarNotFound. + +Checking for existence of Barcode +---------- +The Existance of bar code can be found using the functoin isFound() + +```php +use PHPZxing\PHPZxingDecoder; + +$decoder = new PHPZxingDecoder(); +$data = $decoder->decode('../images/Code128Barcode.jpg'); +if($data->isFound()) { + $data->getImageValue(); + $data->getFormat(); + $data->getType(); +} +``` + +You can also check using the instanceof object, +```php +use PHPZxing\PHPZxingDecoder; + +$decoder = new PHPZxingDecoder(); +$data = $decoder->decode('../images/Code128Barcode.jpg'); +if($data instanceof PHPZxing\ZxingImage) { + $data->getImageValue(); + $data->getFormat(); + $data->getType(); +} +``` +The Public methods that we can use in PHPZxing\ZxingImage are, + +| Method Name | Function | +| ------------- |--------------------------------------------------------------| +| getImageValue | Get the value decoded in the image passed | +| getFormat | Get the format of the image that is encoded, example : CODE_39 | +| getType | Get the type of the image decoded, example : URL, TEXT etc | +| getImagePath | Get Path of the image | + +The Public methods that we can use in PHPZxing\ZxingImage are, + +| Method Name | Function | +| ------------- |--------------------------------------------------------------| +| getImageErrorCode | Get the error code for the image not found | +| getErrorMessage | Error Message | +| getImagePath | Get Path of the image | + + +Setting the configurations +---------- +```php +use PHPZxing\PHPZxingDecoder; + +$config = array( + 'try_harder' => true, +); +$decoder = new PHPZxingDecoder($config); +$decodedArray = $decoder->decode('../images'); +if(is_array($decodedArray)){ + foreach ($decodedArray as $data) { + if($data->isFound()) { + print_r($data); + } + } +} +``` + +You can also use it with configurations. The Decoder has 3 configurations, + +| Config Name | Function | +| ------------- |--------------------------------------------------------------| +| try_harder | If the image has bar/Qr code at unknown locations, then use this non mobile mode. | +| multiple_bar_codes | If the image has multiple bar codes you want to read. | +| crop | Crop the image and it will read only the cropped portion | + +More Examples +---------- + +You can pass array of images too, + +```php +use PHPZxing\PHPZxingDecoder; + +$decoder = new PHPZxingDecoder(); +$imageArrays = array( + '../images/Code128Barcode.jpg', + '../images/Code39Barcode.jpg' +); +$decodedArray = $decoder->decode($imageArrays); +foreach ($decodedArray as $data) { + if($data instanceof PHPZxing\ZxingImage) { + print_r($data); + } else { + echo "Bar Code cannot be read"; + } +} +``` + +Reading multiple bar codes, + +```php +use PHPZxing\PHPZxingDecoder; + +$config = array( + 'try_harder' => true, + 'multiple_bar_codes' => true +); +$decoder = new PHPZxingDecoder($config); +$decodedData = $decoder->decode('../images/multiple_bar_codes.jpg'); +print_r($decodedData); +``` + + +Set Java Path +---------- +If your java PATH is not set properly, the decoder will not work. You need to set path of java variable. + +```php +use PHPZxing\PHPZxingDecoder; + +$decoder = new PHPZxingDecoder(); +$decoder->setJavaPath('/your/path/to/java'); +$decodedData = $decoder->decode('../images/Code128Barcode.jpg'); +print_r($decodedData); +``` + +Where is my java located ? +---------- +If you do not know the path to java, then you can use the following on *nix enviromnents +``` +$ which java +``` + +On Windows read the follwoing stackoverflow [Link](https://stackoverflow.com/questions/304319/is-there-an-equivalent-of-which-on-the-windows-command-line) + +## Acknowledgments + +* [Zxing library](https://github.com/zxing/zxing) + +Contibution +---------- +Please Contribute or suggest changes. + |