Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Re^4: Displaying RTF string to browser

by ikkon (Monk)
on Aug 21, 2007 at 17:21 UTC ( #634141=note: print w/replies, xml ) Need Help??

in reply to Re^3: Displaying RTF string to browser
in thread Displaying RTF string to browser

ok, tried that, and a few variations, I don't get a error so thats a plus, but I get a blank RTF not sure why though. not to familuar with creating streaming rtf.

Replies are listed 'Best First'.
Re^5: Displaying RTF string to browser
by bart (Canon) on Aug 21, 2007 at 21:12 UTC
    I installed RTF::Writer just to test your code, and after some edits I could make it compile. (For some reason, add_bgcolor isn't a recognized method, so I commented those out; and the use of your private module at the top too.)

    I initially got a blank file too. Then I noticed you have mixed two alternatives, you have to use either

    $fh = RTF::Writer->new_to_file($rtfReport);
    $fh = RTF::Writer->new_to_string(\$RTF_obj);
    but not both. Don't mix them.

    For this application, it makes most sense to use the $RTF_obj, because it holds the entire RTF document in memory.

    And delete the line

    near the end, it makes the document exactly twice as long and worse, it corrupts it as Word can no longer read it.

    So: near the top, just use

    $fh = RTF::Writer->new_to_string(\$RTF_obj);
    you'd even better delete every mention of $rtfReport; and near the bottom, right under $fh->close();, add
    print $RTF_obj;

    That's it. Drop the code I gave you earlier to read out the contents of the file, as there is no longer a file, you don't need it. Instead, you're printing out the contents of a string.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://634141]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2018-01-19 16:28 GMT
Find Nodes?
    Voting Booth?
    How did you see in the new year?

    Results (221 votes). Check out past polls.