Printing to PDF

You may print to PDF using the popular CUPS-PDF package.  This package is generally installed by your Blue Prairie Forms installation technician but in some cases, you may wish to install yourself or to upgrade the package.

As of the writing of this help page (3/1/2020), we acquire the cups-pdf package from this URL:

https://centos.pkgs.org/7/epel-x86_64/cups-pdf-2.6.1-7.el7.x86_64.rpm.html

This will lead you to the binary package (the compiled version of this driver):

http://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/c/cups-pdf-2.6.1-7.el7.x86_64.rpm

The easiest way to install the driver is to:

  1. Access the graphical console of your BP Forms Linux server
  2. Enter the above URL ending in .rpm
  3. Save the file to your browser
    1. It will download it to /root/Downloads
  4. Open a console terminal window on the BP Forms print server
  5. Install the package
    1. cd /root/Downloads
    2. rpm -ivh cups-cups-pdf-2.6.1-7.el7.x86_64.rpm
  6. The package will be installed
  7. Now open your printers GUI on the console and you should see a printer called Cups-PDF

 

Where to the PDF documents go?

By default, CUPS-PDF places PDF documents on the users desktop.  If you are root, these will be at /root/Desktop.

However, this default behavior can be modified to allow the PDF documents for all users to be sent to a folder within your bpi_forms directory back on the MultiValue server.  This is the mount that Blue Prairie Forms uses to access queues, archives, templates and other information required by the print server to perform its tasks.  Therefore, it is a handy place to write-back completed PDF documents produced by the BP Forms server.  By writing the PDFs back to the mount (which lives on the MultiValue server), programs can be easily written to allow MultiValue programs such as emailers, etc to access these PDF documents, attach them, and to perform other tasks with them.  We recommend that you create a folder on the print server at /mnt/bpi_forms/pdf.  By creating it here, it will be automatically visible on the MultiValue server at /db/accts/BPIFORMS/bpi_forms/pdf.  This is because /mnt/bpi_forms is a folder on the print server that points to the /db/accts/BPIFORMS/bpi_forms on the MultiValue server.

Note: The text highlighted in blue above may vary from server to server.  Verify that you have the correct paths on both the MultiValue server and on the Print Server before proceeding.  If your values differ, use the values appropriate for your server(s).

Note: If you created the pdf folder using the File Manager GUI on the print server, you may need to examine the ownership and permissions of that folder back on the MultiValue server.  Ideally, it would be owned by your database administrator with group ownership of your database user group.  Basically, it should match the ownership and permission of the other folders in the BPIFORMS account.  You can use the file manager GUI on the MultiValue server to review these settings or your can use normal UNIX admin commands.

 

Modifying the destination folder where PDFs will be written

  • Access the GUI console on the print server
  • Open the 'File Manager' Utility
  • Click on "Other Locations" in the left pane
  • Choose "Computer"
  • Choose "etc"
  • Choose "cups"
  • Right-Click on cups-pdf.conf then choose "copy"
  • Right-Click anywhere in the whitespace in that directory and choose "paste".  This will create a backup copy of your cups-pdf.conf file in case you make any mistakes
  • Right-Click on cups-pdf.conf then choose "edit with text editor"
    • The document will be loaded into a text editor
  • Locate the section of text that looks like this:

Before:

### Key: Out
##  CUPS-PDF output directory
##  special qualifiers:
##     ${HOME} will be expanded to the user's home directory
##     ${USER} will be expanded to the user name
##  Add for Fedora (see ~/.config/user-dirs.dirs)
##     ${DESKTOP} will be expanded to the user's desktop directory
##  in case it is an NFS export make sure it is exported without
##  root_squash!
### Default: /var/spool/cups-pdf/${USER}

#Out /var/spool/cups-pdf/${USER}
Out ${DESKTOP}
  • modify the line above starting with "Out" so that this block of text reads thusly:

After

### Key: Out
##  CUPS-PDF output directory
##  special qualifiers:
##     ${HOME} will be expanded to the user's home directory
##     ${USER} will be expanded to the user name
##  Add for Fedora (see ~/.config/user-dirs.dirs)
##     ${DESKTOP} will be expanded to the user's desktop directory
##  in case it is an NFS export make sure it is exported without
##  root_squash!
### Default: /var/spool/cups-pdf/${USER}

#Out /var/spool/cups-pdf/${USER}
Out /mnt/bpi_forms/pdf
  • Save the cups-pdf.conf file

Verify that PDFs are landing properly in the /mnt/bpi_forms/pdf folder

  • Open the Print Settings GUI on the print server console
  • Click on the Cups-PDF printer (or other PDF printer if you have named it something else)
  • Choose "Print Test Page" from the printer properties
  • Use the File Manager GUI on the print server
  • Navigate to /mnt/bpi_forms/pdf
  • Verify that your test page is there

Congratulations, you can now drop rendered PDFs back onto your MultiValue server!