Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Print to PDF

by poj (Abbot)
on Jun 11, 2013 at 19:00 UTC ( [id://1038326]=note: print w/replies, xml ) Need Help??


in reply to Print to PDF

Looking at the code you have inside the loop, $y is being set to 760 for all lines.

my $y = 760;
poj

Replies are listed 'Best First'.
Re^2: Print to PDF
by PilotinControl (Pilgrim) on Jun 11, 2013 at 19:27 UTC

    Removing the $y = 760; has no effect

      With prFile('data.pdf') being within the loop, a new document is being created at every line. This is how I think it should look ;
      #!/usr/bin/perl use PDF::Reuse; use strict; use warnings; printinterrr(); sub printinterrr { open(MYINPUTFILEONE, "data.txt"); $| = 1; my @linesone = <MYINPUTFILEONE>; # read file into list close (MYINPUTFILEONE); printf (" =================\n\n"); printf (" | VERIFY NAME |\n\n"); printf (" =================\n\n"); printf (" \n\n"); printf (" PLEASE INSERT NAME TO VERIFY:\n\n"); printf (" \n\n\n\n\n\n\n\n"); my $interrrverify = <STDIN>; $interrrverify = <STDIN> until defined $interrrverify; chomp($interrrverify); printf (" ========================================\n\n"); printf (" | NAME | NUMBER | TYPE | OWNER | INTER |\n\n"); printf (" ========================================\n\n\n"); my $found = 0; my $pageTop = 800; my $pageBottom = 40; my $x = 35; # Left margin my $y = 760; my $step = 10; # Distance between lines (fontsize = 12) prFile('data.pdf'); prCompress(1); # Compress streams prFont('Times-Roman'); prText(50, 800, "======================================="); prText(50, 790, "NAME NUMBER TYPE OWNER INTER"); prText(50, 780, "======================================="); + my $format = " %-13s %-15s %-11s %-10s %0s\n"; foreach my $interrrverify2 (@linesone) { my @fieldone = split(":", $interrrverify2); if ($fieldone[4] =~ /(?<![\w-])$interrrverify(?![\w-])/i) { printf ($format, $fieldone[0], $fieldone[1], $fieldone[2], $fiel +done[3], $fieldone[4]); prText(50, $y, "$fieldone[0]"); prText((50 + 90), $y, "$fieldone[1]"); prText((50 + 195), $y, "$fieldone[2]"); prText((50 + 272), $y, "$fieldone[3]"); prText((50 + 335), $y, "$fieldone[4]"); $found =1; if ($y < $pageBottom) { prPage(); $y = $pageTop; } else { $y -= $step; } } } # END FILE LOOP prEnd; } sleep 10;
      Note the prEnd is also outside the loop.
      poj

        Thanks POJ! That worked nicely. The prEnd outside of the loop worked I do keep forgetting to end a loop when a section has been executed. Thanks again POJ!

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1038326]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (2)
As of 2024-04-26 02:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found