Revision d33ad436
Von Moritz Bunkus vor mehr als 16 Jahren hinzugefügt
SL/ReportGenerator.pm | ||
---|---|---|
9 | 9 |
|
10 | 10 |
# Cause locales.pl to parse these files: |
11 | 11 |
# parse_html_template('report_generator/html_report') |
12 |
# parse_html_template('report_generator/pdf_report') |
|
13 | 12 |
|
14 | 13 |
sub new { |
15 | 14 |
my $type = shift; |
... | ... | |
26 | 25 |
'allow_pdf_export' => 1, |
27 | 26 |
'allow_csv_export' => 1, |
28 | 27 |
'html_template' => 'report_generator/html_report', |
29 |
'pdf_template' => 'report_generator/pdf_report', |
|
30 | 28 |
'pdf_export' => { |
31 | 29 |
'paper_size' => 'a4', |
32 | 30 |
'orientation' => 'landscape', |
... | ... | |
342 | 340 |
|
343 | 341 |
my @export_variables = $self->{form}->flatten_variables(@{ $self->{export}->{variable_list} }); |
344 | 342 |
|
345 |
my $allow_pdf_export = $opts->{allow_pdf_export} && (-x $main::html2ps_bin) && (-x $main::ghostscript_bin);
|
|
343 |
my $allow_pdf_export = $opts->{allow_pdf_export}; |
|
346 | 344 |
|
347 | 345 |
eval { require PDF::API2; require PDF::Table; }; |
348 | 346 |
$allow_pdf_export |= 1 if (! $@); |
... | ... | |
602 | 600 |
return $allowed_paper_sizes{$requested_paper_size} ? $requested_paper_size : $default_paper_size; |
603 | 601 |
} |
604 | 602 |
|
605 |
sub render_pdf_with_html2ps { |
|
606 |
my $self = shift; |
|
607 |
my $variables = $self->prepare_html_content(); |
|
608 |
my $form = $self->{form}; |
|
609 |
my $myconfig = $self->{myconfig}; |
|
610 |
my $opt = $self->{options}->{pdf_export}; |
|
611 |
|
|
612 |
my $opt_number = $opt->{number} ? 'number : 1' : ''; |
|
613 |
my $opt_landscape = $opt->{orientation} eq 'landscape' ? 'landscape : 1' : ''; |
|
614 |
|
|
615 |
my $opt_paper_size = $self->verify_paper_size($opt->{paper_size}, 'a4'); |
|
616 |
|
|
617 |
my $html2ps_config = <<"END" |
|
618 |
\@html2ps { |
|
619 |
option { |
|
620 |
titlepage: 0; |
|
621 |
hyphenate: 0; |
|
622 |
colour: 1; |
|
623 |
${opt_landscape}; |
|
624 |
${opt_number}; |
|
625 |
} |
|
626 |
paper { |
|
627 |
type: ${opt_paper_size}; |
|
628 |
} |
|
629 |
break-table: 1; |
|
630 |
} |
|
631 |
|
|
632 |
\@page { |
|
633 |
margin-top: $opt->{margin_top}cm; |
|
634 |
margin-left: $opt->{margin_left}cm; |
|
635 |
margin-bottom: $opt->{margin_bottom}cm; |
|
636 |
margin-right: $opt->{margin_right}cm; |
|
637 |
} |
|
638 |
|
|
639 |
BODY { |
|
640 |
font-family: Helvetica; |
|
641 |
font-size: $opt->{font_size}pt; |
|
642 |
} |
|
643 |
|
|
644 |
END |
|
645 |
; |
|
646 |
|
|
647 |
my $printer_command; |
|
648 |
if ($opt->{print} && $opt->{printer_id}) { |
|
649 |
$form->{printer_id} = $opt->{printer_id}; |
|
650 |
$form->get_printer_code($myconfig); |
|
651 |
$printer_command = $form->{printer_command}; |
|
652 |
} |
|
653 |
|
|
654 |
my $cfg_file_name = Common::tmpname() . '-html2ps-config'; |
|
655 |
my $cfg_file = IO::File->new($cfg_file_name, 'w') || $form->error($locale->text('Could not write the html2ps config file.')); |
|
656 |
|
|
657 |
$cfg_file->print($html2ps_config); |
|
658 |
$cfg_file->close(); |
|
659 |
|
|
660 |
my $html_file_name = Common::tmpname() . '.html'; |
|
661 |
my $html_file = IO::File->new($html_file_name, 'w'); |
|
662 |
|
|
663 |
if (!$html_file) { |
|
664 |
unlink $cfg_file_name; |
|
665 |
$form->error($locale->text('Could not write the temporary HTML file.')); |
|
666 |
} |
|
667 |
|
|
668 |
$html_file->print($form->parse_html_template($self->{options}->{pdf_template}, $variables)); |
|
669 |
$html_file->close(); |
|
670 |
|
|
671 |
my $cmdline = |
|
672 |
"\"${main::html2ps_bin}\" -f \"${cfg_file_name}\" \"${html_file_name}\" | " . |
|
673 |
"\"${main::ghostscript_bin}\" -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sPAPERSIZE=${opt_paper_size} -sOutputFile=- -c .setpdfwrite -"; |
|
674 |
|
|
675 |
my $gs = IO::File->new("${cmdline} |"); |
|
676 |
if ($gs) { |
|
677 |
my $content; |
|
678 |
|
|
679 |
if (!$printer_command) { |
|
680 |
my $filename = $self->get_attachment_basename(); |
|
681 |
print qq|content-type: application/pdf\n|; |
|
682 |
print qq|content-disposition: attachment; filename=${filename}.pdf\n\n|; |
|
683 |
|
|
684 |
while (my $line = <$gs>) { |
|
685 |
print $line; |
|
686 |
} |
|
687 |
|
|
688 |
} else { |
|
689 |
while (my $line = <$gs>) { |
|
690 |
$content .= $line; |
|
691 |
} |
|
692 |
} |
|
693 |
|
|
694 |
$gs->close(); |
|
695 |
unlink $cfg_file_name, $html_file_name; |
|
696 |
|
|
697 |
if ($printer_command && $content) { |
|
698 |
$self->_print_content('printer_command' => $printer_command, |
|
699 |
'content' => $content, |
|
700 |
'copies' => $opt->{copies}); |
|
701 |
$form->{report_generator_printed} = 1; |
|
702 |
} |
|
703 |
|
|
704 |
} else { |
|
705 |
unlink $cfg_file_name, $html_file_name; |
|
706 |
$form->error($locale->text('Could not spawn html2ps or GhostScript.')); |
|
707 |
} |
|
708 |
} |
|
709 |
|
|
710 | 603 |
sub _print_content { |
711 | 604 |
my $self = shift; |
712 | 605 |
my %params = @_; |
... | ... | |
724 | 617 |
|
725 | 618 |
eval { require PDF::API2; require PDF::Table; }; |
726 | 619 |
|
727 |
if ($@) { |
|
728 |
return $self->render_pdf_with_html2ps(@_); |
|
729 |
} else { |
|
730 |
return $self->render_pdf_with_pdf_api2(@_); |
|
731 |
} |
|
620 |
return $self->render_pdf_with_pdf_api2(@_); |
|
732 | 621 |
} |
733 | 622 |
|
734 | 623 |
sub unescape_string { |
... | ... | |
943 | 832 |
|
944 | 833 |
The template to be used for HTML reports. Default is 'report_generator/html_report'. |
945 | 834 |
|
946 |
=item pdf_template |
|
947 |
|
|
948 |
The template to be used for PDF reports. Default is 'report_generator/pdf_report'. |
|
949 |
|
|
950 | 835 |
=back |
951 | 836 |
|
952 | 837 |
=head2 PDF Options |
locale/de/all | ||
---|---|---|
335 | 335 |
'Could not print dunning.' => 'Die Mahnungen konnten nicht gedruckt werden.', |
336 | 336 |
'Could not rename %s to %s. Reason: %s' => 'Die Datei "%s" konnte nicht in "%s" umbenannt werden. Grund: %s', |
337 | 337 |
'Could not spawn ghostscript.' => 'Die Anwendung "ghostscript" konnte nicht gestartet werden.', |
338 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
339 | 338 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
340 | 339 |
'Could not update prices!' => 'Preise konnten nicht aktualisiert werden!', |
341 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
342 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
343 | 340 |
'Country' => 'Land', |
344 | 341 |
'Create Buchungsgruppen' => 'Buchungsgruppe erfassen', |
345 | 342 |
'Create Chart of Accounts' => 'Kontenplan anlegen', |
locale/de/ap | ||
---|---|---|
40 | 40 |
'Confirmation' => 'Auftragsbest?tigung', |
41 | 41 |
'Contact' => 'Kontakt', |
42 | 42 |
'Continue' => 'Weiter', |
43 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
44 | 43 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
45 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
46 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
47 | 44 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
48 | 45 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
49 | 46 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/ar | ||
---|---|---|
41 | 41 |
'Confirmation' => 'Auftragsbest?tigung', |
42 | 42 |
'Contact' => 'Kontakt', |
43 | 43 |
'Continue' => 'Weiter', |
44 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
45 | 44 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
46 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
47 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
48 | 45 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
49 | 46 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
50 | 47 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/ca | ||
---|---|---|
21 | 21 |
'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Verändern der Lx-Office-Installationseinstellungen (Menüpunkte unterhalb von \'System\')', |
22 | 22 |
'Chart of Accounts' => 'Konten?bersicht', |
23 | 23 |
'Confirmation' => 'Auftragsbest?tigung', |
24 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
25 | 24 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
26 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
27 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
28 | 25 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
29 | 26 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
30 | 27 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/ct | ||
---|---|---|
24 | 24 |
'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Verändern der Lx-Office-Installationseinstellungen (Menüpunkte unterhalb von \'System\')', |
25 | 25 |
'Confirmation' => 'Auftragsbest?tigung', |
26 | 26 |
'Contact' => 'Kontakt', |
27 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
28 | 27 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
29 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
30 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
31 | 28 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
32 | 29 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
33 | 30 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/dn | ||
---|---|---|
39 | 39 |
'Continue' => 'Weiter', |
40 | 40 |
'Could not print dunning.' => 'Die Mahnungen konnten nicht gedruckt werden.', |
41 | 41 |
'Could not spawn ghostscript.' => 'Die Anwendung "ghostscript" konnte nicht gestartet werden.', |
42 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
43 | 42 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
44 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
45 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
46 | 43 |
'Country' => 'Land', |
47 | 44 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
48 | 45 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
locale/de/do | ||
---|---|---|
43 | 43 |
'Confirmation' => 'Auftragsbest?tigung', |
44 | 44 |
'Contact' => 'Kontakt', |
45 | 45 |
'Continue' => 'Weiter', |
46 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
47 | 46 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
48 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
49 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
50 | 47 |
'Country' => 'Land', |
51 | 48 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
52 | 49 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
locale/de/fu | ||
---|---|---|
19 | 19 |
'Cc' => 'Cc', |
20 | 20 |
'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Verändern der Lx-Office-Installationseinstellungen (Menüpunkte unterhalb von \'System\')', |
21 | 21 |
'Confirmation' => 'Auftragsbest?tigung', |
22 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
23 | 22 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
24 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
25 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
26 | 23 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
27 | 24 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
28 | 25 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/gl | ||
---|---|---|
43 | 43 |
'Contact' => 'Kontakt', |
44 | 44 |
'Continue' => 'Weiter', |
45 | 45 |
'Contra' => 'gegen', |
46 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
47 | 46 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
48 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
49 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
50 | 47 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
51 | 48 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
52 | 49 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/ic | ||
---|---|---|
47 | 47 |
'Confirmation' => 'Auftragsbest?tigung', |
48 | 48 |
'Contact' => 'Kontakt', |
49 | 49 |
'Continue' => 'Weiter', |
50 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
51 | 50 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
52 | 51 |
'Could not update prices!' => 'Preise konnten nicht aktualisiert werden!', |
53 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
54 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
55 | 52 |
'Country' => 'Land', |
56 | 53 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
57 | 54 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
locale/de/login | ||
---|---|---|
57 | 57 |
'Confirmation' => 'Auftragsbest?tigung', |
58 | 58 |
'Contact' => 'Kontakt', |
59 | 59 |
'Continue' => 'Weiter', |
60 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
61 | 60 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
62 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
63 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
64 | 61 |
'Country' => 'Land', |
65 | 62 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
66 | 63 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
locale/de/oe | ||
---|---|---|
53 | 53 |
'Confirmation' => 'Auftragsbest?tigung', |
54 | 54 |
'Contact' => 'Kontakt', |
55 | 55 |
'Continue' => 'Weiter', |
56 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
57 | 56 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
58 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
59 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
60 | 57 |
'Country' => 'Land', |
61 | 58 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
62 | 59 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
locale/de/projects | ||
---|---|---|
20 | 20 |
'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Verändern der Lx-Office-Installationseinstellungen (Menüpunkte unterhalb von \'System\')', |
21 | 21 |
'Confirmation' => 'Auftragsbest?tigung', |
22 | 22 |
'Contact' => 'Kontakt', |
23 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
24 | 23 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
25 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
26 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
27 | 24 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
28 | 25 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
29 | 26 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/reportgenerator | ||
---|---|---|
14 | 14 |
'Cc' => 'Cc', |
15 | 15 |
'Change Lx-Office installation settings (all menu entries beneath \'System\')' => 'Verändern der Lx-Office-Installationseinstellungen (Menüpunkte unterhalb von \'System\')', |
16 | 16 |
'Confirmation' => 'Auftragsbest?tigung', |
17 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
18 | 17 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
19 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
20 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
21 | 18 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
22 | 19 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
23 | 20 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/rp | ||
---|---|---|
37 | 37 |
'Contact' => 'Kontakt', |
38 | 38 |
'Continue' => 'Weiter', |
39 | 39 |
'Copies' => 'Kopien', |
40 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
41 | 40 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
42 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
43 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
44 | 41 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
45 | 42 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
46 | 43 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
locale/de/todo | ||
---|---|---|
56 | 56 |
'Confirmation' => 'Auftragsbest?tigung', |
57 | 57 |
'Contact' => 'Kontakt', |
58 | 58 |
'Continue' => 'Weiter', |
59 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
60 | 59 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
61 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
62 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
63 | 60 |
'Country' => 'Land', |
64 | 61 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
65 | 62 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
locale/de/wh | ||
---|---|---|
24 | 24 |
'Comment' => 'Kommentar', |
25 | 25 |
'Confirmation' => 'Auftragsbest?tigung', |
26 | 26 |
'Contact' => 'Kontakt', |
27 |
'Could not spawn html2ps or GhostScript.' => 'html2ps oder GhostScript konnte nicht gestartet werden.', |
|
28 | 27 |
'Could not spawn the printer command.' => 'Die Druckanwendung konnte nicht gestartet werden.', |
29 |
'Could not write the html2ps config file.' => 'Die temporäre html2ps-Konfigurationsdatei konnte nicht geschrieben werden.', |
|
30 |
'Could not write the temporary HTML file.' => 'Eine temporäre HTML-Datei konnte nicht geschrieben werden.', |
|
31 | 28 |
'Create and edit RFQs' => 'Lieferantenanfragen erfassen und bearbeiten', |
32 | 29 |
'Create and edit customers and vendors' => 'Kunden und Lieferanten erfassen und bearbeiten', |
33 | 30 |
'Create and edit dunnings' => 'Mahnungen erfassen und bearbeiten', |
templates/webpages/report_generator/pdf_report_de.html | ||
---|---|---|
1 |
[% USE HTML %]<html> |
|
2 |
<body> |
|
3 |
|
|
4 |
<div width="100%">[% TITLE %]</div> |
|
5 |
|
|
6 |
[%- IF TOP_INFO_TEXT %] |
|
7 |
<p>[% TOP_INFO_TEXT %]</p> |
|
8 |
[%- END %] |
|
9 |
|
|
10 |
<p> |
|
11 |
<table width="100%"> |
|
12 |
<tr> |
|
13 |
[%- FOREACH col = COLUMN_HEADERS %] |
|
14 |
<th>[% IF col.link %]<a href="[% col.link %]">[% END %][% col.text %][% IF col.link %]</a>[% END %]</th> |
|
15 |
[%- END %] |
|
16 |
</tr> |
|
17 |
|
|
18 |
[%- FOREACH row = ROWS %] |
|
19 |
<tr> |
|
20 |
[%- FOREACH col = row.COLUMNS %] |
|
21 |
<td[% IF col.align %] align="[% col.align %]"[% END %][% IF col.valign %] valign="[% col.valign %]"[% END %]> |
|
22 |
[%- FOREACH cell_row = col.CELL_ROWS %][%- cell_row.data %][%- UNLESS loop.last %]<br>[%- END %][%- END %] |
|
23 |
</td> |
|
24 |
[%- END %] |
|
25 |
</tr> |
|
26 |
[%- END %] |
|
27 |
|
|
28 |
</table> |
|
29 |
</p> |
|
30 |
|
|
31 |
[%- IF BOTTOM_INFO_TEXT %] |
|
32 |
<p>[% BOTTOM_INFO_TEXT %]</p> |
|
33 |
[%- END %] |
|
34 |
|
|
35 |
</body> |
|
36 |
</html> |
templates/webpages/report_generator/pdf_report_master.html | ||
---|---|---|
1 |
[% USE HTML %]<html> |
|
2 |
<body> |
|
3 |
|
|
4 |
<div width="100%">[% TITLE %]</div> |
|
5 |
|
|
6 |
[%- IF TOP_INFO_TEXT %] |
|
7 |
<p>[% TOP_INFO_TEXT %]</p> |
|
8 |
[%- END %] |
|
9 |
|
|
10 |
<p> |
|
11 |
<table width="100%"> |
|
12 |
<tr> |
|
13 |
[%- FOREACH col = COLUMN_HEADERS %] |
|
14 |
<th>[% IF col.link %]<a href="[% col.link %]">[% END %][% col.text %][% IF col.link %]</a>[% END %]</th> |
|
15 |
[%- END %] |
|
16 |
</tr> |
|
17 |
|
|
18 |
[%- FOREACH row = ROWS %] |
|
19 |
<tr> |
|
20 |
[%- FOREACH col = row.COLUMNS %] |
|
21 |
<td[% IF col.align %] align="[% col.align %]"[% END %][% IF col.valign %] valign="[% col.valign %]"[% END %]> |
|
22 |
[%- FOREACH cell_row = col.CELL_ROWS %][%- cell_row.data %][%- UNLESS loop.last %]<br>[%- END %][%- END %] |
|
23 |
</td> |
|
24 |
[%- END %] |
|
25 |
</tr> |
|
26 |
[%- END %] |
|
27 |
|
|
28 |
</table> |
|
29 |
</p> |
|
30 |
|
|
31 |
[%- IF BOTTOM_INFO_TEXT %] |
|
32 |
<p>[% BOTTOM_INFO_TEXT %]</p> |
|
33 |
[%- END %] |
|
34 |
|
|
35 |
</body> |
|
36 |
</html> |
Auch abrufbar als: Unified diff
Unterstützung für die Ausgabe der ReportGenerator-Ergebnisse als PDF via html2ps entfernt.