I was able to get it working very easily. I post the JSON using XMLHttpRequest() and create a Blob using the response. Print.js can understand the response. The only problem is the option to set the filename when saving as PDF isn't working, but it's currently an issue on Github and hopefully will be addressed soon.
var pdfFile = new Blob([this.response], { type: "application/pdf" });
var pdfUrl = URL.createObjectURL(pdfFile);
printJS({ printable: pdfUrl });