in reply to Re: PDF::Create - help with tabulation
in thread PDF::Create - help with tabulation

roboticus,

This is more a request for clarification. I have used 'PDF::API2', but I'm not familiar with 'PDF::Create'.

Is there a command in 'PDF::Create' that allows you to use positioning without concern for the left margin and the default user space units. If there is, it seems it would be a lot easier to use than 'PDF::API2'!

Thank you

"Well done is better than well said." - Benjamin Franklin

  • Comment on Re^2: PDF::Create - help with tabulation

Replies are listed 'Best First'.
Re^3: PDF::Create - help with tabulation
by roboticus (Chancellor) on Jul 19, 2012 at 18:46 UTC

    flexvault:

    I'm not familiar with PDF::Create, either. I briefly looked over the docs, and it looks like the println method might be enough. It doesn't mention tab expansion, so I don't know if the same problem would occur or not.

    There's a reference to a set width method, too, so it may let you set line length and do auto wrapping. But I haven't actually tried using it.

    ...roboticus

    When your only tool is a hammer, all problems look like your thumb.

    UPDATE: I went ahead and installed it and gave it a quick try:

    #!/usr/bin/perl # # example for PDF::Create # use 5.14.0; use warnings; use autodie; use PDF::Create; my $txt=<<EOT; Here's a little bit of text that contains a very long line followed by + a few short ones so we can see which method(s) may or may not handle + wrapping and embedded newlines, just in case any of them do. Though\tprintnl\tshould\thandle embedded newlines just fine. EOT my $pdf = new PDF::Create('filename'=>'foo.pdf'); my $a4 = $pdf->new_page('MediaBox'=>$pdf->get_page_size('A4')); my $page = $a4->new_page; my $f1 = $pdf->font('BaseFont'=>'Helvetica'); $page->string($f1, 12, 72, 600, $txt); $page->printnl($txt, $f1, 12, 72, 400); $pdf->close;

    The result: neither the string nor printnl methods will do autowrapping or any sort of tab expansion other than treating the tabs as spaces (unless my brief scan of the docs missed an option somewhere). The printnl function will at least handle \n nicely.

      roboticus,

      Sorry to put you through all that work, I was just wondering if when creating the object there was a command / parameter to define margins and spacing.

      PDF is a standard, but it's more like coding in machine language versus working with Perl.

      Thank you

      "Well done is better than well said." - Benjamin Franklin

        flexvault:

        Sorry to put you through all that work

        Heh ... one man's work is another man's relaxation. I did it only because you mentioned the module and it looked interesting enough to give it a try.

        Yeah, PDF is kind of amusing... a combined platform and language. I get dragged into it every once in a while. I keep thinking I should learn PostScript, but no-one has waved any money at me, and it's not interesting enough yet to rise high enough on my "list of interesting things to do" for me to dig into it. Typically my exposure to it is just enough to remind me of it, and I learn just enough to get the current job done, and then forget about it for another year or two...

        ...roboticus

        When your only tool is a hammer, all problems look like your thumb.

        "Heh ... one man's work is another man's relaxation. I did it only because you mentioned the module and it looked interesting enough to give it a try."

        Any good at painting and decorating!

      Got it - Thanks all for the info and insights!