我正在寻找一个 ASP.NET 控件来在浏览器中加载 PDF。它应该允许控制向用户显示的页面数,并且它应该能够做一些书签的事情,比如当用户点击一个按钮时,我可以获取查看器的页码并保存它,然后下次重新加载该页码中的 PDF。
问问题
28005 次
3 回答
4
作为 IFRAME 的替代品,使用 PDFJS 库 ( https://mozilla.github.io/pdf.js/ )
它允许您仅使用 Javascript/HTML5 Canvas 显示 PDF 文档。
HTML5 Canvas 浏览器兼容性:http ://caniuse.com/#feat=canvas
显示特定页面的示例 - 未测试
// pdf document file
var pdfDocument = 'yourfile.pdf';
// page Number you want to display
var pageNo = 1;
// name of the HTML5 Canvas
var canvasName = 'pdfCanvas';
PDFJS.getDocument( pdfDocument ).then(function (pdf) {
pdf.getPage( pageNo ).then(function (page) {
var scale = 1.5;
var viewport = page.getViewport(scale);
var canvas = document.getElementById(canvasName);
var context = canvas.getContext('2d');
canvas.height = viewport.height;
canvas.width = viewport.width;
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext).promise.then(function () {
// do something when rendering is completed
});
});
});
于 2015-10-27T09:52:13.303 回答
3
您可以使用 iframe 在浏览器中查看您的 pdf,如下所示
<iframe src="mypdf.pdf"></iframe>
于 2012-12-28T17:53:30.017 回答
0
您可以尝试使用 ASP.NET 中的“对象”标签嵌入 PDF 文件。
这是一个小例子:
//Markup
<asp:LinkButton ID="view" runat="server" Text="Click me!" onClick="ViewPDF"></asp:LinkButton>
<asp:Literal ID="embedPdf" runat="server"/>
//C#
private void ViewPDF(object sender, EventArgs e)
{
string embed = "<object data=\"{0}\" type=\"application/pdf\" width=\"1200px\" height=\"1000px\"></object>";
embedPdf.Text = string.Format(embed, ResolveUrl("/your/pdf/file/path.pdf"));
}
单击 ASP-LinkButton 后,应出现 PDF 阅读器。
于 2020-10-22T14:02:02.333 回答