ASP.NET PDF 查看器

标签 asp.net pdf pdf-viewer

我正在寻找一个 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/

相关文章:

c# - 使用 "as"转换对象仍然给出错误

asp.net - web.config 中加密连接字符串的意义是什么?

c# - 如何终止 session 或 session ID (ASP.NET/C#)

c# - 在保持 "Combine files..."书签结构的同时以编程方式合并 PDF?

android - 在应用程序中显示 pdf 文件

c# - ASP.NET ProtocolViolationException - 无法发送具有此动词类型的内容正文

android - 以 fragment 形式显示 PDF 文件

html - 当我将它们在线转换为 pdf 时,不要显示 HTML 按钮

javascript - 如何实现Mozilla的客户端JS/HTML5 pdf查看器?

javascript - 使用 Angular 进行延迟加载,找不到组件