I use to wonder if I can create a PDF file without spending too
much money on the Adobe software. Also, many people have asked me how to
do it and I couldn't answer them. After having done some research
and some experiments myself, I came
up with this trick, which will allow us to virtually convert any printable
file into a PDF file.
Adobe Acrobat Reader (Although you can use GSview
to view a PDF file, the display quality of the document viewed by Acrobat
Reader is much better.)
The Principle
Create a postscript file from the document you want to convert.
(Print the document we want to convert through a postscript printer driver
to a file.)
Convert the postscript file to a pdf file through pdfwrite device from Ghostscript.
Preparation
Install a Postscript Printer Driver
Unless you already have a postscript printer driver installed, follow
these instructions. Even if you already have one, you may add another one for
pdf purpose only. You don't need to have the actual printer.
Click Start -> Settings->Printers or double click
My
Computer->Printer. Then your printer folder will show up.
Double click Add Printer
In Windows 98, Add Printer Wizard window will pop up. (Windows 95
should have something similar.) Click Next.
Choose Local printer. Click Next.
Choose a postscript printer driver. How? Choose one with "PS"
or "PostScript" attached to its name. It is a good idea to
choose a color postscript printer because you might want to make a colorful
PDF file. For example, HP PaintJet XL300 Postscript will do the
job. I myself use to use Tektronix Phaser 220i. (There is no "PS" or "PostScript"
in it, but this driver helped me first discover how to make postscript
files from windows applications; however, the unprintable area for
printer is quite large.)
However, I recommend Tektronix Phaser 300i.
It doesn't have a large unprintable area like Tektronix Phaser 220i does.
Moreover, it doesn't have the color changed problem like HP PaintJet XL300 Phostscript does . Update: Stephen has reported that
HP Laserjet 8150 PS driver gives even better results. Read his suggestion in my guestbook (the third entry). I haven't tried that driver that myself.
Click Next
Choose a printer port. (I recommend FILE but LPT1 is OK.)
Name your printer and decide if you want it to be your default printer.
Click Next.
Choose NO for printing a test page because you don't really have
one. :)
Click Next and you will be prompted to insert your Windows 98/95
CD-ROM.
Viola! You got yourself a new printer driver. Now look at your printer
folder. Right click on your new printer and choose properties.
Click Paper tab and choose Letter unless your standard paper
is different.
Click PostScript Tab. In the PostScript output format
box, choose PostScript(optimize for portability - ADSC). Note:
you can also create an EPS file by choosing Encapsulated PostScript
(EPS). This file can be used as an image in LaTeX.
That's all you need to setup the printer driver. However, you can experiment
with other options and see what the output will come out. Click OK
when you're done.
Download gsvXXw32.exe (for GSview) and gsXXXw32.exe (for
Ghostscript) from the site.
Install both of them. (It doesn't matter which one is installed first.)
Open GSview and you will be prompted to choose a version of Ghostscript.
Install Adobe Acrobat Reader
Obtain a Adobe Acrobat Reader from Adobe
web site then follow the installation instructions.
Ready to Rock
Now you are ready to create a PDF file. Remember, the
principle is Document file->Postscript file->PDF file.
Create a postscript file from the document. I will show you by example.
Suppose you want to create a postscript file from a word document created
by MS Word. (Other applications should follow the same pattern.)
Open the document with MS Word.
Click File->Print from MS Word menu panel.
In the Printer Name box, choose the printer you have just installed.
(e.g. Tektronix Phaser 300i )
Check Print to file box. (If you choose FILE as your printer port, this step is not necessary.)
Click OK. Then you will be prompted to name your postscript file.
Click OK to save your postscript file.
Now you have a postscript file but the file extension is .prn. You
might want to change it to .ps. If your Windows doesn't show the
file extension, you may do so by opening Start->Windows Explorer.
Choose View->Folder Options. Click View tab and uncheck
Hide
file extensions for known file types.
Create a PDF file from the postscript file.
Double click your .ps file. GSview will pop up with your
postscript file open.
Click File->Convert from GSview menu panel.
Under Device box, choose pdfwrite. Select the Resolution
you want. (Normally larger resolution means larger file and better quality.)
Select the pages you want to print. The option Shrink to fit Page Size from the drop-down menu might be useful sometimes. If you like, you may experiment with the properties of pdfwrite. Then click OK.
You will be prompted to name your PDF file. Write your file name
with .pdf extension. (e.g. mydoc.pdf) Click Save and
we're done.
Examples
Example pdf files created using this method are
ghoststory.pdf(45 KB) and cactustek300i.pdf(346 KB). Other examples (mostly in Thai language) can be found here.
Tips
You can make smaller and sharper PDF files if you use standard fonts (e.g. Times,Courier, Arial/Helvetica) in your document because those fonts are "built-in" in the reader so the program won't encode the fonts into the PDF files.
Some people have reported that the printer drivers Apple Color LW 12/660 and HP Laserjet 8150 PS give even better results.
Possible Problems
Our readers have reported some problems using this method:
Printer drivers are tied to the physical capabilities of the real printers. For example Tektronix Phaser 220i can't print beyond a certain boundary so you may not create a PDF file beyond that boundary using that printer driver. Some printers won't print color when the paper is large so you can't create a color PDF file using those printer drivers if you choose large paper.
Some advanced features such as hyper links are not supported by this method.
If you use HP PaintJet XL300 Phostscript with
your MS document that contains non-vector graphic pictures
(e.g. jpgs or gifs), you might experience color changed in the graphic. (See
cactushp.pdf (414 KB).)
I suggest using Tektronix Phaser 300i instead. The "Tektronix Phaser 300i" version of cactushp.pdf is cactustek300i.pdf(346 KB).
There was a report that this method (or just the printer Tektronix Phaser 300i) doesn't work well with MS Publisher. For examples, some photo and text box are missing in the pdf file. And the pdf file contains only the first page while the original document has more than one page. If you don't have that problem or if you can fix the problem, please describe how you do it in
my forum. Thanks a bunch.
Alternative Method
Doug emailed me about an alternative method using RedMon (Redirection Port Monitor). It looks very interesting. (Thanks, Doug!). Here is what he said:
If you want to print directly from Word (or
some other application) to a PDF file without having to go through the
extra steps of creating the PS file then running GSview to convert the
file, here is an alternative that I use...
I have set up an 'Apple
Color Laserwriter 12/600' print driver, but I'm using a program called
RedMon to create a virtual printer port that redirects to the ghostscript
program. The RedMon program then runs the appropriate ghostscript options
to convert the print job to PDF. So I end up with a Doc -> PDF with no
intermediary steps -- I print to the new printer and a standard dialog
pops up for me to enter the filename for the PDF file.
One minor
problem is that I can only write the PDF files to local drives --
attempting to write to networked drives fails. However, this might be a
limitation of the version of RedMon I'm using (v1.5, but v1.7 is the
current version).
The home page for the RedMon (Redirection Port
Monitor) software is at:
As the documentation states, it's not a trivial
configuration, but once it's set up, it works quite well. If you have any
questions, feel free to email
me.
Doug
For any comments, please sign my guestbook.
If you have any suggestion or any question or any problem report, please go to
my forum. Feel free to answer any question if you know the answer. I'm not an expert in this area myself, so your answer might help me learn more too.