jquery中pdf在页面的显示和导出

jquery中pdf在页面的显示和导出

  • [01 显示pdf](#01 显示pdf)
    • [01 .pdf结尾在线接口显示到页面 (pdf.js库怎么安装及使用):只显示一页](#01 .pdf结尾在线接口显示到页面 (pdf.js库怎么安装及使用):只显示一页)
    • [02 如何用PDF.JS显示整个PDF (而不仅仅是一页)?](#02 如何用PDF.JS显示整个PDF (而不仅仅是一页)?)
    • [03 jQuery实现在线预览PDF文件(通过a标签链接跳转):](#03 jQuery实现在线预览PDF文件(通过a标签链接跳转):)
  • [02 导出pdf](#02 导出pdf)

想要实现弹窗中显示pdf内容,并导出pdf.

01 显示pdf

第一,二个是通过pdf.js实现pdf在页面的显示,只不多第一个只显示一页,第二个可显示全部;第三个是通过jquery.media.js实现pdf在页面的显示

重点讲第二个!!

01 .pdf结尾在线接口显示到页面 (pdf.js库怎么安装及使用):只显示一页

参考:https://www.yisu.com/ask/45769732.html

这个只显示第一页,想要显示全部页面,需要循环加载

02 如何用PDF.JS显示整个PDF (而不仅仅是一页)?

PDFJS有一个成员变量numPages,所以你只需要遍历它们。

但是重要的是要记住,在pdf.js中获取页面是异步的,因此顺序将得不到保证。所以你需要用链子锁住它们。你可以这样做:

javascript 复制代码
var currPage = 1; //Pages are 1-based not 0-based
var numPages = 0;
var thePDF = null;

//This is where you start
PDFJS.getDocument(url).then(function(pdf) {

        //Set PDFJS global object (so we can easily access in our page functions
        thePDF = pdf;

        //How many pages it has
        numPages = pdf.numPages;

        //Start with first page
        pdf.getPage( 1 ).then( handlePages );
});



function handlePages(page)
{
    //This gives us the page's dimensions at full scale
    var viewport = page.getViewport( 1 );

    //We'll create a canvas for each page to draw it on
    var canvas = document.createElement( "canvas" );
    canvas.style.display = "block";
    var context = canvas.getContext('2d');
    canvas.height = viewport.height;
    canvas.width = viewport.width;

    //Draw it on the canvas
    page.render({canvasContext: context, viewport: viewport});

    //Add it to the web page
    document.body.appendChild( canvas );

    //Move to next page
    currPage++;
    if ( thePDF !== null && currPage <= numPages )
    {
        thePDF.getPage( currPage ).then( handlePages );
    }
}

参考:https://cloud.tencent.com/developer/ask/sof/251356

03 jQuery实现在线预览PDF文件(通过a标签链接跳转):

参考:

https://blog.csdn.net/angellee1988/article/details/121644256

02 导出pdf

参考:

jquery页面:

https://blog.csdn.net/hnn567/article/details/132356614

微信小程序:

https://blog.csdn.net/hnn567/article/details/132304552

相关推荐
子兮曰4 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰4 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万4 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝4 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋4 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁4 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95274 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大4 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师4 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学4 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端