Javascript 在文档加载时使用PDF.JS打印base64 PDF

Javascript 在文档加载时使用PDF.JS打印base64 PDF,javascript,pdf,printing,pdf.js,Javascript,Pdf,Printing,Pdf.js,我正在尝试使用pdf.js打印pdf,但目前无法获取pdf元素中呈现的文档数据。这就是它现在的样子: 因此,没有呈现任何数据 这就是背后的代码: <script src="jquery-2.2.4.min.js"></script> <script type="text/javascript" src="pdf.js"></script> <script type="text/javascript" src="pdf.worker.js"&

我正在尝试使用pdf.js打印pdf,但目前无法获取pdf元素中呈现的文档数据。这就是它现在的样子: 因此,没有呈现任何数据

这就是背后的代码:

<script  src="jquery-2.2.4.min.js"></script>
<script type="text/javascript" src="pdf.js"></script>
<script type="text/javascript" src="pdf.worker.js"></script>

<body id="printbody" style="margin:0px;">
</body>

<script type="text/javascript">    
        var pdfData = atob('JVBERi0xLjQK...'); //Shortened
        PDFJS.workerSrc = 'pdf.worker.js';        
        PDFJS.getDocument({data: pdfData}).then(function RenderAndPrint(res) {
            var src = URL.createObjectURL(new Blob([res], { type: 'application/pdf' }))
            var printFrame = document.createElement('iframe');
            printFrame.id = 'print-frame';
            //printFrame.style.display = 'none';
            printFrame.style.width = '100%'
            printFrame.style.height = '100%'
            printFrame.style.border = 'none'
            printFrame.src = src;
            document.body.appendChild(printFrame);
            setTimeout(function () {
            printFrame.contentWindow.print();
            }, 0)       
        });    
</script>

var pdfData=atob('JVBERi0xLjQK…')//缩短
PDFJS.workerSrc='pdf.worker.js';
getDocument({data:pdfData})。然后(函数RenderAndPrint(res){
var src=URL.createObjectURL(新Blob([res],{type:'application/pdf'}))
var printFrame=document.createElement('iframe');
printFrame.id='print frame';
//printFrame.style.display='none';
printFrame.style.width='100%'
printFrame.style.height='100%'
printFrame.style.border='none'
printFrame.src=src;
document.body.appendChild(打印框);
setTimeout(函数(){
printFrame.contentWindow.print();
}, 0)       
});    

最终的目标是通过AJAX将整个页面附加到现有页面上,这样一旦附加此页面并呈现PDF,iframe(将隐藏)将在呈现PDF后立即打印PDF,然后最终自行处理

我使用的是itextsharp,我将pdf保存到本地系统,将其设置为在open上打印,如下所示:

PdfAction print = new PdfAction(PdfAction.PRINTDIALOG);
writer.SetOpenAction(print);
然后使用iframe通过将文件设置为src来呈现pdf