Printable Output

Does anyone have any advice about ways to make dynamic output from a CGI program which will print the same from any computer, as if it were a PDF file, for example.  

I'm creating an online program for managing conference guests and need to be able to print out guest cards that don't look like they are just printed off of the internet.

Thanks for the advice!
Alex Porter
Who is Participating?
daluuConnect With a Mentor Commented:
try this:
perl script :
#author: David Luu
#Creation date: 8/6/2002

#Generate the headers to help a browser choose the correct application
print "Content-type: application/msword\n";
print "Content-Disposition: inline, filename=sample.rtf\n";

# Open template file
$filename = "sample.rtf";
open(TEMPLATE, $filename);

# Read the template into a variable
@output = <TEMPLATE>;

# Close template file

# Replace place holders in template with form data

$name = "David";

foreach $line (@output) {
     if($line =~ m/<<name>>/) {
          $line =~ s/<<name>>/$name/;

     # Send the generated document to the browser
     print $line;

And for a sample RTF file to use to test with this, go to

I couldn't get the script working on my server because of configuration problems (with CGIs) but it works if you execute it on the server thru the command line, but that won't display the RTF file in MS Word tho.

Personally, I prefer using PHP for web-based applications.
the printer will anyway print the headers of your site if it is printed directly thru the browser.
Did you try to create a PDF? It gives some work but gives what you need.

Try it.
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

I'm not sure, but I have use this module.

the output will change computer to computer, but will be neer of what you need.

You can just output pdf's, gifs, jpegs, over the net straight from a perl script.  You open the a filehandle to the file in question, put it into binmode, and print it.  You just have to remember to print out the correct headers depending on what you are printing.


If you want to dynamically insert text into the guest cards for printing without printing your website URL stuff that an HTML page gives you, you can make a file template and insert the text replacing the placeholders and then print that out.

The templates can be PDF (as other experts have said) and better yet RTF (rich text format), which is easier to manipulate.

The process is similar what mehdi said but you will need to use Perl's string replace functions to insert data.

You will need to make the guest card design in RTF or PDF first.
alexswebsiteAuthor Commented:
Thanks very much, and thanks to all for the helpful advice.  You've given me a lot to work with.

I appreciate it!
Alex Porter
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.