我有一个动态加载PDF文件的Web应用程序,可以在浏览器中查看。 目前,它使用“innerHTML”用PDF对象替换div。这很有效。
但是,有没有更好的方法来获取元素的ID并为Object / Embed设置“src”或“data”参数并让它立即加载新文档? 我希望Adobe Acrobat Reader的实例将保留在屏幕上,但新文档将加载到其中。
以下是该对象的JavaScript示例:
document.getElementById(`divPDF`).innerHTML = `<OBJECT id='objPDF' DATA="'+strFilename+'" TYPE="application/pdf" TITLE="IMAGING" WIDTH="100%" HEIGHT="100%"></object>`;
感谢任何见解。
答案 0 :(得分:1)
我不确定这是否有效,因为我没有在我的项目中尝试过这个。
(看看你的JS,我相信你正在使用jQuery。如果没有,请纠正我)
使用对象填充divPDF后,您可以尝试以下代码:
$("objPDF").attr({
data: "dir/to/newPDF"
});
同样,我不确定这是否适用于您的特定需求,但如果您将此代码附加到事件处理程序,则可以切换对象的数据。
你也可以将它包装在一个反复使用的函数中:
function pdfLoad(dirToPDF) {
$("objPDF").attr({
data: dirToPDF
});
}
答案 1 :(得分:0)
如果PDF的处理程序是acrobat(它不一定是),它会公开这里记录的JS接口:
http://www.adobe.com/devnet/acrobat/pdfs/js_api_reference.pdf
看看你是否可以在document.getElementById('objPDF')上调用openDoc(urlToPdf) - 即使这样可行,它只适用于Acrobat用于处理'application / pdf'
答案 2 :(得分:0)
@lark 略微纠正:
$('#objPDF').attr('data','dirToPDF');
#指定objPDF是ID而不是元素名称。虽然我仍然不知道这是否有效。
@Tristan 看看jQuery Media plugin。它也提到了对PDF的支持,尽管我从未使用它。
答案 3 :(得分:0)
在外部窗口PDFN中使用外部PDF-Reader.EXE
:
点击以下按钮:
<FORM action="">
<INPUT type="button" value="PDF file"
onclick="window.open('http://www.Dku-betrieb.eu/Pdfn.html',
'PDFN', 'width=620, height=630')">
</FORM>
在外部窗口中打开此框架集Pdfn.html
:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html lang="de">
<meta http-equiv="refresh" content="12;url=http://www.dku-betrieb.eu/Pdfn1.html">
<head>
<title>Reader</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset>
<frame src="http://www.dku-betrieb.eu/File.pdf" frameborder=0 name="p1">
</frameset>
</HTML>
在12秒内刷新下载PDF-Reader:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<html lang="de">
<head>
<title>Reader</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset >
<frame src="http://www.dku-betrieb.eu/PDFReader.exe" frameborder=0 name="p2">
</frameset>
</HTML>
在外部窗口PDFN中显示PDF文件。
答案 4 :(得分:0)
function pdfLoad(datasrc) {
var x = document.getElementById('objPDF');
x.data = datasrc;
}
这对我有用