gpt4 book ai didi

javascript - 使用 javascript 在按钮 Click 上加载和打印 PDF 的可能方法

转载 作者:行者123 更新时间:2023-12-02 17:05:49 24 4
gpt4 key购买 nike

您能告诉我加载和打印适用于所有浏览器的 pdf 文件的可能方法吗?目前我正在使用 iframe 来显示文件,然后触发打印方法,但它在 IE 中不起作用。我搜索了很多,但没有一个解决方案有效。请让我知道执行此操作的任何替代方法。下面是我的示例代码:-

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="pdfpoc.aspx.cs" Inherits="Game.pdfpoc" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function printpdf()
{
alert("pdfprint");
var iframe = document.frames ? window.frames.frames["frPDF"] : document.getElementById("frPDF");
var ifWin = iframe.contentWindow || iframe;
try {

ifWin.focus();
ifWin.print();
}
catch (e) {
window.print(false);
//or when you get Invalid calling object error for IE9 and above
//set the browser into IE8 compatibility mode will work
}

return false;
}
function changeSource() {
console.log("change");
var src = $("#frPDF").attr('src');
console.log("src", src);

if (src == "NCTP.pdf") {
// $("#frPDF").attr('src', "NCTP1.pdf");
url = "NCTP1.pdf";
}
else {
// $("#frPDF").attr('src', "NCTP.pdf");
url = "NCTP.pdf";

}
console.log("Url" + url);
var iframe = $('#frPDF')[0]; // reference to IFRAME element
$.get(url, function () {
iframe.src = url;
$("#frPDF").load(function () {
printpdf();
});
// $("#frPDF").trigger('onload');
}).error(function () { alert('PDF not found'); });
return false;
}
</script>
</head>

<body>
<form id="form1" runat="server">
<input type="button" value="Change Source" onclick="javascript:changeSource()" />
<div> Its not the part of Iframè <br />
IFRAME PDF: <br />
<iframe id="frPDF" height="800" width="800" src="NB.pdf?a=1"></iframe>
</div>
</form>
</body>
</html>

最佳答案

对于 IE 浏览器,更好地使用 pdf 的嵌入标签,看看这个(我替换了你的 pdf 源)。它在 IE 8+ 和 Chrome(和 Opera ofc)中对我有用

<input type="button" value="Change Source" name="btnChangeSource"  />
<div> Its not the part of Iframè <br />
IFRAME PDF: <br />
<embed id="frPDF" type="application/pdf" height="800" width="800" src="http://eurecaproject.eu/files/5013/9885/7113/example4.pdf"></embed>
</div>

Solution for IE/Chrome/Opera

关于javascript - 使用 javascript 在按钮 Click 上加载和打印 PDF 的可能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25278215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com