summaryrefslogtreecommitdiff
path: root/LedgerSMB/Template/PDF.pm
diff options
context:
space:
mode:
Diffstat (limited to 'LedgerSMB/Template/PDF.pm')
-rwxr-xr-xLedgerSMB/Template/PDF.pm10
1 files changed, 9 insertions, 1 deletions
diff --git a/LedgerSMB/Template/PDF.pm b/LedgerSMB/Template/PDF.pm
index 617ca41f..ef7ca519 100755
--- a/LedgerSMB/Template/PDF.pm
+++ b/LedgerSMB/Template/PDF.pm
@@ -74,9 +74,17 @@ sub process {
my $parent = shift;
my $cleanvars = shift;
my $template;
+ my $source;
$parent->{outputfile} ||=
"${LedgerSMB::Sysconfig::tempdir}/$parent->{template}-output-$$";
+ if (ref $parent->{template} eq 'SCALAR') {
+ $source = $parent->{template};
+ } elsif (ref $parent->{template} eq 'ARRAY') {
+ $source = join "\n", @{$parent->{template}};
+ } else {
+ $source = get_template($parent->{template});
+ }
$template = Template::Latex->new({
LATEX_FORMAT => 'pdf',
INCLUDE_PATH => $parent->{include_path},
@@ -88,7 +96,7 @@ sub process {
}) || throw Error::Simple Template::Latex->error();
if (not $template->process(
- get_template($parent->{template}),
+ $source,
{%$cleanvars, %$LedgerSMB::Template::TTI18N::ttfuncs,
'escape' => \&preprocess},
"$parent->{outputfile}.pdf", binmode => 1)) {