HTML::Barcode - Render HTML representations of barcodes
# HTML::Barcode::Code93 is just one example, there are others. my $code = HTML::Barcode::Code93->new(text => 'MONKEY'); print $code->render;
See the documentation for the specific types of barcodes for detailed instructions.
This is a base class for creating HTML representations of barcodes. Do not use it directly. If you are looking to generate a barcode, please see one of the following modules instead:
Here are the types of barcodes you can generate with this distribution. Others may exist, so try searching CPAN.
To add a new type of barcode, create a subclass of either HTML::Barcode::1D for traditional barcodes, HTML::Barcode::2D for 2-dimensional barcodes, or HTML::Barcode if neither of those suit your needs.
Use one of the existing modules as a starting point.
You need to either override this, or override the render_barcode method so it does not use this.
render_barcode
This should return an arrayref of true and false values (for "on" and "off"), or an arrayref of arrayrefs (for 2D).
It is not recommended to publish this method in your API.
Feel free to override any other methods, or use method modifiers (around, before, after) as you see fit.
around
before
after
Default constructor provided by Moo, which can take values for any of the attributes.
This is a convenience routine which returns <style>...</style> tags and the rendered barcode.
<style>...</style>
If you are printing multiple barcodes or want to ensure your style tags are in your HTML headers, then you probably want to output the barcode and style separately with "render_barcode" and "css".
style
Returns only the rendered barcode. You will need to provide stylesheets separately, either writing them yourself or using the output of "css".
Returns CSS needed to properly display your rendered barcode.
These attributes can be passed to new, or used as accessors.
Required - The information to put into the barcode.
A CSS color value (e.g. '#000' or 'black') for the foreground. Default is '#000'.
A CSS color value background. Default is '#fff'.
A CSS value for the width of an individual bar. Default is '2px'.
A CSS value for the height of an individual bar. Default is '100px'.
Boolean. Indicates whether or not to render the text below the barcode.
The value for the class attribute applied to any container tags in the HTML (e.g. table or div). td tags within the table will have either css_class_on or css_class_off classes applied to them.
class
table
div
td
For example, if css_class is "barcode", you will get <table class="barcode"> and its cells will be either <td class="barcode_on"> or <td class="barcode_off">.
<table class="barcode">
<td class="barcode_on">
<td class="barcode_off">
Boolean. Rather than rendering CSS stylesheets, embed the style information in HTML style attributes. You should not use this option without good reason, as it greatly increases the size of the generated markup, and makes it impossible to override with stylesheets.
Mark A. Stratman, <stratman@gmail.com>
<stratman@gmail.com>
http://github.com/mstratman/HTML-Barcode
Copyright 2011 Mark A. Stratman.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install HTML::Barcode, copy and paste the appropriate command in to your terminal.
cpanm
cpanm HTML::Barcode
CPAN shell
perl -MCPAN -e shell install HTML::Barcode
For more information on module installation, please visit the detailed CPAN module installation guide.