The innovative PDF HandShake "PDF Internet Printing" feature supports remote delivery and printing of PDF documents over the Internet, allowing easy transfers using any web browser. A simple web interface handles: user authorization, PDF job delivery, customizable print parameters, PDF preflight, remote notification, plus printing/archiving of PDF print jobs that can be used by every authorized Internet user.
And with the PDF HandShake built-in ColorSync/ICC based color and font management, users can benefit from professional high-quality printing of PDF documents as separations, composite, or even as proof simulations.
Print houses and copy shops alike can give customers a hassle-free solution for remote delivery of their print jobs like color proofs, poster prints, forms or copy jobs. Easy to set up and use, "PDF Internet Printing" provides e-mail notification about newly arrived documents. Implemented as a Perl script, the cgi-program is fully customizable, enabling print houses and copy shops to brand the interface with banners, logos, advertisements, for custom order information, credit card, and database connections. A UNIX server running Apache, either an EtherShare, PCShare, or WebShare license and PDF HandShake is all that is required (IP connection must be purchased separately).
Fig.
50 shows a typical "PDF Internet Printing" workflow from the PDF file on the customer site to the printout on the production site:
From the client workstation the PDF document is sent via the Internet to the server machine at the printer site. The print server then spools and processes the job and outputs it on a digital printer or an imagesetter.
Fig. 50: Typical "PDF Internet Printing" workflow
|
To benefit from the "PDF Internet Printing" feature the following setup is required:
- A UNIX server running either EtherShare UB, PCShare UB, or WebShare UB
- The programming language Perl (www.perl.org) must be installed on the UNIX server
- An Apache web server (www.apache.org) must be installed on the UNIX server
Note: Mac OS X and Linux already include the Apache web server and Perl programming language module. If you are using another UNIX server, e.g. Solaris, make sure that these two modules are installed. Otherwise you have to install them manually prior to the "PDF Internet Printing" installation.
In order to install "PDF Internet Printing", the "webinstall" script in "HELIOSDIR/sbin/" must-
- -copy a cgi-script and icons from the "HELIOSDIR" directory to the appropriate Apache directories
- -create the four configuration files in
"HELIOSDIR/var/conf"
Note: For the installation of the "PDF Internet Printing" software you must log in as "root" on the server.
13.3.1 Installation with the "webinstall" script
In "HELIOSDIR/sbin/" type
./webinstall and press RETURN.
Installing PDF Internet Printing on host ankh ...
The PDF Internet Printing installation needs to know where the Perl binary is installed on this system.
Specify the location where the Perl binary is installed.
* Location of Perl (q to quit) [/usr/bin/perl]:
The PDF Internet Printing installation needs to know where the Apache Web Server daemon is installed on this system.
Now enter the path to the Apache web server daemon.
* Location of apache (q to quit)
[/usr/sbin/httpd]:
Where do you want to install the cgi-script pdfweb.cgi?
NOTE: Installing the script in any other than the default location can make changes in the Apache configuration file necessary.
Specify the path to the "pdfweb.cgi" script.
* Directory to install pdfweb.cgi (q to quit) [/Library/WebServer/CGI-Executables/]:
Where do you want to install the icons needed by pdfweb.cgi?
NOTE: Installing the icons in any other than the default location can make changes in the Apache configuration file necessary.
Specify the path to the location of the icons needed by the "pdfweb.cgi" script.
* Location to install icons (q to quit) [/usr/share/httpd/icons/]:
Now the installation of the "PDF Internet Printing" program can be started:
Type
y if you want to start the installation, or
q (for "quit") if you want to quit the installation process.
* OK to start installation [y]:
Installing cgi-script in /Library/WebServer/CGI-Executables/ ...
Copying icons to /usr/share/httpd/icons/ ...
If you install "PDF Internet Printing" for the first time, default configuration files will now be generated:
Creating configuration file /usr/local/helios/var/conf
/pdfweb.conf ...
Enter the path to the directory where uploaded PDF files will be stored.
* Directory for uploading print jobs (q to quit) [/var/spool/pdfweb]:
* OK to create '/var/spool/pdfweb' [y]:
If mail notification about spooled print jobs is desired for the "PDF Internet Printing" administrator, enter the e-mail address. If you do not want to be notified leave it blank.
* Email address of PDF Internet Printing administrator []: joe@helios.de
To allow easy access to uploaded PDF files you can create a HELIOS volume for the upload directory. Type
y if you want a HELIOS volume to be created, or
n if not.
* OK to create HELIOS volume for /var/spool/pdfweb [y]:
Creating configuration file /usr/local/helios/var/conf
/pdfweb.passwd ...
Everyone who wants to use "PDF Internet Printing" needs a user name and a password in "pdfweb.passwd". Type
y if you want to create an initial entry with the user name "webuser" (
n if not). You can change the settings anytime in HELIOS Admin.
* OK to create demo user 'webuser' [y]:
Specify a password for "webuser".
* Password for 'webuser' []: demo
Creating configuration file /usr/local/helios/var/conf
/pdfweb.notify ...
Creating configuration file /usr/local/helios/var/conf
/pdfweb.printers ...
Certain users can use certain printer queues according to the entries in "pdfweb.printers". Type
y if you want to make all printer queues available to all users, or
n if not. However, you can change the settings anytime in HELIOS Admin.
* OK to make all printers available to all users [y]:
Installation completed successfully.
Later changes to the configuration should be applied through HELIOS Admin (see
13.6 "Configuration Files"). In particular, you may wish to restrict the list of printer queues available to "PDF Internet Printing".
13.3.2 Verifying the installation
There are some steps you should take in order to verify that the installation of "PDF Internet Printing" was successful:
In your browser enter the URL
http://<hostname>/cgi-bin/pdfweb.cgi
If this is successful, everything should work fine.
If it is not, try
http://<DNS name>/cgi-bin/pdfweb.cgi
If this fails, try
http://<IP address>/cgi-bin/pdfweb.cgi
Example:
http://172.16.0.8/cgi-bin/pdfweb.cgi
If you are successful with using the IP address in the URL but not with "hostname" or "DNS name", the installation of "PDF Internet Printing" was successful and you may have a DNS configuration problem.
In the next step prove that the Apache web server (Port 80) can be reached from outside, e.g. via the HELIOS "socket" utility:
outsidehost$ socket myserver.com 80
Trying...
Connected to 172.16.0.8.
If this returns an unknown host, try the IP address:
outsidehost$ socket 172.16.0.8 80
Trying...
Connected to 172.16.0.8.
If this also fails, try (directly on the Apache server):
$ socket localhost 80
Trying 127.0.0.1...
Connected to localhost.
Note: The host names and IP-addresses in the above given excerpts are just examples!
If the measures described above do not work, you should verify that the Apache server is up and running at all. For these purposes, get a listing of the Apache-related processes on the web server in question.
(Our example shows a process listing on Mac OS X; note that other platforms may require different commands!)
$ ps ax | grep httpd
454 ?? Ss 0:17.37 /usr/sbin/httpd
462 ?? S 0:00.03 /usr/sbin/httpd
26958 ?? S 0:00.02 /usr/sbin/httpd
27027 ?? S 0:00.01 /usr/sbin/httpd
If the process listing shows
/usr/sbin/httpd entries, your Apache web server is up and running.
You may additionally wish to inspect the Apache web server log files "access_log" and "error_log".
(Our example shows the path to the "httpd" log files on Mac OS X; note that other platforms may use different paths!):
$ more /var/log/httpd/access_log
192.168.10.38 - - [12/Oct/2003:15:44:21 +0200]
"GET /cgi-bin/pdfweb.cgi HTTP/1.1
" 200 829
192.168.10.38 - - [12/Oct/2003:15:44:21 +0200]
"GET /icons/pdfweb.login.gif HTTP
/1.1" 200 12088
$ more /var/log/httpd/error_log
Processing config directory: /private/etc/httpd/users
Processing config file: /private/etc/httpd/users/helios.conf
[Wed Oct 8 08:40:27 2003] [warn] module mod_WebObjects.c is already added, skipping
[Wed Oct 8 08:40:27 2003] [notice] Apache/1.3.27 (Darwin) configured -- resuming normal operations
[Wed Oct 8 08:40:27 2003] [notice] Accept mutex: flock (Default: flock)
13.4 Uninstalling "PDF Internet Printing"
If you wish to uninstall the "PDF Internet Printing" software from the server, e.g. in order to remove the cgi-script and the icons from the Apache directory and erase the "crontab" entry, call the "webinstall" script with the
-u ("uninstall") option from a UNIX shell:
In "HELIOSDIR/sbin/" type
$ ./webinstall -u and press RETURN.
A listing of the files and entries which are being removed is displayed:
Removing pdfweb.cgi from /Library/WebServer/CGI-Executables/ ...
Removing icons from /usr/share/httpd/icons/ ...
rm: /usr/share/httpd/icons//pdfweb.colorsetup.gif
rm: /usr/share/httpd/icons//pdfweb.error.gif
rm: /usr/share/httpd/icons//pdfweb.help.gif
rm: /usr/share/httpd/icons//pdfweb.login.gif
rm: /usr/share/httpd/icons//pdfweb.printjob.gif
rm: /usr/share/httpd/icons//pdfweb.printq.gif
rm: /usr/share/httpd/icons//pdfweb.upload.gif
Now the "PDF Internet Printing" software is removed from the server.
13.5 Using "PDF Internet Printing"
Printing PDF jobs over the Internet is quite easy with "PDF Internet Printing" and requires just four steps to be taken:
In your browser, enter the URL of the "PDF Internet Printing" server.
The dialog window "Step 1 - Login" (Fig.
51) appears. You may wish to replace the HELIOS company banner, which is shown in this example, with your company banner. Find instructions in
13.7.3 "Customize banners".
Fig. 51: Step 1 - "Login" dialog
|
Enter
User name and
Password in the provided fields and click on the
Log in >> button.
The dialog "Step 2 - Upload PDF Job" opens (Fig.
52). In this, the PDF print job and the printer queue must be specified as well as - if desired - color profiles, comments, and an e-mail address for notification when the print job has been spooled.
Note: The procedure of entering print settings in the dialogs "Step 2" to "Step 4" is almost the same as that described in 8.2 "Printing PDF files using the Acrobat plug-in"
In the
PDF Document field use the
Browse- button to select the PDF document you want to print.
Fig. 52: Step 2 - "Upload PDF Job" dialog
|
Select source profiles for the PDF print job in the
RGB profile and
CMYK profile fields. Choose a printer queue from the
Printer pop-up menu. Additionally, you may wish to be informed as soon as the print job has been spooled on the server. In this case, enter a valid e-mail address in the provided field. If you wish to attach any comments to your print job for the "Operator", use the
Comment text box and specify an addressee in the
Notify when print job is queued box.
If the PDF file is already supplied with source ICC profile information, this is used as input profile. If no source profiles are provided, the CMYK/RGB data of the PDF file will be printed using server default profiles (see
5.2.1 "Server-wide settings for PDF").
Note: Profiles that have been selected in the "Step 2 - Upload PDF Job" dialog will override the server defaults.
The output profiles are associated with each printer queue and can be configured by the Printer/System Administrator only. To set default output profiles, see
5.2.2 "Printer queue settings for PDF".
Click on
Upload Files >> when you have completed all entries to proceed with the job options configuration.
Note: Please note that uploading the PDF documents may take some time (depending on the browser used, there might be no feedback from the server until the upload is complete). If you are in doubt you should try with a small file first.
Once the PDF file has been uploaded to the server, it will be checked for missing fonts and images. If problems are detected, the user will be advised, as shown in Fig.
53.
Fig. 53: "Problem" dialog
|
The dialog "Step 3 - Job Options" (Fig.
54) is a combined "Page Setup/Print" dialog:
Fig. 54: Step 3 - "Job Options" dialog
|
In the first section of the dialog, you can specify the number of copies, the page range you want to print, the orientation (
Portrait,
Landscape), and whether you want to flip the pages. For your information, the uploaded print job and the selected queue are stated in the dialog window, beneath the banner.
From the
Paper size pop-up menu you can choose one of the printer's paper sizes, the
(PDF Page Size) or
Custom.
Custom must be selected if you want to enter individual values in the
Height and
Width text fields. Dimension units can be displayed either in
Inch or
cm. Note that if you print with custom values these values will be saved. They will be available the next time you open the dialog. The
Paper Size pop-up menu contains the entry
(PDF Page Size). This entry can be selected to make sure that the pages in the PostScript file are exactly as large as the PDF pages in the document. If you choose
(PDF Page Size), the
Orientation and
Center/Shrink To Fit options will be disabled.
The
Offset value defines the distance from the left boundary of the print medium, e.g. a film on an imagesetter, to the left page boundary of the document, and is used to shift the whole page in X-direction. The
Offset value will not be added to the page width. If your width is e.g. 15 cm, it will still be 15 cm after specifying an offset of e.g. 1 cm. In that case, the document page must fit on the remaining 14 cm. This parameter is ignored by most standard desktop printers.
The
Gap value defines the length of the form feed at the end of the page. This distance will be added to the page height. This parameter is recognized by desktop printers as well.
Center/shrink to fit can be selected to fit your document pages on the selected paper size. Likewise, if you specify an
Input tray, keep in mind that the selected paper size must be valid for this particular tray.
From
the
Halftone pop-up menu you can select global halftone settings. These settings will be used for all elements in the PDF file unless you have checked
Preserve PDF Halftones (Fig.
55), and they will be used for all separation plates unless you enter individual values for a specific plate.
When you have completed all entries click on
Next >> to proceed with the color setup.
Fig. 55: Step 4 - "Color Setup" dialog
|
The dialog "Step 4 - Color Setup" (Fig.
55) allows you to specify options regarding separation printing, color conversion, PDF halftone preservation, etc.
Print separations Generate a separated output of the document. Individual plate settings can then be specified.
Spot To Process Convert all spot colors into process colors. The process color space depends on the printer profile that has been defined for your current printer queue and can be either CMYK or RGB. By default, the spot colors are converted into CMYK.
Overprint black Whenever the color "Black" appears on a colored background, the background separation plate will usually show
knock outs. Setting this option will make sure that there are no knock outs on the background separation plates. "Black" will overprint the background color.
In-RIP separation If separations are selected for composite PDF documents, PDF HandShake offers two ways to separate color plates from each composite PDF page. The default host-based separation generates a monochrome PostScript page for each composite PDF page or for each separation plate. The PostScript file consisting of these monochrome pages is sent to the printer. The other method, called in-RIP separation, generates one composite PostScript page for each composite PDF page. The PostScript file consisting of these composite pages is sent to the printer, which is configured to make separations from it. The in-RIP separation option is ignored for pre-separated PDF documents. If your printer does not support in-RIP separation, it generates composite output.
Preserve PDF Halftones Use the halftone information that is contained in a PDF file. A PDF file can contain halftone information for single elements, or for all elements. With this option, the available halftone information will be used. Otherwise, all halftone information in the PDF file will be ignored. Please note that it depends on the Distiller job options whether a PDF file contains any halftone information at all.
Negative Print the whole document. Usually this function is only applied when printing separations.
Print registration marks Registration marks are printed, and the document pages will be re-adjusted on the output medium so that the registration marks will fit in the bottom left corner. This could lead to cropping of the upper and right part of the document if the document pages
and the registration marks do not fit on the output medium.
Having completed all entries, click
Start Print Job >> to transfer the parameters and to start printing.
Send the PDF job to the server
As soon as the print job has been sent to the server, it is listed in a status table in the "Printer Queue" dialog window (Fig.
56).
Fig. 56: "Printer Queue" dialog (spooling)
|
Print jobs in this queue, even if not sent via "PDF Internet Printing", are listed. The information provideed in the status table is the same as the one you would receive when calling the "HELIOSDIR/bin/lpq" command from a UNIX shell.
After the print job has been processed, it disappears from the status table. If it was the only print job in the queue, the table disappears altogether (Fig.
57).
Fig. 57: "Printer Queue" dialog (ready)
|
Click on
Next Print Job if you want to load up another print job on the server, or on
Log out if you want to quit.
The "Help" banner is engaged in the head of each dialog window whenever the online-help is called (Fig.
58).
If an error occurs during the printing process, e.g. due to faulty operation in the dialog windows caused by the user, a "Problem" dialog window opens with the respective banner in the head (Fig.
59).
Fig. 59: "Problem" dialog
|
"PDF Internet Printing" needs four configuration files which reside in "HELIOSDIR/var/conf" and can easily be edited in HELIOS Admin. These files contain configuration information for different tasks. The table below explains briefly what they are about.
|
|
|
|
|
Main configuration file for PDF HandShake "PDF Internet Printing"
|
|
|
This file contains all names appearing in the "Comments to" list in the "Step 2 - Upload PDF Job" dialog, together with their e-mail addresses
|
|
|
File that contains user name, password and e-mail address for all users who have access to PDF HandShake "PDF Internet Printing"
|
|
|
File that contains an individual list of printers available for each user and selectable in the "Step 2 - Upload PDF Job" dialog
|
Modifications in these files can be carried out directly on the server, e.g. with the help of a suitable editor program. However, it is much easier to use HELIOS Admin for these tasks since the files in the middle column can also be accessed from HELIOS Admin:
Open
Lists > PDF Internet Printing in HELIOS Admin (Fig.
60) and select the file you wish to modify.
Fig. 60: Configuration files in HELIOS Admin
|
Close the configuration file you have modified and confirm
Save changed text? by clicking the
Yes button.
Note: If you save changes by performing Save as-, HELIOS Admin does not save the changed file to the server. Instead, the file is saved locally.
Modifications in one or more of these configuration files take effect after saving it on the server and logging in anew.
In the following, the typical content of the four configuration files is described with some examples.
13.6.1 Configuration file "pdfweb.conf"
"pdfweb.conf" is the main configuration file for "PDF Internet Printing".
iconprefix is the path by which the "pdfweb.*.gif" banner files are referenced. The "pdfweb.cgi" script will access the icons with <IMG SRC="<iconprefix>/pdfweb.*.gif" ->.
The default for
iconprefix is
/icons.
printjobsdir specifies the directory for uploaded print jobs, temporary files, etc. This parameter must specifiy an existing directory, e.g.:
printjobsdir=/var/spool/pdfweb
logfile is the name of the log file. By default, this parameter is empty, i.e. no logging takes place:
logfile=
logfile=/var/spool/pdfweb/pdfweb.log
deletefiles is a flag to delete the PDF document and ICC profiles after a print job has been spooled:
Set
deletefiles=1 to delete the files.
Set
deletefiles=0 if you wish to keep all files.
If this parameter is not specified the PDF document and the ICC profiles are not deleted.
deletefilesafter defines the number of days after which uploaded print jobs and temporary files are deleted. The script "HELIOSDIR/etc/pdfweb/pdfweb.daily.pl", which is run by "cron" once a day, uses this parameter.
Set
deletefilesafter=0 to keep files forever
Set
deletefilesafter=7 to remove files after 7 days
If this parameter is not specified no files are deleted by "pdfweb.daily.pl".
sendmail specifies the path to the "sendmail" program:
The default is
/usr/sbin/sendmail.
admin-email is the e-mail address of the "PDF Internet Printing" Administrator. For each printed document, a notification is sent to this address. By default, no notification is provided.
admin-email=joe@helios.de
refresh specifies the refresh rate of the "Show Print Queue" dialog in seconds.
refresh=0 means no refresh.
The default is
refresh=60.
Set
cleartextpasswd=0 to use crypted passwords.
Set
cleartextpasswd=1 to use clear text passwords
The default is
cleartextpasswd=1
deflanguage is the default language used in "pdfweb.cgi". The file "HELIOSDIR/etc/pdfweb/pdfweb_<xx>.pl" must exist, where "<xx>" is the default language. If this parameter is not specified, "en" is used as default language. See also
13.7.2 "Language support".
defunits is the default value for the
Dimension units pop-up menu in the "Step 3 - Job Options" dialog (Fig.
54). Possible values are:
If this parameter is not specified, the default unit is "cm".
13.6.2 Configuration file "pdfweb.passwd"
"pdfweb.passwd" contains user name, password, and an optional e-mail address for all users which have access to "PDF Internet Printing" .
The lines in this file have the form:
user:password:mailaddress (optional)
Entries can then be created or modified with the Apache "htpasswd" program.
cd /usr/local/helios/var/conf
/usr/local/apache/bin/htpasswd pdfweb.passwd <user>
In the following example the user is
webuser and the (uncrypted) password is
demo:
webuser:demo:webuser@helios.de
Note: If you specify an optional e-mail address in "pdfweb.passwd" this is used as the default entry in the "Step 2 - Upload PDF Job" dialog (Fig. 52).
13.6.3 Configuration file "pdfweb.printers"
The file "pdfweb.printers" contains the printer queues available for each user and displayed in the printer list in the "Step 2 - Upload PDF Job" dialog (Fig.
52).
The lines in this file have the form:
user:printer1:printer2...:printerN
printer1...printerN are the UNIX names of HELIOS printer queues.
A line beginning with
all: means that the printers specified in that line are available for all users.
The following example shows that for the user
webuser the printer queues
preview,
tcp-print, and
tek are available.
webuser:preview:tcp-print:tek
13.6.4 Configuration file "pdfweb.notify"
This file contains all names appearing in the
Comments to pop-up menu of the "Step 2 - Upload PDF Job" dialog, together with their e-mail addresses.
The lines in this file have the form:
In this example, there are two entries in the
Comments to pop-up menu:
John (Accounting):john@helios.de
Administrator:joe@helios.de
The files which are related to "PDF Internet Printing" are located in several subdirectories in "HELIOSDIR".
The installation program "webinstall" is located in the "HELIOSDIR/sbin" directory. Whenever you need to install parts of the software again, e.g. after you installed updates to "PDF Internet Printing", you must call this program.
In the "HELIOSDIR/etc/pdfweb" directory reside the
- "pdfweb.cgi" script
- "pdfweb.*.gif" files, which are used for the banners in the dialog window
- "pdfweb_<xx>.pl" files, which contain the text for the dialog windows in different languages
- "pdfweb.daily.pl" defines the time after which uploaded print jobs and temporary files are deleted.
- Perl program "pdfweb.inst.pl", which is used by "webinstall"
In the "HELIOSDIR/var/conf" directory reside the configuration files by which the "PDF HandShake Internet Printing" GUI is configured (see
13.6 "Configuration Files").
The "PDF Internet Printing" feature supports different languages in the dialog windows for user operation. The dialog language is determined in the browser's preferences. To set the language, proceed as follows:
In
Netscape Communicator, open the
Preferences- menu and choose
Languages from the category
Navigator.
In
Internet Explorer, open the
Preferences- menu and choose
Languages/Fonts from the category
Web Browser.
The language which is - hierarchically seen - on top of the list will be the browser dialog language for "PDF Internet Printing".
Select the language of your choice and move it to the top. You can also add and delete languages, or redesign their order. Then save the changes and log on to the "PDF Internet Printing" server anew. The "Step 1 - Login" dialog (Fig.
51) should now appear in the selected language, except for the buttons which are generated by the browser itself, e.g. the
Log in >> button.
The languages which are supported by "PDF Internet Printing" can be seen in the "HELIOSDIR/etc/pdfweb" directory. They have the form: "pdfweb_<xx>.pl", where "xx" represents the ISO-country code, e.g. "pdfweb_en.pl" for
English. We support the following languages:
pdfweb_de.pl (German)
pdfweb_en.pl (English)
pdfweb_fr.pl (French)
pdfweb_it.pl (Italian)
pdfweb_ja.pl (Japanese)
pdfweb_ko.pl (Korean)
pdfweb_sv.pl (Swedish)
You may wish to replace the banners in the "PDF Internet Printing" dialog windows (Fig.
51 to
59) with customized banners, e.g. of your company:
In a UNIX shell, go to the directory where the banner files were installed, e.g. "/usr/local/apache/icons" and replace the following GIF files with those of your choice.
Important: It is most important that you maintain the file names of the GIFs when you replace them with yours! This means, for example, that your personalized "login" banner must have the file name "pdfweb.login.gif"!
pdfweb.login.gif
pdfweb.upload.gif
pdfweb.printjob.gif
pdfweb.colorsetup.gif
pdfweb.printq.gif
pdfweb.help.gif (for the "Help" section)
pdfweb.error.gif (for the "Problem" section)
Important: Whenever you run "webinstall", e.g. after installing updates to "PDF Internet Printing", the banner files from e.g. "usr/local/apache/icons" will be overwritten with those of "HELIOSDIR/etc/pdfweb". This means that you need to customize your icons anew!