I thought I would pass this along in case any one else wasn't aware of it. I wasn't quite sure where to post this but it doesn't really fit anywhere else.

I spent a couple hours trying to figure out why PDF generated invoices where seemingly without rhyme or reason generating errors when viewing. I first noticed it on large PDFs.. but then it happened on a small one.

Finally after giving up on trying to figure out what was causing it, I decided to look at the symptoms.

I fired up pico and read the source of this huge PDF. Having never looked at one's source I was suprised that it was easy to discern. Scanning a couple of pages something popped right out. Apparently PDF::Create doesn't escape text. One of the items written with string had a single ( causing the parse in Acrobat to die with Error 114. I'm going to shoot a msg to the author. Just thought I might save someone else some frustration.

-Lee

"To be civilized is to deny one's nature."

Replies are listed 'Best First'.
Re: A warning on PDF::Create
by Juerd (Abbot) on Apr 19, 2002 at 14:40 UTC

    I'm going to shoot a msg to the author.

    According to PDF::Create's source, the author already knows of this bug:

    $val = "($val)"; # TODO: split it. Quote parentheses.

    - Yes, I reinvent wheels.
    - Spam: Visit eurotraQ.
    

      I didn't catch that. I was crosseyed after 30 hours of coding. I couldn't easily find the PDF spec but apparently escaping parentheses with a
      \
      works fine.

      It would have been nice if the author noted such a big gotcha in the POD.

      -Lee

      "To be civilized is to deny one's nature."