diff --git a/src/printer.js b/src/printer.js
index 903dea82f792d5de081caeddd5346ed7e8d459b4..b880d4e0fb258dfcbfec98039a722f5d04707cbb 100644
--- a/src/printer.js
+++ b/src/printer.js
@@ -183,7 +183,8 @@ class Printer extends EventEmitter {
       resolver({msg, width, height, orientation});
     });
 
-    await page.evaluate(() => {
+    await page.evaluate(async () => {
+		  let done;
       window.PagedPolyfill.on("page", (page) => {
         const { id, width, height, startToken, endToken, breakAfter, breakBefore, position } = page;
 
@@ -221,7 +222,15 @@ class Printer extends EventEmitter {
         window.onRendered(msg, flow.width, flow.height, flow.orientation);
       });
 
-      window.PagedPolyfill.preview();
+      if (window.PagedConfig.before) {
+        await window.PagedConfig.before();
+      }
+
+      done = await window.PagedPolyfill.preview();
+
+      if (window.PagedConfig.after) {
+        await window.PagedConfig.after(done);
+      }
     });
 
     await rendered;