"要将多个Blob的PDF打印在一起,可以使用JavaScript的iframe和Blob URL来实现。下面是一个示例代码:\n\njavascript\n// 创建一个空的iframe元素\nvar iframe = document.createElement('iframe');\niframe.style.display = 'none';\n\n// 将iframe添加到页面中\ndocument.body.appendChild(iframe);\n\n// 创建一个空的Blob URL数组\nvar blobUrls = [];\n\n// 生成多个Blob,并将Blob URL添加到数组中\nfunction generateBlobPdfAndPrint(data, callback) {\n var blob = new Blob([data], { type: 'application/pdf' });\n var blobUrl = URL.createObjectURL(blob);\n blobUrls.push(blobUrl);\n callback(blobUrl);\n}\n\n// 拼接多个Blob PDF并加载到iframe中\nfunction concatenateBlobPdfs() {\n var pdfDoc = iframe.contentWindow.document;\n\n // 创建一个空的PDF文档\n pdfDoc.open();\n\n // 逐个加载Blob PDF并添加到文档中\n blobUrls.forEach(function(blobUrl) {\n pdfDoc.writeln('<embed src="' + blobUrl + '" width="100%" height="100%" />');\n });\n\n // 关闭PDF文档\n pdfDoc.close();\n\n // 打印PDF\n iframe.contentWindow.print();\n}\n\n// 示例用法\ngenerateBlobPdfAndPrint('第一个Blob PDF内容', function(blobUrl) {\n generateBlobPdfAndPrint('第二个Blob PDF内容', function(blobUrl) {\n concatenateBlobPdfs();\n });\n});\n\n\n在上述代码中,首先创建一个隐藏的iframe元素,并将其添加到页面中。然后,通过generateBlobPdfAndPrint函数生成多个Blob PDF,并将Blob URL添加到数组中。最后,使用concatenateBlobPdfs函数将所有Blob PDF拼接在一起,并加载到iframe中,然后调用print方法打印PDF。\n

JavaScript使用iframe拼接多个Blob PDF并打印

原文地址: https://www.cveoy.top/t/topic/p94b 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录