     (let [{{doc-obj :obj} :doc} this
           {:keys [^DocPrintJob job attrs]} this
           attr-set (make-set attrs :request)]
-      (.. job (print doc-obj attr-set))))
+      (.. job (print @doc-obj attr-set))))
   (add-listener! [this listener-fn]
     (let [{:keys [^DocPrintJob job listener-fn]} this
           listener (listener-fn)]

  (:require [clj-print [doc-flavors :as flavors]
             [listeners :as listeners]]
            [clojure.java [io :as io]]
            [clojure.pprint :refer [pprint]]
            [taoensso.timbre :as timbre])
  (:import (java.io File FileInputStream FileNotFoundException)
           (java.net URL)
           (javax.print DocPrintJob

        {doc-attrs :attrs} doc]
    (if (and (valid-attrs? doc-attrs :doc)
             (valid-attrs? attrs :job))
      (letfn [(add-doc [spec]
                (assoc-in spec [:doc :obj] (delay (make-doc doc))))
              (add-job [spec]
                (assoc-in spec [:job] (.. printer createPrintJob)))]
        (-> spec add-doc add-job map->JobSpec)))))
