Javascript JS打印pdf文件
我尝试用javaScript打印pdf文件。 我从服务器获取文件的urlJavascript JS打印pdf文件,javascript,Javascript,我尝试用javaScript打印pdf文件。 我从服务器获取文件的url var iframe = document.createElement('iframe'); document.body.appendChild(iframe); iframe.style.display = 'none'; iframe.src = urlBaseImage + 'Report//' + result;
var iframe = document.createElement('iframe');
document.body.appendChild(iframe);
iframe.style.display = 'none';
iframe.src = urlBaseImage + 'Report//' + result;
iframe.focus();
iframe.contentWindow.print();
但他给了我一个空页面,我检查了网址,它确实是正确的。
我能做什么?
谢谢 您可以使用这个库Print.js: 用它打印PDF文件非常容易 只需将PDF文件url传递给
printJS()
函数
例如:
printJS('docs/my_pdf_file.pdf')代码>这里是一个类似问题的答案,也许这有帮助,或者在尝试打印之前,PDF是否成功加载到
?如果您只需在broswer的地址栏中输入PDF URL,PDF是否作为页面加载?如果前两个问题回答为“否”,那么您如何确认URL是否正确?另一方面,从Chrome 46开始,除非其沙盒属性具有值允许模式
,否则将被阻止在
中。请参阅此答案欢迎使用堆栈溢出!虽然这个代码片段可以解决这个问题,但它确实有助于提高文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。
function printDisclosureDocument() {
var doc = document.getElementById('pdfDocument');
if (doc == 'undefined' || doc == null) {
var pdfbox = document.createElement('embed');
pdfbox.type = 'application/pdf';
pdfbox.src = 'ShowPDF.aspx?refid=' + $('#MainContent_hdnRefId').val();
pdfbox.width = '1';
pdfbox.height = '1';
pdfbox.id = 'pdfDocument';
document.body.appendChild(pdfbox);
}
if (doc != null && doc != 'undefined') {
//Wait until PDF is ready to print
if (typeof doc.print === 'undefined') {
setTimeout(function () { printDisclosureDocument(); }, 500);
} else {
doc.print();
}
}
else {
setTimeout(function () { printDisclosureDocument(); }, 500);
}
}