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