"合并多个Blob后显示pdf,合并后的pdf只显示了最后一页内容:这可能是由于每个Blob都代表了一个完整的PDF文件,当你将多个Blob合并成一个Blob时,只有最后一个Blob的内容会显示出来。如果你想要显示多个PDF文件的所有页数,你需要使用其他的方法来合并这些PDF文件,而不仅仅是将它们的Blob对象合并。\n\n一种可行的方法是使用第三方库,如pdf-lib或pdf.js,它们提供了更多高级的PDF操作功能。你可以使用这些库来解析每个PDF文件,提取它们的页数,并将它们逐页地合并到一个新的PDF文件中。这样,你就可以显示所有的页数了。以下是使用pdf-lib库来合并多个PDF文件的示例代码:\n\njavascript\nconst \{ PDFDocument \} = require('pdf-lib');\n\nasync function mergePDFs(pdfBlobs) {\n // 创建一个新的PDF文档\n const mergedPDF = await PDFDocument.create();\n\n // 遍历每个PDF Blob\n for (const blob of pdfBlobs) {\n // 读取Blob内容并将其解析为PDF文档\n const pdfDoc = await PDFDocument.load(await blob.arrayBuffer());\n\n // 获取PDF文档的所有页\n const pages = await mergedPDF.copyPages(pdfDoc, pdfDoc.getPageIndices());\n\n // 将每个页添加到新的PDF文档中\n for (const page of pages) {\n mergedPDF.addPage(page);\n }\n }\n\n // 将合并后的PDF文档转换为Blob对象\n const mergedBlob = await mergedPDF.saveAsBlob();\n\n // 显示合并后的PDF文档\n const mergedUrl = URL.createObjectURL(mergedBlob);\n window.open(mergedUrl);\n}\n\nmergePDFs(pdfBlobs);\n\n\n请注意,上述代码使用了pdf-lib库来处理PDF文件。你需要先安装pdf-lib库,并将其引入到你的项目中。安装命令如下:\n\n\nnpm install pdf-lib\n\n\n这样,你就可以使用pdf-lib库来合并多个PDF文件,并显示合并后的PDF文档了。\n

合并多个PDF Blob时只显示最后一页内容的解决方法

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

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