打印时出现空白页。打印边框(可能是框架)。但不是框架内的内容。如果我们手动打印新页面,它就会正确打印。为什么会出现这种情况?
var printwindow = window.open('', '', 'fullScreen=no');
printwindow.document.write('<iframe id="docPrint" onLoad="window.print()" width="100%" height="100%" src="http://localhost:8080/hiring/docs/Keneth _1340800082258/Keneth _resume_1340800082258.pdf"></iframe>');
由于您是动态注入它,请尝试在
/
中转义 </iframe>
:
'.....<\/iframe>'
同时将
onload
应用于窗口而非 iframe:
printwindow.onload = printwindow.print;
所以试试这个:
var printwindow = window.open('', '', 'fullScreen=no');
printwindow.document.write('<iframe id="docPrint" width="100%" height="100%" src="http://localhost:8080/hiring/docs/Keneth _1340800082258/Keneth _resume_1340800082258.pdf"></iframe>');
printwindow.onload = printwindow.print;
我不确定浏览器是否会获取您的pdf文件并打印它,如果pdf直接在浏览器中打开,那么浏览器pdf插件中单独有一个打印选项。
这对于 JavaScript 来说是不可能的。
我不知道你的服务器是用哪种语言编写的,但也许可以让你的PDF自动打印。
这里的问题是 iframe 中的 window.print() 引用的是包含 iFrame 的窗口,而不是其中的内容。
我正在寻找其他问题并发现它已打开,所以尝试这样做。
注意加载 iframe 并获取其中的内容,因为您必须处理此 iframe 的加载,或者您可以 ajax 获取整个页面并将其保存在 iframeContent
let iframeContent = document.getElementById("docPrint").innerHTML;
const iframePage = window.open('', 'PRINT', 'height=400,width=600');
iframePage.document.write(iframeContent);
iframePage.document.close();
iframePage.focus();
iframePage.onload = relatorio.print;
HI all of you i have found the solution.
i have also had a blank page as i have write my javascript code on belowe of html. Then i have put my javascript code in <head>
*<script type="text/javascript">
window.onload = function() {
window.print(); // PDF ni chop etish oynasini ochadi
};
</script>
*
然后我的空白页被删除了