2016-10-02 48 views
1

問題:是否可以將PDF數據嵌入到HTML(5)頁面而不鏈接到實際的服務器上的盤上PDF文件。將PDF嵌入到HTML中而不保存實際文件

背景: 我剛剛將我們的webshop/erp系統的文檔切換爲pdf文件,通常這些文件通過電子郵件發送發票,收據等。

現在我有這個可愛的預覽/發送文檔彈出窗口顯示發票,訂單確認等,並允許員工選擇一個或多個發送給客戶。以前我使用過html文件,這些文件很容易「嵌入」到彈出窗口中,但在通過電子郵件發送時,它們並不是一個很好的選擇。

所以我現在把我們所有的文檔都改成了PDF文件,它們都看起來更好,並且不會像HTML文件那樣容易被垃圾過濾器捕獲。

目前我將文件保存在我的服務器臨時目錄中,然後用此嵌入它作爲我的彈出窗口的一部分:

<object width="100%" height="100%" type="application/pdf" data="http://dev.foo.bar/temp/<rm-var document_filename>"></object> 

這工作,但它創造了一個「臨時」文件每次打開文檔時在彈出窗口中。在我們的生產環境中,這可能會很快導致相當多的文件並開始佔用空間。

TcPDF可以發送標題和數據,只在瀏覽器中查看pdf,而無需將文件保存在任何地方。這基本上是我想要的,但除pdf數據嵌入或服務器響應的一部分外。因爲彈出窗口在我們的系統中被廣泛使用,所以需要html,這對我們的工作人員來說是正確的文檔,讓正確的用戶無憂無慮。

我真的不介意設置一個cronjob來刪除超過一個小時左右的某些文件,但是如果可以包含來自tcpdf的PHP文件(或字符串數​​據)一些其他不需要的方式任何額外的清理,我寧願它。如果別人用他們不知道的設置混亂,Cronjobs和其他「依賴」可能會在未來造成麻煩。

回答

0

Just Base64對PDF進行編碼並將其設置爲數據屬性的值。

+0

是否還有其他的東西,因爲我記得對象說明狀態數據應該是一個URL,事實上我試圖把PDF字符串放入數據屬性,但只是得到一個空白頁。我也嘗試了普通mpdf-> output(null,'S')和base64編碼,但沒有運氣。 –

相關問題