簡體   English   中英

使用客戶端JavaScript將文件附加到PDF嗎?

[英]Attach a file to a PDF using client-side JavaScript?

如何僅使用客戶端瀏覽器JavaScript將任意文件(例如XLSX)附加/嵌入到PDF文件?

如果重要的話,XLSX是由用戶使用輸入文件按鈕給出的,而PDF是從外部Web服務接收並以base64編碼的。

我不是在尋找完整的解決方案(如果有的話,那會很好),但是您將如何以更高的層次來解決這個問題?

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

32 0 obj
 <</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>>
 stream
 {file data}
 endstream
 endobj

您可以在這種情況下使用JSPdf庫 您必須閱讀此庫的JavaScript插件addImage插件源代碼,才能了解如何完成文件附件。 我認為在這種情況下,JavaScript插件源代碼更容易理解。

我不是在尋找完整的解決方案

是的,您必須自己編寫一個完整的解決方案,因為該庫現在不支持自定義文件附件。

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

 32 0 obj <</Type /EmbeddedFile /Subtype /{mimetype} /Length 72>> stream {file data} endstream endobj 

是的,您必須寫一些類似的東西。 您必須意識到,您還必須編寫代碼以讀取PDF文件。

替代解決方案

但是,如果這對您來說太困難或太多工作,那么您就必須考慮在服務器端完成所有這些工作。 您可以使用AJAX向服務器發送請求,服務器執行該請求,並返回新的PDF。

在這種情況下,您可以使用免費的PHP庫(例如FPDI)編輯PDF服務器端。 使用FPDI,可以讀取和編輯PDF文檔(使用createByFile()方法讀取PDF)。 FPDI是FPDF庫的擴展版本,它具有用於附件插件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM