#!/usr/local/bin/perl -w use strict; use Image::PNG::QRCode 'qrpng'; use Graphics::Magick; use File::Temp qw( tempfile ); use PDF::Create; my( $text ) = @ARGV; die "usage: $0 text" if !defined $text; my $width = 144; my $height = 54; my $pdffile = "label.pdf"; my( $fh, $pngfile ) = tempfile( UNLINK => 1, SUFFIX => ".png" ); ( my $jpgfile = $pngfile ) =~ s/\.png$/.jpg/; qrpng ( text => $text, out => $pngfile ); my $img = Graphics::Magick->new; $img->Read( $pngfile ); $img->Write( $jpgfile ); my $pdf = PDF::Create->new( filename => $pdffile ); my $jpg = $pdf->image( $jpgfile ); my $page = $pdf->new_page( 'MediaBox' => [ 0, 0, $width, $height ] ); $page->image( 'image' => $jpg, 'xscale' => 0.5, 'yscale' => 0.5, 'xpos' => 50, 'ypos' => 0 ); $pdf->close;