Programmatically create and render barcodes as images or in PDFs

Overview

laminas-barcode

πŸ‡·πŸ‡Ί Русским Π³Ρ€Π°ΠΆΠ΄Π°Π½Π°ΠΌ

ΠœΡ‹, участники Laminas, Ρ€ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ ΠΈ ΠΆΠΈΠ²Π΅ΠΌ Π² Ρ€Π°Π·Π½Ρ‹Ρ… странах. Π£ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΈΠ· нас Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ·ΡŒΡ, родствСнники ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΊΠ°ΠΊ Π² России, Ρ‚Π°ΠΊ ΠΈ Π² Π£ΠΊΡ€Π°ΠΈΠ½Π΅. НСкоторыС ΠΈΠ· нас Ρ€ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π² России. НСкоторыС ΠΈΠ· нас ΠΆΠΈΠ²ΡƒΡ‚ Π² России. Π£ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Π°Π±ΡƒΡˆΠΊΠΈ ΠΈ Π΄Π΅Π΄ΡƒΡˆΠΊΠΈ ΡΡ€Π°ΠΆΠ°Π»ΠΈΡΡŒ с Ρ„Π°ΡˆΠΈΡΡ‚Π°ΠΌΠΈ Π²ΠΎ Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΈΡ€ΠΎΠ²ΠΎΠΉ Π²ΠΎΠΉΠ½Π΅. Π—Π΄Π΅ΡΡŒ Π½ΠΈΠΊΡ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„Π°ΡˆΠΈΠ·ΠΌ.

Π£ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· нас Π΅ΡΡ‚ΡŒ украинская родствСнница, которая спаслась ΠΈΠ· Π΄ΠΎΠΌΠ° вмСстС с сыном. ПоСзд задСрТался ΠΈΠ·-Π·Π° Π±ΠΎΠΌΠ±Π΅ΠΆΠΊΠΈ Π½Π° Π΄ΠΎΡ€ΠΎΠ³Π΅ Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ. Π£ нас Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ·ΡŒΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прячутся Π² Π±ΠΎΠΌΠ±ΠΎΡƒΠ±Π΅ΠΆΠΈΡ‰Π°Ρ…. ΠœΡ‹ с Ρ‚Ρ€Π΅Π²ΠΎΠ³ΠΎΠΉ ΠΆΠ΄Π΅ΠΌ вСсточки ΠΎΡ‚ Π½ΠΈΡ… послС Π²ΠΎΠ·Π΄ΡƒΡˆΠ½Ρ‹Ρ… Π½Π°Π»Π΅Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ бСспорядочно наносят ΡƒΠ΄Π°Ρ€Ρ‹ ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΏΠΎ Π±ΠΎΠ»ΡŒΠ½ΠΈΡ†Π°ΠΌ, школам, дСтским садам ΠΈ Π΄ΠΎΠΌΠ°ΠΌ. ΠœΡ‹ Π½Π΅ Π±Π΅Ρ€Π΅ΠΌ это ΠΈΠ· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ БМИ. ΠœΡ‹ наблюдаСм это Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ.

Π’Ρ‹ довСряСтС Π½Π°ΠΌ достаточно, Ρ‡Ρ‚ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ наши ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈ ΠΌΡ‹ просим вас Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π½Π°ΠΌ вновь. ΠœΡ‹ нуТдаСмся Π² ΠΏΠΎΠΌΠΎΡ‰ΠΈ. Π’Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ ΠΈ протСстуйтС ΠΏΡ€ΠΎΡ‚ΠΈΠ² этой бСсполСзной Π²ΠΎΠΉΠ½Ρ‹. ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚Π΅ ΠΊΡ€ΠΎΠ²ΠΎΠΏΡ€ΠΎΠ»ΠΈΡ‚ΠΈΠ΅. Π‘ΠΊΠ°ΠΆΠΈΡ‚Π΅ "НСт Π²ΠΎΠΉΠ½Π΅!"

πŸ‡ΊπŸ‡Έ To Citizens of Russia

We at Laminas come from all over the world. Many of us have friends, family and colleagues in both Russia and Ukraine. Some of us were born in Russia. Some of us currently live in Russia. Some have grandparents who fought Nazis in World War II. Nobody here supports fascism.

One team member has a Ukrainian relative who fled her home with her son. The train was delayed due to bombing on the road ahead. We have friends who are hiding in bomb shelters. We anxiously follow up on them after the air raids, which indiscriminately fire at hospitals, schools, kindergartens and houses. We're not taking this from any media. These are our actual experiences.

You trust us enough to use our software. We ask that you trust us to say the truth on this. We need your help. Go out and protest this unnecessary war. Stop the bloodshed. Say "stop the war!"

This package is considered feature-complete, and is now in security-only maintenance mode, following a decision by the Technical Steering Committee. If you have a security issue, please follow our security reporting guidelines. If you wish to take on the role of maintainer, please nominate yourself

If you are looking for an actively maintained package alternative, we recommend:

Build Status

Laminas\Barcode provides a generic way to generate barcodes. The Laminas\Barcode component is divided into two subcomponents: barcode objects and renderers. Objects allow you to create barcodes independently of the renderer. Renderer allow you to draw barcodes based on the support required.

Comments
  • Object reserved keyword

    Object reserved keyword

    The object keyword became reserved in PHP 7, this conflicts with the Zend\Barcode\Object; namespace.

    http://php.net/manual/en/reserved.other-reserved-words.php


    Originally posted by @fntlnz at https://github.com/zendframework/zend-barcode/issues/14

    Enhancement Invalid 
    opened by weierophinney 18
  • Move classes from Object namespace to Barcode namespace

    Move classes from Object namespace to Barcode namespace

    | Q | A |-------------- | ------ | Documentation | yes | Bugfix | yes | BC Break | no | New Feature | no | RFC | yes | QA | no

    Description

    Looking at #1 I decided to try and move all the classes from Laminas\Barcode\Object namespace to Laminas\Barcode\Barcode namespace. I had some problems with it as there are several classes that are children of another class. In order to not break the chain of inheritance that's currently in the repository I introduced ObjectInheritanceTest.

    The thing I am not sure about is is whether I should move tests to test Barcode classes instead of Object ones?

    Enhancement 
    opened by simivar 10
  • Fix tests on Windows machine

    Fix tests on Windows machine

    | Q | A |-------------- | ------ | Documentation | no | Bugfix | no | BC Break | no | New Feature | no | RFC | no | QA | yes

    Description

    Windows uses \r\n as a new-line symbol while DOMDocument returns file with \n. Because of that, we get untrue failures in tests.

    Bug 
    opened by simivar 8
  • Added PHP8.1 support.

    Added PHP8.1 support.

    | Q | A |-------------- | ------ | Documentation | no | Bugfix | no | BC Break | no | New Feature | no | RFC | no | QA | yes

    Description

    Added PHP 8.1 support.

    Enhancement 
    opened by pelex 5
  • Can not install on Magento 2.4.1

    Can not install on Magento 2.4.1

    Bug Report

    | Q | A |------------ | ------ | Version(s) | 2.8.2

    Summary

    I am trying to install on Magento 2.4.1 via composer.

    Below is the error coming on cli. Problem 1 - Conclusion: don't install laminas/laminas-developer-tools 2.1.1 - Conclusion: remove laminas/laminas-config 2.6.0 - Installation request for laminas/laminas-developer-tools ^2.1 -> satisfiable by laminas/laminas-developer-tools[2.1.0, 2.1.1]. - Conclusion: don't install laminas/laminas-config 2.6.0 - laminas/laminas-developer-tools 2.1.0 requires laminas/laminas-modulemanager ^2.10 -> satisfiable by laminas/laminas-modulemanager[2.10.0, 2.10.1, 2.10.2]. - laminas/laminas-modulemanager 2.10.0 requires laminas/laminas-config ^3.4 -> satisfiable by laminas/laminas-config[3.4.0, 3.5.0]. - laminas/laminas-modulemanager 2.10.1 requires laminas/laminas-config ^3.4 -> satisfiable by laminas/laminas-config[3.4.0, 3.5.0]. - laminas/laminas-modulemanager 2.10.2 requires laminas/laminas-config ^3.4 -> satisfiable by laminas/laminas-config[3.4.0, 3.5.0]. - Can only install one of: laminas/laminas-config[3.4.0, 2.6.0]. - Can only install one of: laminas/laminas-config[3.5.0, 2.6.0]. - Installation request for laminas/laminas-config (locked at 2.6.0) -> satisfiable by laminas/laminas-config[2.6.0].

    Current behavior

    How to reproduce

    composer require laminas/laminas-barcode:2.8


    Expected behavior

    Must be installed successfully.

    Bug 
    opened by mahesh-rajawat 2
  • Configure Renovate

    Configure Renovate

    Mend Renovate

    Welcome to Renovate! This is an onboarding PR to help you understand and configure settings before regular Pull Requests begin.

    🚦 To activate Renovate, merge this Pull Request. To disable Renovate, simply close this Pull Request unmerged.


    Detected Package Files

    • composer.json (composer)
    • .github/workflows/auto-close.yml (github-actions)
    • .github/workflows/continuous-integration.yml (github-actions)
    • .github/workflows/docs-build.yml (github-actions)
    • .github/workflows/release-on-milestone-closed.yml (github-actions)

    Configuration Summary

    Based on the default config's presets, Renovate will:

    • Start dependency updates only once this onboarding PR is merged
    • Enable Renovate Dependency Dashboard creation.
    • Ignore node_modules, bower_components, vendor and various test/tests directories.
    • Automerge patch and minor upgrades if they pass tests.
    • If automerging, push the new commit directly to the base branch (no PR).
    • Wait for branch tests to pass or fail before creating the PR.
    • Rebase existing PRs any time the base branch has been updated.
    • Separate major versions of dependencies into individual branches/PRs.
    • Do not separate patch and minor upgrades into separate PRs for the same dependency.
    • Raise PR when vulnerability alerts are detected.
    • Evaluate schedules according to timezone UTC.
    • Append Signed-off-by: to signoff Git commits.
    • Apply label renovate to PRs.
    • Group all minor and patch updates together.
    • Default configuration for repositories in the Laminas organisation

    πŸ”‘ Would you like to change the way Renovate is upgrading your dependencies? Simply edit the renovate.json in this branch with your custom config and the list of Pull Requests in the "What to Expect" section below will be updated the next time Renovate runs.


    What to Expect

    With your current configuration, Renovate will create 2 Pull Requests:

    Update actions/checkout action to v3
    • Schedule: ["at any time"]
    • Branch name: renovate/actions-checkout-3.x
    • Merge into: 2.12.x
    • Upgrade actions/checkout to v3
    Lock file maintenance
    • Schedule: ["before 2am"]
    • Branch name: renovate/lock-file-maintenance
    • Merge into: 2.12.x
    • Regenerate lock files to use latest dependency versions

    ❓ Got questions? Check out Renovate's Docs, particularly the Getting Started section. If you need any further assistance then you can also request help here.


    Read more information about the use of Renovate Bot within Laminas.

    renovate 
    opened by renovate[bot] 1
  • Test suite fails since laminas/validator 2.14.5

    Test suite fails since laminas/validator 2.14.5

    From Fedora CI https://koschei.fedoraproject.org/package/php-laminas-barcode

    Since laminas/validator 2.14.5

    There was 1 error:
    1) LaminasTest\Barcode\Object\RoyalmailTest::testProvidedChecksum
    Laminas\Barcode\Object\Exception\BarcodeValidationException: The input failed checksum validation
    /builddir/build/BUILDROOT/php-laminas-barcode-2.9.0-2.fc35.noarch/usr/share/php/Laminas/Barcode/Object/AbstractObject.php:1313
    /builddir/build/BUILDROOT/php-laminas-barcode-2.9.0-2.fc35.noarch/usr/share/php/Laminas/Barcode/Object/AbstractObject.php:1284
    /builddir/build/BUILDROOT/php-laminas-barcode-2.9.0-2.fc35.noarch/usr/share/php/Laminas/Barcode/Object/AbstractObject.php:959
    /builddir/build/BUILDROOT/php-laminas-barcode-2.9.0-2.fc35.noarch/usr/share/php/Laminas/Barcode/Object/AbstractObject.php:633
    /builddir/build/BUILD/laminas-barcode-74034895076d2305ce6716f93dd8d821f3c1e4fc/test/Object/RoyalmailTest.php:151
    
    
    Bug 
    opened by remicollet 1
  • Psalm integration

    Psalm integration

    Feature Request

    | Q | A |------------ | ------ | QA | yes

    Summary

    As decided during the Technical-Steering-Committee Meeting on August 3rd, 2020, Laminas wants to implement vimeo/psalm in all packages.

    Implementing psalm is quite easy.

    Required

    • [ ] Create a psalm.xml in the project root
    • [ ] Copy and paste the contents from this psalm.xml.dist
    • [ ] Run $ composer require --dev vimeo/psalm
    • [ ] Run $ vendor/bin/psalm --set-baseline=psalm-baseline.xml
    • [ ] Add a composer script static-analysis with the command psalm --shepherd --stats
    • [ ] Add a new line to script: in .travis.yml: - if [[ $TEST_COVERAGE == 'true' ]]; then composer static-analysis ; fi
    • [ ] Remove phpstan from the project (phpstan.neon.dist, .travis.yml entry, composer.json require-dev and scripts)
    Optional
    • [ ] Fix as many psalm errors as possible.
    Enhancement Help Wanted hacktoberfest-accepted 
    opened by boesing 1
  • Get rid of risky tests - adds `doesNotPerformAssertions ` annotation

    Get rid of risky tests - adds `doesNotPerformAssertions ` annotation

    | Q | A |-------------- | ------ | Documentation | no | Bugfix | no | BC Break | no | New Feature | no | RFC | no | QA | yes

    Description

    Right now, when running tests, we get a message about two risky tests. Thanks to this PR that will no longer happen. Also, we will be sure that the object returned by setter is the same as the original one.

    Bug 
    opened by simivar 1
  • Fix Invalid characters passed for attempted conversion (7.4)

    Fix Invalid characters passed for attempted conversion (7.4)

    Running test suite with PHP 7.4.1

    There were 36 errors:
    
    1) ZendTest\Barcode\Object\CodabarTest::testForeColor
    Invalid characters passed for attempted conversion, these have been ignored
    
    /dev/shm/BUILDROOT/php-zendframework-zend-barcode-2.8.0-1.fc31.remi.x86_64/usr/share/php/Zend/Barcode/Object/AbstractObject.php:432
    /dev/shm/BUILD/zend-barcode-6db95687997920b8217e71d2f12b51ec10e824d9/test/Object/TestCommon.php:160
    
    2) ZendTest\Barcode\Object\CodabarTest::testBackgroundColor
    Invalid characters passed for attempted conversion, these have been ignored
    
    /dev/shm/BUILDROOT/php-zendframework-zend-barcode-2.8.0-1.fc31.remi.x86_64/usr/share/php/Zend/Barcode/Object/AbstractObject.php:463
    /dev/shm/BUILD/zend-barcode-6db95687997920b8217e71d2f12b51ec10e824d9/test/Object/TestCommon.php:180
    
    3) ZendTest\Barcode\Object\Code128Test::testForeColor
    Invalid characters passed for attempted conversion, these have been ignored
    
    /dev/shm/BUILDROOT/php-zendframework-zend-barcode-2.8.0-1.fc31.remi.x86_64/usr/share/php/Zend/Barcode/Object/AbstractObject.php:432
    /dev/shm/BUILD/zend-barcode-6db95687997920b8217e71d2f12b51ec10e824d9/test/Object/TestCommon.php:160
    
    4) ZendTest\Barcode\Object\Code128Test::testBackgroundColor
    Invalid characters passed for attempted conversion, these have been ignored
    
    /dev/shm/BUILDROOT/php-zendframework-zend-barcode-2.8.0-1.fc31.remi.x86_64/usr/share/php/Zend/Barcode/Object/AbstractObject.php:463
    /dev/shm/BUILD/zend-barcode-6db95687997920b8217e71d2f12b51ec10e824d9/test/Object/TestCommon.php:180
    
    
    etc
    

    In short # must be removed from $value

    Bug 
    opened by remicollet 1
  • Feature: Support PHP 8.2

    Feature: Support PHP 8.2

    | Q | A |-------------- | ------ | QA | yes

    Description

    • Update composer config platform.php to 8.0.99
    • Update composer PHP to ~8.0.0 || ~8.1.0 || ~8.2.0
    • Ignore PHP platform requirements via .laminas-ci.json
    Enhancement 
    opened by ghostwriter 0
  • Deprecated Functionality: imagepolygon(): Using the $num_points parameter is deprecated PHP 8.1

    Deprecated Functionality: imagepolygon(): Using the $num_points parameter is deprecated PHP 8.1

    https://github.com/laminas/laminas-barcode/blob/0fae0391d77e7f4e23a3a2154046754e403f20cb/src/Renderer/Image.php#L490-L509

    Fix is to remove $numPoints from line 501.

            if (! $filled) {
                return imagepolygon($this->resource, $points, $color);
            }
    `
    Bug 
    opened by benhath 2
Releases(2.12.0)
Owner
Laminas Project
Laminas components and MVC.
Laminas Project
This package allows you to render livewire components like a blade component, giving it attributes, slots etc

X-livewire This package allows you to render livewire components like a blade component, giving it attributes, slots etc. Assuming you wanted to creat

null 7 Nov 15, 2022
πŸ–ΌοΈ Laravel Nova Field for uploading and cropping images using Slim Image Cropper

??️ Laravel Nova Field for uploading and cropping images using Slim Image Cropper

Marius 5 Apr 2, 2022
Create and manage A Domain Driven Design (DDD) in your Laravel app, simply and efficiently.

Create and manage A Domain Driven Design (DDD) in your Laravel app, simply and efficiently.

Lucas Nepomuceno 4 Jun 11, 2022
Create a downloads list - quick and easy. With categories and mobile friendly design

Simple downloads list plugin for wordpress Create a downloads list - quick and easy. With categories and mobile friendly design What is Simple downloa

Neofix 2 Dec 4, 2022
Migrator is a GUI migration manager for Laravel which you can create, manage and delete your migration.

Migrator Migrator is a GUI migration manager for Laravel which you can create, manage and delete your migration. Installation: To install Migrator you

Reza Amini 457 Jan 8, 2023
This package enables you to create and run a fully functioning WebSocket server in your Laravel app.

This package enables you to create and run a fully functioning WebSocket server in your Laravel app. It can optionally receive messages broadcast over ZeroMQ.

Asked.io 181 Oct 6, 2022
Simple Arabic Laravel Dashboard , has basic settings and a nice layout . to make it easy for you to create fast dashboard

Simple Arabic Laravel Dashboard βœ… Auto Seo βœ… Optimized Notifications With Images βœ… Smart Alerts βœ… Auto Js Validations βœ… Front End Alert βœ… Nice Image V

Peter Tharwat 254 Dec 19, 2022
An open source Laravel Soundboard with Admin Panel CRUD (Create Read Update Delete) built on Laravel, Bootstrap, and Vue.js

Laravel Soundboard An open source Laravel Soundboard with Admin Panel CRUD (Create Read Update Delete) built on Laravel 5.8, Bootstrap 4, Vue.js, Boot

Jeremy Kenedy 24 Oct 28, 2022
A PocketMine plugin to create custom ranks and permissions manager!

Ranks A PocketMine plugin to create custom ranks and permissions manager! ##Commands Command Usage Example /rank add - adds ranks! /rank add <rank_nam

DevilDev 4 Apr 6, 2022
A simple job posting application using PHP with an Admin Panel. Register, Login and create the job in apnel. The job gets posted on index page.

Jobee A simple job posting application using PHP with an Admin Panel. Register, Login and create the job in apnel. The job gets posted on index page.

Fahad Makhdoomi 2 Aug 27, 2022
MapServer and PHP-MapScript application to create publication-quality maps

SimpleMappr Installation and Configuration SimpleMappr, http://www.simplemappr.net is a web-based application that produces publication-quality geogra

David Shorthouse 28 Mar 17, 2022
A university system that creates a timetable programm for subjects,classes and teachers which is used to create a programm for each semester. All this served as a website.

Timetable-System-Generator A university system that creates a timetable programm for subjects,classes and teachers which is used to create a programm

null 3 Nov 19, 2022
Easily create a revision history for any laravel model

Wouldn't it be nice to have a revision history for any model in your project, without having to do any work for it. By simply adding the RevisionableT

Venture Craft 2.4k Jan 6, 2023
Create presenters for Eloquent Models

Laravel Presentable This package allows the information to be presented in a different way by means of methods that can be defined in the model's pres

The Hive Team 67 Dec 7, 2022
Laravel component to create gorgeous Charts.css charts.

Laravel component to create gorgeous Charts.css charts. This package will help you generate CSS only charts based on the Charts.css library. Installat

Maarten Paauw 105 Sep 26, 2022
Need some filters? This package is based on the Repository Design Pattern to let you create specific queries easily.

DevMakerLab/Laravel-Filters Need some filters? This package is based on the Repository Design Pattern to let you create specific queries easily. Insta

DevMakerLab 19 Feb 20, 2022
A laravel package to handle sanitize process of model data to create/update model records.

Laravel Model UUID A simple package to sanitize model data to create/update table records. Installation Require the package using composer: composer r

null 66 Sep 19, 2022
Create Laravel views (blade template) using 'php artisan' command-line interface

About LaraBit Have you ever wonder to create Laravel views (Blade Templates) using the same type of artisan commands that you usually use to create ne

Ragib MRB 5 Oct 15, 2021
Blacksmith is a code generation tool which automates the creation of common files that you'd typically create for each entity in your application.

Blacksmith is a code generation tool which automates the creation of common files that you'd typically create for each entity in your application.

Indatus 197 Dec 30, 2022