--- Z:\_Distr\_drupal\_upd\print\print_pdf\print_pdf.admin.inc	2009-10-14 00:52:30.000000000 +-0300
+++ Z:\home\druptest.ru\www\sites\all\modules\print\print_pdf\print_pdf.admin.inc	2009-12-07 17:25:01.000000000 +-0300
@@ -186,12 +186,20 @@
       '#title' => t('Font Size'),
       '#default_value' => variable_get('print_pdf_font_size', PRINT_PDF_FONT_SIZE_DEFAULT),
       '#size' => 2,
       '#maxlength' => 3,
       '#description' => t('(TCPDF only) Set the font size to be used for normal text. This is the base value for the scaling applied to other text styles.'),
     );
+    $form['settings']['print_pdf_title_max'] = array(
+      '#type' => 'textfield',
+      '#title' => t('Page title max length'),
+      '#default_value' => variable_get('print_pdf_title_max', PRINT_PDF_TITLE_MAX_DEFAULT),
+      '#size' => 2,
+      '#maxlength' => 3,
+      '#description' => t('Maximum length of page title to print.'),
+    );
     $form['settings']['print_pdf_wkhtmltopdf_options'] = array(
       '#type' => 'textfield',
       '#title' => t('wkhtmltopdf options'),
       '#default_value' => variable_get('print_pdf_wkhtmltopdf_options', PRINT_PDF_WKHTMLTOPDF_OPTIONS),
       '#description' => t('(wkhtmltopdf only) Set any additional options to be passed to the wkhtmltopdf executable. Tokens may be used in these options (see list below).'),
     );



--- Z:\_Distr\_drupal\_upd\print\print_pdf\print_pdf.install	2009-09-10 02:08:58.000000000 +-0300
+++ Z:\home\druptest.ru\www\sites\all\modules\print\print_pdf\print_pdf.install	2009-12-07 17:19:56.000000000 +-0300
@@ -39,12 +39,13 @@
   variable_del('print_pdf_link_text');
   variable_del('print_pdf_link_use_alias');
   variable_del('print_pdf_filename');
   variable_del('print_pdf_wkhtmltopdf_xdisplay');
   variable_del('print_pdf_wkhtmltopdf_options');
   variable_del('print_pdf_xvfb_options');
+  variable_del('print_pdf_title_max');
   $settings = db_query("SELECT name FROM {variable} WHERE name LIKE 'print\_pdf\_display\_%'");
   while ($variable = db_fetch_object($settings)) {
     variable_del($variable->name);
   }
 }
 
@@ -129,12 +130,13 @@
     variable_set('print_pdf_sys_link_pages', $print_pdf_settings['sys_link_pages']);
     variable_set('print_pdf_book_link', $print_pdf_settings['book_link']);
     variable_set('print_pdf_pdf_tool', $print_pdf_settings['pdf_tool']);
     variable_set('print_pdf_content_disposition', $print_pdf_settings['content_disposition']);
     variable_set('print_pdf_paper_size', $print_pdf_settings['paper_size']);
     variable_set('print_pdf_page_orientation', $print_pdf_settings['page_orientation']);
+    variable_set('print_pdf_title_max', $print_pdf_settings['title_max']);
     variable_del('print_pdf_settings');
   }
   return $ret;
 }
 
 /**



--- Z:\_Distr\_drupal\_upd\print\print_pdf\print_pdf.module	2009-10-13 03:04:26.000000000 +-0300
+++ Z:\home\druptest.ru\www\sites\all\modules\print\print_pdf\print_pdf.module	2009-12-07 17:19:08.000000000 +-0300
@@ -31,12 +31,13 @@
 define('PRINT_PDF_FONT_FAMILY_DEFAULT', 'dejavusans');
 define('PRINT_PDF_FONT_SIZE_DEFAULT', 10);
 define('PRINT_PDF_FILENAME_DEFAULT', '[site-name] - [title] - [mod-yyyy]-[mod-mm]-[mod-dd]');
 define('PRINT_PDF_WKHTMLTOPDF_OPTIONS', "--footer-font-size 7 --footer-right '[page]'");
 define('PRINT_PDF_XVFB_OPTIONS', '');
 //  define('PRINT_PDF_XVFB_OPTIONS', ' -fp /usr/share/fonts/X11/misc/,/usr/share/fonts/X11/Type1/,/usr/share/fonts/X11/75dpi/,/usr/share/fonts/X11/100dpi/');
+define('PRINT_PDF_TITLE_MAX_DEFAULT', 66);
 
 /**
  * Implementation of hook_perm().
  */
 function print_pdf_perm() {
   return array('access PDF version');



--- Z:\_Distr\_drupal\_upd\print\print_pdf\print_pdf.pages.inc	2009-10-14 00:52:30.000000000 +-0300
+++ Z:\home\druptest.ru\www\sites\all\modules\print\print_pdf\print_pdf.pages.inc	2009-12-07 17:18:51.000000000 +-0300
@@ -427,18 +427,27 @@
   if ($logo_ret) {
     $logo = trim($matches[1], '\'"');
     $size = getimagesize($logo);
     $ratio = $size ? ($size[0] / $size[1]) : 0;
   }
 
+  $maxTitle = variable_get('print_pdf_title_max', PRINT_PDF_TITLE_MAX_DEFAULT);
+  $title = html_entity_decode($tpl_title[1], ENT_QUOTES, 'UTF-8');
+  mb_internal_encoding("UTF-8");
+  if (mb_strlen($title) > $maxTitle) {
+    $title = mb_substr($title, 0, $maxTitle - 3) . '...';
+  }
+
+  $name = strip_tags($tpl_site_name[1]);
+  
   // set header font
   $pdf->setHeaderFont($font);
   // set header margin
   $pdf->SetHeaderMargin(5);
   // set header data
-  $pdf->SetHeaderData($logo, 10 * $ratio, html_entity_decode($tpl_title[1], ENT_QUOTES, 'UTF-8'), strip_tags($tpl_site_name[1]));
+  $pdf->SetHeaderData($logo, 10 * $ratio, $title, $name);
 
   return $pdf;
 }
 
 /**
  * Format the TCPDF page settings (margins, etc)
