使用客户端JavaScript将文件附加到PDF?

Vic*_*tor 8 javascript pdf file attachment

如何使用客户端浏览器JavaScript将任意文件(例如XLSX)附加/嵌入到PDF文件中?

如果重要,则XLSX由用户使用输入文件按钮和从外部Web服务接收并在base64中编码的PDF给出.

我不是在寻找一个完整的解决方案(如果它存在会很好),但你会如何以更高层次的方式解决这个问题

文件使用二进制文件流附加,在PDF文件中如下所示:

32 0 obj
 <</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>>
 stream
 {file data}
 endstream
 endobj
Run Code Online (Sandbox Code Playgroud)

Bha*_*ata 3

对于这种情况,您可以使用JSPdf 库。您必须查看该库的JavaScript 插件addImage 插件源代码才能了解如何完成文件附件。我认为 JavaScript 插件源代码对于这种情况更容易理解。

我并不是在寻找完整的解决方案

是的,您必须自己编写一个完整的解决方案,因为现在该库不支持自定义文件附件。

使用二进制文件流附加文件,在 PDF 文件中如下所示:

32 0 obj
<</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>>
stream
{file data}
endstream
endobj
Run Code Online (Sandbox Code Playgroud)

是的,有些像这样的你必须写。您必须意识到,您还必须编写用于读取 PDF 文件的代码。

替代解决方案

但是,如果这对您来说太困难或太多工作,那么您必须考虑在服务器端完成所有这些工作。您可以使用 AJAX 向服务器发送请求,服务器会执行此操作并返回一个新的 PDF。

在这种情况下,您可以使用免费的 PHP 库(例如FPDI)编辑 PDF 服务器端。使用 FPDI 可以读取和编辑 PDF 文档(使用createByFile()读取 PDF 的方法)。FPDI是FPDF库的扩展版本,它具有附件插件