From 7ceeeb7f26a9ae5e2b358e4d7a5aa29f2acfd1dc Mon Sep 17 00:00:00 2001 From: Kevin Kaland <kevin@wizonesolutions.com> Date: Tue, 24 Jul 2012 01:42:07 +0200 Subject: [PATCH] Issue #1694854: Buffer passthru() to ensure full PDF is captured. --- fillpdf.module | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/fillpdf.module b/fillpdf.module index 4eb2bac..5ee5502 100644 --- a/fillpdf.module +++ b/fillpdf.module @@ -706,8 +706,10 @@ function fillpdf_execute_merge($method, $fields, $fillpdf, $mode = 'url', $flatt // Generate the file $xfdffile = file_save_data($xfdf, $xfdfname, FILE_EXISTS_RENAME); // Now feed this to pdftk and save the result to a variable - $data = shell_exec('pdftk ' . escapeshellarg(drupal_realpath($filename)) . ' fill_form ' . escapeshellarg(drupal_realpath($xfdffile->uri)) . ' output - ' . ($flatten ? 'flatten ' : '') . 'drop_xfa'); - if ($data === NULL) { + ob_start(); + passthru('pdftk ' . escapeshellarg(drupal_realpath($filename)) . ' fill_form ' . escapeshellarg(drupal_realpath($xfdffile->uri)) . ' output - ' . ($flatten ? 'flatten ' : '') . 'drop_xfa'); + $data = ob_get_clean(); + if ($data === FALSE) { drupal_set_message(t('pdftk not properly installed. No PDF generated.'), 'error'); } file_delete($xfdffile); -- GitLab