]> wagnertech.de Git - kivitendo-erp.git/blobdiff - modules/override/PDF/Table.pm
Whitespace in Kontennamen filtern
[kivitendo-erp.git] / modules / override / PDF / Table.pm
index fd83d04382a1a6e9a7509638e4db4a7d1f8d126c..3160b29dd584f2adb1ae3f8eb872d5425593012b 100644 (file)
@@ -129,8 +129,8 @@ sub text_block
     # Check if any text to display
     unless( defined( $text) and length($text) > 0 )
     {
-        carp "Warning: No input text found. Trying to add dummy '-' and not to break everything.\n";
-        $text = '-';
+        carp "Warning: No input text found. Trying to add dummy '-' and not to break everything.\n";
+        $text = ' ';
     }
 
     # Strip any <CR> and Split the text into paragraphs
@@ -491,8 +491,12 @@ sub table
                 $rows_height->[$row_idx] = $cell_font_size;
             }
 
+            if (!defined $data->[$row_idx][$column_idx]) {
+              $data->[$row_idx][$column_idx] = ' ';
+            }
+
             # This should fix a bug with very long words like serial numbers etc.
-            if( $max_word_len > 0 )
+            if( $max_word_len > 0 && $data->[$row_idx][$column_idx])
             {
                 $data->[$row_idx][$column_idx] =~ s#(\S{$max_word_len})(?=\S)#$1 #g;
             }
@@ -584,11 +588,9 @@ sub table
 
             if( ref $header_props and $header_props->{'repeat'})
             {
-                for my $idx (0 .. $header_props->{num_header_rows} - 1) {
-                  unshift @$data,           [ @{ $header_rows[$idx]      } ];
-                  unshift @$row_col_widths, [ @{ $header_row_widths[$idx] } ];
-                  unshift @$rows_height,    $header_row_heights[$idx];
-                }
+                unshift @$data,           @header_rows;
+                unshift @$row_col_widths, @header_row_widths;
+                unshift @$rows_height,    @header_row_heights;
                 $remaining_header_rows = $header_props->{num_header_rows};
             }
         }
@@ -650,7 +652,7 @@ sub table
             # Added to resolve infite loop bug with returned undef values
             for(my $d = 0; $d < scalar(@{$record}) ; $d++)
             { 
-                $record->[$d] = '-' unless( defined $record->[$d]); 
+                $record->[$d] = ' ' unless( defined $record->[$d]);
             }
 
             # Choose colors for this row