Hello,
I want to generate a pdf with Template-Plugin-Latex where the user fills out a html form and the app sends back a pdf.
Outside the route handler create_pdf() works and the pdf is generated, but inside the route handler create_pdf() fails:
latex error - pdflatex exited with errors:
----- Minimal example:
#!/usr/bin/perl use Dancer; use Template::Latex;
sub create_pdf { my $tt = Template::Latex->new({ INCLUDE_PATH => '/path/to/my/app/public/latex', OUTPUT_PATH => '/path/to/my/app/public/pdf', LATEX_FORMAT => 'pdf', });
$tt->process('test.tt', {name => 'Dancer'}, 'test.pdf', binmode => 1) || die $tt->error(); };
# works create_pdf();
get '/' => sub { return 'Hello Dancer'; };
get '/create_pdf' => sub { # works not create_pdf(); };
get '/download/:file' => sub { send_file('/pdf/'.params->{file}); };
dance();
---- My template test.tt
[% USE Latex %] [% FILTER latex('pdf') %] \documentclass[version=last]{scrartcl} \begin{document} Hello [% name %] \end{document} [% END %]
Any suggestions what could be wrong?
Thanks a lot,
Mike _______________________________________________ Dancer-users mailing list Dancer-users@perldancer.org http://www.backup-manager.org/cgi-bin/listinfo/dancer-users
Hello,
I tracked it down a little bit, and found out, that the return code of the system() function is different inside a route handler than outside. Could please someone test this? ------------------------------ #!/usr/bin/perl use Dancer; my $rc = system("/usr/bin/pdflatex -v"); #my $rc = system("/usr/bin/gcc -v"); print "\$rc: $rc\n"; # $rc = 0 get '/system' => sub { $rc = system("/usr/bin/pdflatex -v"); #$rc = system("gcc -v"); '$rc = ' . $rc; # $rc = -1, should be 0 }; dance(); ----------------------------- Thanks, Mike