码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 网页在线打开PDF_网站中在线查看PDF之pdf.js


    一、pdf.js简介

    PDF.js 是一个使用 HTML5 构建的便携式文档格式查看器。

    pdf.js 是社区驱动的,并由 Mozilla 支持。我们的目标是为解析和呈现 PDF 创建一个通用的、基于 Web 标准的平台。

    pdf.js 将 PDF 文档转换为 HTML5 Canvas 元素,并使用 JavaScript 控制文档的呈现和交互。pdf.js 使得不需要在计算机上安装 Adobe Reader 或其他 PDF 阅读器就可以在 Web 上阅读 PDF 文档成为可能。

    pdf.js是一个免费的开源软件。

    支持谷歌、火狐浏览器,支持pc手机端浏览器。

    Git地址:GitHub - mozilla/pdf.js: PDF Reader in JavaScript

    官网地址:PDF.js

    下载地址:Getting Started

    二、pdf.js 使用说明

    https://mozilla.github.io/pdf.js/examples/

    中文使用介绍整理:

    简介 - PDF.js 中文文档

    三、pdf.js 使用Demo案例

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    6. <title>Documenttitle>
    7. <script src="../build/pdf.js">script>
    8. <style>
    9. html,
    10. body {
    11. padding: 0px;
    12. margin: 0px;
    13. overflow-x: hidden;
    14. }
    15. style>
    16. head>
    17. <body>
    18. <div id="container">div>
    19. <script>
    20. var container, pageDiv, pdfDoc;
    21. var winWidth = window.innerWidth;
    22. function getPDF(url) {
    23. pdfjsLib.getDocument(url).promise.then((pdf) => {
    24. pdfDoc = pdf;
    25. container = document.getElementById('container');
    26. for (var i = 1; i <= pdf.numPages; i++) {
    27. renderPDF(i);
    28. }
    29. })
    30. }
    31. function renderPDF(num) {
    32. pdfDoc.getPage(num).then((page) => {
    33. var scale = winWidth / (page.getViewport({ scale: 1 }).width);
    34. var viewport = page.getViewport({ scale: scale });
    35. console.info(viewport);
    36. pageDiv = document.createElement('div');
    37. pageDiv.setAttribute('id', 'page-' + (page.pageIndex + 1));
    38. pageDiv.setAttribute('style', 'position: relative');
    39. container.appendChild(pageDiv);
    40. var canvas = document.createElement('canvas');
    41. pageDiv.appendChild(canvas);
    42. var context = canvas.getContext('2d');
    43. canvas.height = viewport.height;
    44. canvas.width = viewport.width;
    45. var renderContext = {
    46. canvasContext: context,
    47. viewport: viewport
    48. };
    49. page.render(renderContext);
    50. });
    51. }
    52. getPDF('compressed.tracemonkey-pldi-09.pdf');
    53. script>
    54. body>
    55. html>

    展示效果:

    四、pdf.js 在线使用案例

    在线阅读器预览:

    https://mozilla.github.io/pdf.js/web/viewer.html

    使用方案:file=(指定自己的pdf文件地址即可)

    下载源码后viewer.html文件就是在线阅读器。

    https://mozilla.github.io/pdf.js/web/viewer.html?file=指定自己的pdf地址

    更多:

    网页在线打开PDF_网站中在线查看PDF之TouchPDF

    JS实现网页选取截屏 保存+打印 功能(转)

    echarts中国地图使用整理

  • 相关阅读:
    神奇的 perfma:一站式解决所有 JVM 疑难杂症!
    技术学习群-第二周内容共享
    网络安全的学习方向和路线是怎么样的?
    VUE搭建云音乐播放器(App版本)
    10分钟教对象搭建了一个多人聊天室~
    我国智慧燃气建设应用过程中,有哪些关键问题?
    电池单体一致性云端算法整理
    Tomcat 启动闪退问题解决方法
    虚拟化与Docker
    1.两数之和(哈希)
  • 原文地址:https://blog.csdn.net/u011127019/article/details/133847939
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号