Index: INSTALL.txt
===================================================================
--- INSTALL.txt	(revision 1755)
+++ INSTALL.txt	(working copy)
@@ -60,7 +60,25 @@
   framebuffer server: Xvfb. Place the Xvfb binary or a symbolic link to it
   in the print module lib directory (usually sites/all/modules/print/lib).
   4. Check http://code.google.com/p/wkhtmltopdf/ for further information.
+  
+  
+princexml support:
 
+  1. Download princexml from
+  http://www.princexml.com/download/
+  2. Install the prince executable on your server.
+  Note: If you are using windows, don't install prince in a folder with spaces, it
+  won't work, use "C:\Prince\" instead. If you have safe_mode enabled, place the
+  binary in the safe_mode binary folder. 
+  3. Download php wrapper class from
+  http://www.princexml.com/download/accessories/
+  4. Copy prince.php to sites/all/modules/print/lib/prince or sites/all/libraries
+  5. Set the path to the binary int the PDF settings
+  6. All settings to the pdf output can be made via CSS Style sheet. See f.ex.
+  http://www.princexml.com/doc/7.0/page-size/
+  
+    
+
 UPDATE
 ------
 
Index: print_pdf/print_pdf.admin.inc
===================================================================
--- print_pdf/print_pdf.admin.inc	(revision 1755)
+++ print_pdf/print_pdf.admin.inc	(working copy)
@@ -206,6 +206,16 @@
       '#description' => t('(wkhtmltopdf only) Set any additional options to be passed to the Xvfb executable.'),
     );
 
+   $form['settings']['print_pdf_prince_binary'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Path of the prince binary'),
+      '#size' => 60,
+      '#maxlength' => 250,
+      '#default_value' => variable_get('print_pdf_prince_binary', ''),
+      '#description' => t('(princexml only) Set the path of the prince executable.'),
+    );
+    
+    
     if (module_exists('token')) {
       $form['settings']['print_pdf_filename'] = array(
         '#type' => 'textfield',
@@ -263,11 +273,13 @@
  */
 function _print_pdf_tools() {
   $tools = array_keys(file_scan_directory(drupal_get_path('module', 'print'), '^dompdf_config.inc.php$'));
+  $tools = array_merge($tools, array_keys(file_scan_directory(drupal_get_path('module', 'print'), '^prince.php$')));
   $tools = array_merge($tools, array_keys(file_scan_directory(drupal_get_path('module', 'print'), '^tcpdf.php$')));
   $tools = array_merge($tools, array_keys(file_scan_directory(drupal_get_path('module', 'print'), '^wkhtmltopdf')));
   $tools = array_merge($tools, array_keys(file_scan_directory(PRINT_PDF_LIB_PATH, '^dompdf_config.inc.php$')));
   $tools = array_merge($tools, array_keys(file_scan_directory(PRINT_PDF_LIB_PATH, '^tcpdf.php$')));
   $tools = array_merge($tools, array_keys(file_scan_directory(PRINT_PDF_LIB_PATH, '^wkhtmltopdf$')));
+  $tools = array_merge($tools, array_keys(file_scan_directory(PRINT_PDF_LIB_PATH, '^prince.php$')));
 
   $num_tools = count($tools);
 
Index: print_pdf/print_pdf.pages.inc
===================================================================
--- print_pdf/print_pdf.pages.inc	(revision 1755)
+++ print_pdf/print_pdf.pages.inc	(working copy)
@@ -91,6 +91,9 @@
   elseif (substr(basename($print_pdf_pdf_tool, '.exe'), 0, 11) == 'wkhtmltopdf') {
     _print_pdf_wkhtmltopdf($print, $html, $pdf_filename);
   }
+  elseif (basename($print_pdf_pdf_tool) == 'prince.php') {
+    _print_pdf_princepdf($print, $html, $pdf_filename);
+  }
   else {
     return drupal_not_found();
   }
@@ -105,6 +108,35 @@
 }
 
 /**
+ * Generate the PDF file using the prince library
+ *
+ * @param $print
+ *   array containing the configured data
+ * @param $html
+ *   contents of the post-processed template already with the node data
+ * @param $filename
+ *   name of the PDF file to be generated
+ * @see print_pdf_controller()
+ */
+function _print_pdf_princepdf($print, $html, $filename) {
+  $print_pdf_pdf_tool = variable_get('print_pdf_pdf_tool', PRINT_PDF_PDF_TOOL_DEFAULT);
+  $print_pdf_prince_binary = variable_get('print_pdf_prince_binary', '');
+  require_once($print_pdf_pdf_tool);
+
+  //Load the wrapper class
+  $prince = new Prince($print_pdf_prince_binary);
+  $prince->setHTML(true);
+  //Enable debugging
+  //$prince->setLog("log.txt");
+
+  header('Content-Type: application/pdf');
+  header('Content-Disposition: inline; filename="'. $filename .'"');
+  $prince->convert_string_to_passthru($html);
+
+}
+
+
+/**
  * Generate the PDF file using the dompdf library
  *
  * @param $print