diff --git a/fillpdf.module b/fillpdf.module
index 43108d6..c5441b5 100644
--- a/fillpdf.module
+++ b/fillpdf.module
@@ -277,7 +277,7 @@ function fillpdf_merge_pdf($fid, $nids = null, $webform_arr = null, $sample = nu
         $file_bytes = _fillpdf_get_file_contents($filefield['filepath']);
         $str = base64_encode($file_bytes);
         $transform_string = FALSE;
-        $fields[$obj->pdf_key] = '{image}'.$str;
+        $fields[$obj->pdf_key] = '{image}'.realpath($filefield['filepath']);
       }
       else {
       }
@@ -326,7 +326,14 @@ function fillpdf_merge_pdf($fid, $nids = null, $webform_arr = null, $sample = nu
     try {
       $fillpdf = new java('com.ocdevel.FillpdfService', base64_encode($pdf_data), 'bytes');
       foreach($fields as $key=>$field){
-        $fillpdf->text($key, $field);
+        if (substr($field, 0, 7) == '{image}') {
+          // Remove {image} marker.
+          $image_bytes = substr($field, 7);
+          $fillpdf->image($key, $image_bytes, "file");
+        }
+        else {
+          $fillpdf->text($key, $field);
+        }
       }
     }
     catch (JavaException $e) {
