It's not long and while it isn't the best code it does work. Perhaps this 
addresses your question (or perhaps not)

#!/usr/bin/perl
use DBI;
use PDF::Create;
use PDF::Labels;
BEGIN { sub get ($$); }

# group by senate district
# district,id,name,phone,address
my $filename = shift @ARGV;
die "You must specify a filename" unless $filename;


$dbh = DBI->connect("dbi:Pg:dbname=gpm");
$dbh->{RaiseError} = 1;
my $DISTRICT = 0;
my $ID = 1;my $NAME = 2;my $ADDRESS = 3;my $ADDRESS_2 = 4;my $CITY = 5;my 
$ZIP = 6;

$sth = $dbh->prepare(qq{
SELECT DISTINCT legislative_district,contact_id,first_name||' 
'||middle_name||' '||last_name,address,address_2,city,zip
FROM contacts_full
WHERE no_mail != 'Yes' or no_mail IS NULL
ORDER BY legislative_district, zip,city,address});
$sth->execute;

$pdf = new PDF::Labels($PDF::Labels::PageFormats[0],
                       filename => $filename,
                       Author => "Joshua Jore",
                       Title => "Green Party Caucusing labels");

$pdf->label('Ordered by district,zip,city,address',
            'read left-right,top-bottom');

while (my @record = $sth->fetchrow_array) {

    if ($prevd ne $record[$DISTRICT]) {
        $pdf->label('############',
                    'District '.$record[$DISTRICT],
                    '############');
    }
    unless ($prev eq $record[$DISTRICT].$record[$ID]) {
        @record = map {s/\s+/ /go;$_} @record;

        @label = ();
        for ($NAME,$ADDRESS,$ADDRESS_2) {
            push @label, $record[$_] if $record[$_];
        }
        push @label, $record[$CITY].' MN, '.$record[$ZIP];
        push @label, '('.$record[$DISTRICT].'-'.$record[$ID].')';

        $pdf->label(@label);
    }
    $prev = $record[$DISTRICT].$record[$ID];
    $prevd = $record[$DISTRICT];
}
$pdf->close() if $pdf;




"Herbold, John W." <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
03/11/2002 04:18 PM

 
        To:     [EMAIL PROTECTED], "'[EMAIL PROTECTED] '" 
<[EMAIL PROTECTED]>
        cc: 
        Subject:        DBI and PDF...


Does anybody have an example or two of spitting out a result from a DBI 
call
into a PDF file ?

I am loosing what little hair I have left trying to get PDF::CREATE to put
thing like I want them!



Thanks !

John W. Herbold Jr.
IS Specialist/DBA
_______________________________________________
ActivePerl mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs



Reply via email to