jsPDF addHTML 将低质量图像导出为 PDF

2024-03-04

最近两天搜索的简单问题但没有找到解决方案 我正在使用 jsPDF 的 addHTML api 将 html 转换为 pdf

$('#loadPdf').on('click', function() {
        var pdf = new jsPDF('p', 'in', 'a4');
        pdf.addHTML($('#complete')[0], function() {
            pdf.save('new.pdf');
            pdf.output('datauri');
        });
    });

这正在生成模糊图像 pdf,文本显示模糊。我搜索了很多找到一些链接(在下面分享)但没有得到答案。

html2canvas-生成模糊图像 https://stackoverflow.com/questions/22803825/html2canvas-generates-blurry-images

添加HTML图像质量 https://github.com/MrRio/jsPDF/issues/339

jspdf 和 addHTML / 模糊字体 https://github.com/MrRio/jsPDF/issues/343

有没有什么方法可以获得高质量的pdf图像。如果我不使用 addHTML api 并使用任何其他 API,则图像不会以 pdf 形式显示。请帮助


看来很多人还在用pdf.addHTML()并有同样的低质量问题。pdf.addHTML()实际上是已弃用 https://rawgit.com/MrRio/jsPDF/master/docs/global.html#addHTML现在。新的矢量支持 API,pdf.html(),效果更好。看看他们的sample https://cdn.rawgit.com/MrRio/jsPDF/master/examples/html2pdf/showcase_supported_html.html为自己。这是使用 jsPDF 的工作代码和html2canvas 1.0.0-alpha.11 https://github.com/niklasvh/html2canvas/releases :

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js" 
        integrity="sha384-NaWTHo/8YCBYJ59830LTz/P4aQZK1sS0SneOgAvhsIl3zBu8r9RevNg5lHCHAuQ/"
        crossorigin="anonymous">
</script>
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
<script>
    function download() {
        let pdf = new jsPDF('l', 'pt', 'a4');
        pdf.html(document.getElementById('id'), {
            callback: function () {
                //pdf.save('test.pdf');
                window.open(pdf.output('bloburl')); // to debug
            }
        });
    }
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jsPDF addHTML 将低质量图像导出为 PDF 的相关文章

  • require('babel/register') 不起作用

    我在客户端上有一个用 ES6 编写的同构应用程序Babel 转译器 http babeljs io 我希望我的 Express 服务器具有与客户端代码相同的 ES6 语法 很遗憾require babel register 不起作用 服务器
  • Jquery文件上传插件进度条

    这个插件 https github com blueimp jQuery File Upload wiki管理网页中的文件上传 并且可以在上传过程中添加很多 UI 元素 您创建一个输入文件类型元素 然后绑定 js 文件 使用实例化代码和 w
  • 如何使用itext7缩放固定矩形内的文本?

    我正在尝试使用 c 中的 itext7 制作一个 pdf 文档 该文档应该具有包含不同文本的固定矩形 这些文本应该在 不可见 矩形的边界内缩放 我试图寻找是否有自动缩放功能 但到目前为止只发现表单域的自动缩放功能 由于 pdf 将用于绘制文
  • JS 在两个或多个点之间画线

    我需要在两个标签或标签之间画一条线 Example http caitriona github io connect the dots http caitriona github io connect the dots 我需要做这样的事情
  • 将 Json 数据返回给 Ajax 调用

    我在 MVC 中有一个方法 我将其发布到它 并且我需要返回一些数据以进行处理 这是我发布到的 MVC 方法 返回值是 json 数据 HttpPost public JsonResult GetCalculateAmortizationSc
  • ES6 类文字中的 IIFE

    在 ES5 中我们都可以这样做 myClass prototype myMethod function return function 我可以对 ES6 类文字执行同样的操作吗 不 至少现在还没有 ES6 类仅支持声明方法 因此任何不直接为
  • 刷新页面后保留输入值

    我有一个带有输入字段的表单 该输入包含一个下拉菜单 从数据库中读取信息 如果用户输入值 并且当他到达下拉菜单时 他没有找到他想要的内容 他会转到另一个页面将此信息添加到下拉菜单 然后转到第一页继续输入信息 如果他转到另一个页面向下拉菜单添加
  • 我可以用一个简单的函数制作一个迭代器吗? (没有生成器或 Symbol.iterator)

    我一直在尝试使用普通函数创建一个迭代器 而不使用生成器或使用Symbol iterator用于学术目的的协议 为此 我创建了一个函数 它返回一个带有next参数 但尝试将其作为iterable的论证for of循环会产生不需要的结果 这是到
  • 如何将节点 sqlite3 与 q (promise) 一起使用

    我正在尝试将 Promise 与 sqlite3 一起使用 这是我的源代码的一部分 this deleteTag function tag project var db this db if project return q nfcall
  • Javascript 制作音频 blob

    我正在测试 html 音频标签 我想制作音频 blob url 就像 youtube 或 vimeo 那样 并将其添加到 src 开始播放音频 我一直在测试new Blob and URL createObjectURL 但我不知道如何使用
  • JavaScript/jQuery - “$ 未定义 - $function()”错误

    我正在尝试运行 JavaScript jQuery 函数并且Firebug http en wikipedia org wiki Firebug 28software 29得到错误 is not defined function JavaS
  • jQuery 模板插件:如何创建双向绑定?

    我开始使用 jQuery 模板插件 微软创建的 但现在我面临这个问题 模板用于绑定到对象数组的一堆表单 当我更改其中一个表单上的某些内容时 我希望更新绑定的对象 但我不知道如何自动执行该操作 这是一个简单的例子 现实生活中的模板和对象要复杂
  • IE9 中的无效字符 DOM 异常

    以下这段 JS 曾经在 IE8 中工作 现在在 IE9 中失败 document createElement 我收到以下异常 SCRIPT5022 DOM 异常 INVALID CHARACTER ERR 5 上面这段代码是不是不符合标准呢
  • 如何获取从 Express (Node.js) 中的表单传递的数据

    我想获取使用表单从页面传递的数据 并在重定向的页面中使用该数据 我的客户端有这个表格
  • 为什么我从 c# 到 js 得到不同的 MD5 哈希值?

    我有一个用于加密密码的 C 函数 System Security Cryptography MD5CryptoServiceProvider md5Provider new System Security Cryptography MD5C
  • redux - 如何存储和更新键/值对

    我正在使用 redux 和 React js 我想存储简单的键 值对 但无法获得正确的减速器语法 在这种情况下 每个键 值对将保持与外部系统的连接 这是正确的做法吗 我刚开始使用 redux 所以这有点神秘 export default s
  • React Router Tabs——保持组件安装

    我使用 React Router 创建了选项卡 每个选项卡都有不同的路线 但是 我想通过保持隐藏选项卡的安装来维护选项卡转换之间的选项卡状态 我该如何实现这一目标 每次路由切换时 React 路由器都会重新安装每个组件 已经有人问过这个问题
  • 如何在react.js中将/n替换为换行符?

    我正在尝试更换每一个 n to a br tag in ReactJS In my note note对象有一个包含多个的字符串 n in it 示例注释 注释 test ntest ntest 我尝试过的ReactJS note note
  • 如何使用 Chart.js 版本 3.2.1 在圆环图中添加文本

    我正在使用 Canvas 在 HTML 中使用 如何使用在圆环图中添加文本 这是我的 javascript 代码和 HTML 代码 我使用了图表js版本3 2 1 所以请给出相同版本 3 的解决方案 var overallStatsCanv
  • 加载谷歌地图控件时是否有事件?

    我知道tilesloaded 但控件似乎在该事件之后加载 我基本上希望能够通过 jQuery 获取控件 但甚至找不到正确的监听 我也刚刚处理了 没有类似的事件 在控件可见之前空闲和tilesloaded触发 因此 基本上将 特殊控制 类添加

随机推荐

  • Excel VBA CDO 邮件

    我尝试使用 Microsoft Office Excel 2007 VBA 代码发送邮件 但收到错误 运行时错误 2147220973 80040213 自动化错误 我正在使用的代码是 Dim cdomsg As Object Set cd
  • MongoDB 地理空间查询计数问题(始终为 100)

    包含超过 100 个结果的地理空间查询的计数操作似乎存在问题 如果我运行以下查询 无论如何我仍然得到 100 的计数 db locations find loc nearSphere 50 50 limit 1000 count 据我所知
  • Weblogic - java.lang.ClassNotFoundException:org.bouncycastle.jce.provider.JCEMac$DES9797Alg3

    我正在使用 Java Web 应用程序 需要使用 3DES 算法生成 MAC 代码在 Weblogic 10 3 上运行没有问题 但当我尝试在不同的 Weblogic 类似版本 10 3 1 中运行该应用程序时 问题出现了 这是我的代码 p
  • HTML CSS - 在 Windows Phone 上显示时字体尺寸过大

    我实际上正在创建一份时事通讯 当我在outlook outlook web access中打开电子邮件时 布局与我构建的一模一样 然而 当我在 Windows Phone 8 中打开同一封电子邮件时 字体大小不受尊重 并且电子邮件不再具有相
  • 您是否使用 MDA/MDD/MDSD 等任何类型的模型驱动方法?未来会是这样吗?

    编程语言在其历史上经历了几个 或 进化步骤 有些人认为模型驱动的方法将是下一件大事 openArchitectureWare AndroMDA Sculptor Fornax Platform 等工具可以带来令人难以置信的生产力提升 然而
  • 如何根据数组值计算空闲可用时间

    假设我有一个如下所示的数组 meeting one start time 07 15 00 end time 08 15 00 meeting two start time 15 45 00 end time 18 15 00 现在我想计算
  • Python Beautiful Soup“NoneType”对象错误

    我正在使用 Beautiful Soup 来获取网页正文中的超链接 这是我使用的代码 import urllib2 from bs4 import BeautifulSoup url http www 1914 1918 net swb h
  • SQLAlchemy 返回所有不同的列值

    我正在使用 Flask 和 SQLAlchemy 创建一个网站 该网站跟踪学生所修的课程 我想找到一种使用 SQLAlchemy 搜索数据库的方法 以查找已输入的所有唯一类 这是我的代码models py上课 class Class db
  • 覆盖 scene2D 舞台的绘制顺序

    给你一个复杂的Scene2D图中libgdx与几个Group s and Actor s 您希望用户选择一些Actors并在最后绘制它们 以便它们看起来集中在任何其他之上Actors 我想迭代一下Stage两次 第一次绘制未选择的Actor
  • 使用 ngx-leaflet、HTTPClient 和 Angular2+ 将 GeoJSON 数据获取到 Leaflet 地图

    我正在使用 ngx leaflet 演示来尝试从 get 请求中获取 GeoJson 以显示在 LeafLet 地图上 我已经使用构建了一个有效的 GeoJsonhttp geojson io http geojson io 并使用双重检查
  • 如何保留重复项但根据 R 中的列删除唯一值

    如何保留重复项 但根据一列 qol 删除唯一值 ID qol Sat A 7 6 A 7 5 B 3 3 B 3 4 B 1 7 C 2 7 c 1 2 但我需要这个 ID qol Sat A 7 6 A 7 5 B 3 3 B 3 4 我
  • 可在浏览器中并与 Node.js 一起使用的多文件 JavaScript 库的设计模式

    我已经编写了一个主要在浏览器中使用的库 现在我也想将这个库与 node js 一起使用 我的库由多个文件组成 例如 loremIpsum core js loremIpsum loremIpsum a function Important
  • Android RTP/RTCP 堆栈

    我正在寻找一个堆栈 库 它可以让我充分利用 Android 下 RTP 和 RTCP 协议的所有标头字段 我不知道这是否重要 但我想将它与我用于 SIP 和 SDP 的 JAIN SIP 堆栈结合起来 有没有人有任何经验或建议 The an
  • 如何从重叠的日期中获取单独的间隔

    我有一个包含开始日期和结束日期的表格 如下所示 drop table if exists Temp select into Temp from values 1 1 2011 10 09 2011 10 20 2 1 2011 10 14
  • .NET RegionInfo 类

    当我尝试使用某些 ISO 3166 国家 地区代码 孟加拉国的 BD 索马里的 SO 斯里兰卡的 LK 创建新的 RegionInfo 时 我收到一个 ArgumentException 表示它无法识别 这是怎么回事 RegionInfo
  • 注销 Django Rest Framework JWT

    我想问一下 当我使用 JWT 时注销是否是一个好主意 要登录 我发送一个带有用户名和密码的发布请求 以获取所需的令牌 保存到 localStorage 中 当然 这将允许我向需要令牌的视图发送进一步的请求 但我不确定应该如何注销用户 我可以
  • 如何写入 OSX 系统钥匙串?

    作为在 OSX 中使用 Cocoa 以编程方式创建 VPN 连接的过程的一部分 我需要将 PPP 密码存储在系统钥匙串中 当我尝试使用钥匙串 API 执行此操作时 由于调用 SecKeychainAddGenericPassword 出现以
  • 在另一个 Div 内对齐 Div

    You can visit the site I am working on here https web archive org web 20140304201224 http www thomashall idesignclass co
  • swift 2 中排序和 sortInPlace 之间的区别?

    我一直在尝试快速使用 sortInPlace 函数 但它不起作用 当我使用排序函数而不是 sortinplace 时 它 可以工作 请解释一下这两个函数之间的区别 如果您可以提供演示这两个函数的使用的小代码示例 那将非常有帮助 var mu
  • jsPDF addHTML 将低质量图像导出为 PDF

    最近两天搜索的简单问题但没有找到解决方案 我正在使用 jsPDF 的 addHTML api 将 html 转换为 pdf loadPdf on click function var pdf new jsPDF p in a4 pdf ad