title: Variable Data Intelligent Postscript Printware
text: # Variable Data Intelligent Postscript Printware
  
  Variable Data Intelligent Postscript Printware is an open language from Xerox that enables highest-performance output of variable-data PostScript documents. It is used by the FreeFlow VI Suite (VIPP) front end.
  
  ## Origins
  
  VIPP was originally called XGF and it is simply groups of PostScript dictionaries which provide macros that simplify writing of complex PostScript commands. PostScript is powerful language which allows variable data printing and personalization of the data stream with the right commands. To implement some of these features a programmer has to write a few, or sometimes many, lines of code. Xerox developed macro procedures in PostScript language dictionaries to make page control easier.
  
  For example, to merge a graphic form with the data stream requires an understanding of PostScript commands according to the Adobe PostScript Language Reference Manual (PLRM, otherwise known as the "Red book"). Xerox gives you this feature through this simple command "(formname) SETFORM", where formname is the name of the form accessible from the Xerox printer controller (DocuSP or FreeFlow Print Server). Several VIPP commands are identical to PostScript commands.
  
  VIPP was originally written by couple of Xerox systems Analysts in Switzerland to enable the highest speed Postscript printers, at that time 50 pages per minute, to have the features of Xerox's proprietary production printing languages PDL and FDL which provide simple variable data printing. Xerox Corporation adopted the idea and developed their work by putting these procedures on Sun Microsystems hosts where the Adobe interpreter also resides. Together, these modules give complete control over the printing engine and data stream.
  
  ## Operation
  
  VIPP can be used in four different modes: Database mode, Line mode, XML mode and Native mode. In Database mode, the programmer can quickly implement a printing solution, for example a billing application, for a delimited database file. In Line mode, an existing print application can be enhanced with form overlays, font selection, color and other features offered by modern laser printers. In XML mode, an XML file can be turned into a readable document. In all modes, VIPP offers conditional logic manipulation of the data.
  
  For example, a multi-page bill could be printed in duplex (two-sided) mode with the first page selected from a paper tray loaded with a perforated sheet for remittance return, and the back side printed with disclosures and instructions, while subsequent pages of billing detail are printed on plain paper. The VIPP programmer might even insert an OCR or MICR line for remittance processing, complete with a check digit.
  
  Xerox markets an Interactive Development Environment for VIPP called FreeFlow VI Designer. and FreeFlow VIPP Pro Publisher. These help a programmer code applications rapidly in VIPP. FreeFlow VIPP Pro Publisher is a plugin to the popular Adobe InDesign product enabling WYSIWYG VIPP development.
  
  ## Licensing
  
  VIPP is licensed to specific printer controllers running a Solaris or Microsoft Windows operating system, including some PostScript capable office devices that have non-volatile memory (such as a hard disk). VIPP is capable of being installed on any device which has a PostScript interpreter. FreeFlow Print Server (FFPS), formerly DocuSP is VIPP enabled but is limited in producing up to 200 pages until appropriately licensed.
  
  