[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ic] Barcode Tag for creating code128 barcodes


Here is a tag that creates code128 barcodes.  Enjoy.
=====================================================

UserTag code128 Order label width height border scale font show_text font_margin font_align transparent_text top_margin bottom_margin left_margin right_margin padding mode
UserTag code128 Interpolate
UserTag code128 Routine <<EOR
sub {

	use Barcode::Code128 'FNC1';

my($label, $width, $height, $border, $scale, $font, $show_text, $font_margin, $font_align, $transparent_text, $top_margin, $bottom_margin, $left_margin, $right_margin, $padding, $mode) = @_;
	
	my($barcode, $path, $mode);
	
	$path = $::Variable->{BARCODE_DIR} || '';
	
	$barcode = new Barcode::Code128;
	
	$barcode->width($width ||= '');
	$barcode->height($height ||= 40);
	$barcode->border($border ||= 0);
	$barcode->scale($scale ||= 1);
	$barcode->font($font ||= "giant");
	$barcode->show_text($show_text ||= 1);
	$barcode->font_margin($font_margin ||= 2);
	$barcode->font_align($font_align ||= "center");
	$barcode->transparent_text($transparent_text ||= 1);
	$barcode->top_margin($top_margin ||= 0);
	$barcode->bottom_margin($bottom_margin ||= 0);
	$barcode->left_margin($left_margin ||= 0);
	$barcode->right_margin($right_margin ||= 0);
	$barcode->padding($padding ||= 10);
	
	open(PNG, ">$path/$label.png") or die "Can't write $label.png: $!\n";
	
	binmode(PNG);
	
	print PNG $barcode->png("$label");
	
	close(PNG);
	
	$mode ||= "a+rw";
	
	system("chmod $mode $path/$label.png");

}
EOR

UserTag code128 Documentation <<EOD
=head1 NAME

ITL tag [code128] -- Create code 128 barcode

=head1 SYNOPSIS

[code128
	label            = Barcode-Value*
	width            = width
	height           = height
	border           = border
	scale            = scale
	font             = font
	show_text        = show_text
	font_margin      = font_margin
	font_align       = font_align
	transparent_text = transparent_text
	top_margin       = top_margin
	bottom_margin    = bottom_margin
	left_margin      = left_margin
	right_margin     = right_margin
	padding          = padding
]

=head1 DESCRIPTION

Creates a bardoce using the Barcode::Code128 perl module. The resultant barcode is a standard image in PNG format. It can them be used as any other graphic file. You must have the Barcode::Code128 perl module installed for this to work. Example usage is [code128 label="[loop-code]"]

=head2 Options

=over 4

=item label

This is the only required option.  It is the value of the barcode itself.

=item mode

This is file permissions that the resulting image will be set to. Default is a+rw ie. 0666

=item All other options

All other options are well, optional. You can use them to adjust the output. For a detailed description of what each option does, checkout the module documentation at .....

http://search.cpan.org/~wrw/Barcode-Code128-2.00/lib/Barcode/Code128.pm

=item Environment Variables

Since the tag creates an image file, it has to know where to put this file. This is specified in the variable.txt file of your catalog. The variable name is called BARCODE_DIR and here is an example.

BARCODE_DIR	/tmp/barcodes	Barcodes

The default is the catalog root directory.

=back

=head1 AUTHOR

Marty Tennison

=cut
EOD
--
-  - -- ----  ---------------------------- --- -- -   -
Marty Tennison
www.sediva.com
www.dripdepot.com
-  -- --- --------------------------------------- --- --
_______________________________________________
interchange-users mailing list
suppressed
http://www.icdevgroup.org/mailman/listinfo/interchange-users


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.