BarcodePlugin
This plugin is used to create embedded barcodes in topics. Currently only
Code128 codes are supported.
Support for other standard codes could easily be added for any standard supported by Perl Barcode
or
CPAN:GD::Barcode modules.
The original inspiration for this was so I could generate barcodes that can be read by a
CueCat
One useful application is to print out a page with the Topic name encoded in the barcode. Then use the scanner to quickly jump to the Wiki page for editing. eg,.
%BARCODE{text="%TOPIC%"}%
%BARCODE{text="BarcodePlugin"}%
Syntax Rules
The
%BARCODE{parm="value" ...}%
variable gets expanded to an image representing the barcode.
%Barcode% Parameter |
Comment |
Default |
text |
The text to encode |
"R.T.F.M." |
padding |
Size of whitespace before & after barcode |
5 |
height |
Height of barcode. Set to "0" for minimum size. Must be at least 15% of the width of the final barcode. |
0 |
scale |
How many pixels for the smallest barcode stripe |
2 |
border |
Size of the black border around the barcode |
0 |
font |
Font for the text at the bottom. Font may be one of the following: "giant", "large", "medium", "small", or "tiny". Or, it may be any valid GD font name, such as "gdMediumFont". |
"medium" |
font_align |
Align the text ("left", "right", or "center") |
"center" |
transparent_text |
0/1: use transparent background for text? |
1 - Transparent |
show_text |
0/1: Show text under the barcode |
1 - Text is shown |
cue_cat |
0/1: Swap upper and lower case for Cue Cat |
0 - No swap |
BarcodePlugin Settings
Plugin settings are stored as preferences variables. To reference
a plugin setting write
%<plugin>_<setting>%
, for example,
%DEFAULTPLUGIN_SHORTDESCRIPTION%
- One line description, shown in the TextFormattingRules topic:
- Set SHORTDESCRIPTION = This plugin creates embedded Code128 barcodes in a page.
- Debug plugin: (See output in
data/debug.txt
)
Examples
You type ... |
Expect output |
If Installed |
%BARCODE{text="Hello" transparent_text="0" height="0" }% |
|
%BARCODE{text="Hello" transparent_text="0" height="50"}% |
%BARCODE{text="BarcodePlugin2004" scale="1"}% |
|
%BARCODE{text="Barcode01234" scale="1"}% |
I use this to generate a table of topics with the topic encoded in a barcode. I then use a cuecat to scan the barcode and take me to the relevent page. Here is the verbatim code, note the use of the "$percent" to escape the BARCODE tag in the formatted search:
%TABLE{ sort="on" tableborder="1" cellpadding="1" cellspacing="3" headerbg="#666699"
headercolor="#FFFFCC" databg="#CCCCCC, #EFEFEF" headerrows="1" footerrows="1" }%
|*Box Database</b>%ENDCOLOR%*||||
|*Box #*|*Location*|*Owner*|*Barcode*|*Contents*|
%SEARCH{ "HouseBox[0-9][0-9][0-9]" scope="topic" regex="on" nosearch="on" nototal="on" format="
| [[$topic]] | $formfield(HouseBoxLocations) | $formfield(HouseBoxOwners)
| $percntBARCODE{text=$topic scale=1 padding=20}$nop%
|$formfield(Description)|" }%
Plugin Installation Instructions
Note: You do not need to install anything on your browser to use this plugin. The following instructions are for the administrator who installs the plugin on the server where Foswiki is running.
- Make sure your Perl administrator has installed the Barcode::Code128 module. (
perl -MCPAN -e "install Barcode::Code128"
)
- Make sure you have GD 1.20 or later installed.
- Download the ZIP file from the Plugin web (see below)
- Unzip
BarcodePlugin.zip
in your Foswiki installation directory. Content: File: | Description: |
lib/Foswiki/Plugins/BarcodePlugin.pm | Plugin Perl module |
data/System/BarcodePlugin.txt | Plugin topic |
pub/System/BarcodePlugin/example_0.png | Sample barcode image |
pub/System/BarcodePlugin/example_1.png | Sample barcode image |
- Visit
configure
in your Foswiki installation, and enable the plugin in the {Plugins} section.
- Test if the plugin is correctly installed:
- Check above examples if the "if installed" column shows images instead of variables.
Plugin Info
Related Topics: DefaultPreferences,
SitePreferences,
Plugins