我正在寻找一个 ASP.NET 控件来在浏览器中加载 PDF。它应该允许控制向用户显示的页数,并且还应该能够执行一些书签操作,例如当用户单击按钮时,然后我可以获取查看器的页码并保存它,然后下次重新加载该页码的 PDF。
最佳答案
作为 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
});
});
});
关于ASP.NET PDF 查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14073060/