jspdf 相关问题

jsPDF是一个用JavaScript编写的开源库,用于生成PDF文档。

使用 jsPDF 和格式化表数据创建 pdf

我可以使用下面的脚本从html表生成PDF文件: 但我得到的所有列数据都是逐行的。 请帮助我以表格格式生成 PDF 文件。(带有

回答 6 投票 0

如何计算jspdf中文本的宽度和高度?

我在 jspdf 中创建表格时遇到一些问题。我找不到任何好的相关文档,但如果有人知道,请分享。 我找到了两个相关的方法: 1) doc.getStringUnitWidth(文本, {

回答 4 投票 0

jsPDF && jsPDF AutoTable 将特殊字符打印到 PDF

我正在使用img jsPDF AutoTable库从我的HTML表创建PDF文件,Everythink工作正常,PDF总是创建,但我对我的国家/地区典型的一些特殊字符有疑问。在...

回答 3 投票 0

如何控制html2canvas中的字体大小

我正在使用 html2pdf 从 html 代码创建 pdf。它使用 html2canvas 和 jsPDF。结果非常好,但与原来略有不同:字体大小和行高有点

回答 2 投票 0

如何在React中生成包含表格的希伯来语PDF?

我已经在整个互联网上搜索了几个小时,我需要一个支持希伯来语的 PDF 生成器!我也需要在 PDF 中有一个表格。 我已经尝试过 JSpdf,但我得到的文本垃圾翻转了......

回答 2 投票 0

使用 SQL 数据库和 .NET 正确存储和检索 PDF 文件

我创建了一个 Web 应用程序,它将 PDF 文件发送到 SQL 数据库表,以便稍后加载并通过电子邮件发送。目前我的代码可以工作并且 PDF 文件正在通过电子邮件发送,但是一旦打开...

回答 1 投票 0

JSPDF / HTML2CANVAS 用.html方法渲染空白页面

生成的 PDF 页面呈现空白。我尝试了很多方法和不同版本的依赖项。现在我感觉所有的希望都破灭了。 我需要文本可供选择并且有一个存在...

回答 2 投票 0

pdf不是使用jspdf生成的

代码: var doc = jsPDF(); var getImageFromUrl = 函数(url, 回调) { var img = 新图像(); img.onError = 函数() { alert('无法加载图片:"'+url+'"'); }; img.onload = 函数...

回答 2 投票 0

在 PDF 到 JPG 转换网页中设置 GlobalWorkerOptions.workerSrc 和加载 jsPDF 库的问题

我正在尝试创建一个 HTML 网页,可以将 PDF 文件转换为 JPG 图像,然后将重新排列的页面导出为新的 PDF 文件。 代码如下: 我正在尝试创建一个 HTML 网页,可以将 PDF 文件转换为 JPG 图像,然后将重新排列的页面导出为新的 PDF 文件。 代码如下: <!DOCTYPE html> <html> <head> <title>PDF pages rearranger</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.min.js"></script> <style> /* Define the style for the container element */ #container { width: 600px; height: 400px; border: 1px solid black; margin: 20px auto; overflow: auto; } /* Define the style for the image elements */ img { width: 100px; height: 100px; margin: 10px; cursor: move; /* Change the cursor to indicate that the images are draggable */ } </style> <!-- Load the jQuery library from a CDN --> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <!-- Load the jQuery UI library from a CDN --> <script src="https://code.jquery.com/ui/1.13.0/jquery-ui.min.js"></script> <!-- Load the jsPDF library from a CDN --> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script> </head> <body> <input type="file" id="fileInput" accept=".pdf" /> <button id="convertButton">Convert to JPG</button> <!-- Create a div element to hold the images --> <div id="container"></div> <!-- Create a button to export the rearranged pages as a new PDF file --> <button id="exportButton">Export as PDF</button> <script> // Set the GlobalWorkerOptions.workerSrc property window.GlobalWorkerOptions = { workerSrc: 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.worker.min.js' }; const fileInput = document.getElementById('fileInput'); const convertButton = document.getElementById('convertButton'); const container = document.getElementById('container'); const exportButton = document.getElementById('exportButton'); convertButton.addEventListener('click', async () => { const file = fileInput.files[0]; if (!file) { alert('Please select a PDF file first'); return; } // Clear any existing images in the container container.innerHTML = ''; const reader = new FileReader(); reader.onload = async (event) => { const typedArray = new Uint8Array(event.target.result); const pdfDocument = await pdfjsLib.getDocument(typedArray).promise; const numPages = pdfDocument.numPages; for (let i = 1; i <= numPages; i++) { const page = await pdfDocument.getPage(i); const viewport = page.getViewport({ scale: 1.0 }); const canvas = document.createElement('canvas'); canvas.width = viewport.width; canvas.height = viewport.height; const ctx = canvas.getContext('2d'); await page.render({ canvasContext: ctx, viewport }).promise; const dataUrl = canvas.toDataURL('image/jpeg'); download(dataUrl, `page${i}.jpg`); // Create an img element for each page and add it to the container const img = document.createElement('img'); img.src = dataUrl; img.alt = `Page ${i}`; container.appendChild(img); } // Make the image elements draggable and sortable using jQuery UI $("#container").sortable({ // Define a helper function to create a clone of the dragged image helper: function(e, ui) { return $(ui).clone().appendTo("#container").show(); } }); }; reader.readAsArrayBuffer(file); }); exportButton.addEventListener('click', () => { // Create a new jsPDF instance const doc = new jsPDF(); // Get all the img elements in the container const images = container.querySelectorAll('img'); // Add each image to the PDF document images.forEach((img, index) => { if (index > 0) { doc.addPage(); } doc.addImage(img.src, 'JPEG', 10, 10); }); // Save the PDF document doc.save('rearranged.pdf'); }); function download(dataUrl, filename) { const link = document.createElement('a'); link.href = dataUrl; link.download = filename; link.click(); } </script> </body> </html> 但是,当我尝试运行代码时,遇到了两个问题: 当我单击“转换为 JPG”按钮时,出现第一条警告消息,显示“已弃用的 API 使用:未指定 GlobalWorkerOptions.workerSrc”。我猜这是由于 GlobalWorkerOptions.workerSrc 属性设置不正确造成的。 当我单击“导出为 PDF”按钮时,出现第二条警告消息,显示“未捕获的引用错误:jsPDF 未定义”。看来 jsPDF 库没有正确加载。 任何人都可以帮助我了解可能导致这些问题的原因并提供如何解决这些问题的建议吗? 您面临的问题确实与外部库的加载顺序和潜在的计时问题有关。让我们分别解决每个问题: 已弃用的 API 使用警告 (GlobalWorkerOptions.workerSrc): 要修复“已弃用的 API 使用”警告,您需要在加载 GlobalWorkerOptions.workerSrc 库后设置 pdf.js 属性。您可以在初始化 workerSrc 对象时使用 pdfjsLib 选项来实现此目的。将以下代码放在脚本的开头: const workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.worker.min.js'; const pdfjsLib = window['pdfjs-dist/build/pdf']; pdfjsLib.GlobalWorkerOptions.workerSrc = workerSrc; 然后,您可以像以前一样继续编写脚本的其余部分。 未捕获的引用错误:jsPDF 未定义: 发生此错误的原因是未加载或识别 jsPDF 库。在使用之前,您需要确保jsPDF库已完全加载。 要解决此问题,您可以将导出代码包含在 jsPDF 脚本的 load 事件的事件侦听器中。具体方法如下: const jsPDFScript = document.createElement('script'); jsPDFScript.src = 'https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js'; jsPDFScript.onload = () => { // Your export code here exportButton.addEventListener('click', () => { // ... (your existing export code) }); }; document.body.appendChild(jsPDFScript); 将此脚本放在定义 exportButton 和其他元素的部分之后。 通过解决这两个问题,您的代码应该按预期工作,不会出现警告和错误。关键是确保所需的库以正确的顺序加载和初始化。

回答 1 投票 0

XFA PDF 将数据填充到重复的字段 ID 中

使用库 pdf.js IRCC XFA 参考:https://www.canada.ca/content/dam/ircc/migration/ircc/english/pdf/kits/forms/imm5257b_1.pdf 在此 XFA 表单中,fieldid 和 dataid 值是重复的

回答 1 投票 0

如何解决 html2pdf.js 中的“空白页”问题?

我正在尝试使用 html2pdf.js 将 HTML 文档转换为 PDF,但结果我得到的 pdf 的第一页为空白,文档的最后一页被半裁剪。这样的问题怎么可能...

回答 3 投票 0

JsPDF Autotable 将图像添加到列会出现错误:属性“getElementsByTagName”不存在

我正在尝试使用其 url 从 AWS S3 存储桶添加图像,数据格式如下所示: [{ 净值:13702.5, 产品代码:“UPP”, 产品描述:“隐私面板”,

回答 1 投票 0

我在我的reactJs中使用jsPdf,我正在将html下载到pdf。它下载正确,但页面更改后我的内容正在剪切页面

在此输入图像描述 你可以看到图片有什么问题 这是下载 pdf 的功能:- 常量handleGeneratePdf = () => { 常量 doc = 新 jsPDF({ 格式:“a1”...

回答 0 投票 0

jsPDF 在生产中未生成 PDF(可能是 webpackconf 的问题?)

在 JHipster 生成的 Angular 应用程序中,我设法在开发模式下通过 jsPDF 生成 PDF。 但是当我构建它并将其推送到 VPS 上时,在文档中添加图像会导致 web 应用程序崩溃。 717.1183bdcffdb5d922...

回答 1 投票 0

在 devexpress 网格中导出文件时如何删除缓存数据?

我的问题是,当我第二次或第三次导出网格中的一行数据时,数据会增加一倍或三倍等。它不会增加页面,但在一页上,行会增加。 ...

回答 0 投票 0

无法使用 html2canvas 和 jsPDF 捕获元素内的完整内容并将其包含在 PDF 中

我正在尝试使用 Vue.js 项目中的 html2canvas 和 jsPDF 库从 id 为“pagebuilder”的特定 div 元素内的内容生成 PDF。但是,我面临一个问题......

回答 1 投票 0

在 ReactJS 组件中使用 html2canvas 和 jsPDF 库时,如何解决生成的 PDF 中长表格被截断的问题?

我在 ReactJS 组件中使用 html2canvas 和 jsPDF 库将表格导出到 PDF 文件。但是,我遇到一个问题,表格太长,无法容纳在单个页面中,导致......

回答 0 投票 0

如何使用 jsPDF 生成仪表板 PDF 文件?

我需要将仪表板导出为 PDF 文件。上面的一些图表很容易通过将它们转换成图片来显示。但是有些图表包含文本,有些图表包含表格......

回答 0 投票 0

制表符 ( ) 在 jsPDF 中不使用 Roboto 字体打印

我有一个使用 jsPDF 的解决方案,我可以根据用户输入动态生成文档。我遇到过,如果要打印的文本包含字符,则后面的所有内容都不会优先...

回答 0 投票 0

在 E.y.private.text.y.text 传递给 jsPDF.text 的参数无效

第一次海报,通常能够自己解决所有问题。我对此不知所措。 我几乎在另一个项目中使用过这个确切的代码片段,但这次它在 ti...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.