使用客户端 JavaScript 将文件附加到 PDF?
Attach a file to a PDF using client-side JavaScript?
如何仅使用客户端浏览器JavaScript将任意文件(例如 XLSX)attached/embedded 转换为 PDF 文件?
如果重要的话,XLSX 由用户使用输入文件按钮提供,而 PDF 从外部网络服务接收并以 base64 编码。
我不是在寻找一个完整的解决方案(如果它存在就太好了),但你会如何以更高层次的方式解决这个问题
文件是使用二进制文件流附加的,在 PDF 文件中看起来像这样:
32 0 obj
<</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>>
stream
{file data}
endstream
endobj
您可以使用此库的 JSPdf library for this case. You have to took at JavaScript plugin and at addImage plugin 源代码来查看如何完成文件附件。我认为 JavaScript 插件源代码对于这种情况更容易理解。
I am not looking for a complete solution
是的,你必须自己写一个完整的解决方案,因为现在这个库不支持自定义文件附件。
Files are attached using binary file streams, that looks like this in the PDF file:
32 0 obj
<</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>>
stream
{file data}
endstream
endobj
是的,有些像这样的你得写。您必须意识到您也必须编写代码来读取 PDF 文件。
备选方案
但是,如果这对您来说太难或工作量太大,那么您必须考虑在服务器端完成所有这些工作。您可以使用 AJAX 向您的服务器发送请求,然后服务器执行此操作并返回一个新的 PDF。
在这种情况下,您可以使用免费的 PHP 库编辑 PDF 服务器端,例如 FPDI for example. With FPDI it is possible to read and to edit PDF documents (use createByFile()
method to read a PDF). The FPDI is extended version of FPDF library, which has the plugin for attachments.
如何仅使用客户端浏览器JavaScript将任意文件(例如 XLSX)attached/embedded 转换为 PDF 文件?
如果重要的话,XLSX 由用户使用输入文件按钮提供,而 PDF 从外部网络服务接收并以 base64 编码。
我不是在寻找一个完整的解决方案(如果它存在就太好了),但你会如何以更高层次的方式解决这个问题
文件是使用二进制文件流附加的,在 PDF 文件中看起来像这样:
32 0 obj
<</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>>
stream
{file data}
endstream
endobj
您可以使用此库的 JSPdf library for this case. You have to took at JavaScript plugin and at addImage plugin 源代码来查看如何完成文件附件。我认为 JavaScript 插件源代码对于这种情况更容易理解。
I am not looking for a complete solution
是的,你必须自己写一个完整的解决方案,因为现在这个库不支持自定义文件附件。
Files are attached using binary file streams, that looks like this in the PDF file:
32 0 obj <</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>> stream {file data} endstream endobj
是的,有些像这样的你得写。您必须意识到您也必须编写代码来读取 PDF 文件。
备选方案
但是,如果这对您来说太难或工作量太大,那么您必须考虑在服务器端完成所有这些工作。您可以使用 AJAX 向您的服务器发送请求,然后服务器执行此操作并返回一个新的 PDF。
在这种情况下,您可以使用免费的 PHP 库编辑 PDF 服务器端,例如 FPDI for example. With FPDI it is possible to read and to edit PDF documents (use createByFile()
method to read a PDF). The FPDI is extended version of FPDF library, which has the plugin for attachments.