簡體   English   中英

使用Javascript從模板生成PDF

[英]Generate PDF from Template using Javascript

情況如下:我們有一個網站,該網站生成(大型)合同JSON,現在我們希望使用前端(即javascript)將其導出為pdf。 目前,我使用pdfmake,但我發現很難獲得每個合同都相同的布局。 我希望有某種模板,可以用JSON中的值填充。

目前,我能想到的最好的方法是使用LaTex編寫pdf模板,並用一些模板框架填充它,然后使用LaTex編譯器進行編譯。 但是,我希望您能告訴我一些簡單的事情。 一鍵從JSON到pdf,這很重要。

我已經針對類似情況進行了一些研究。 以下是我列出的三個選項:

  1. HTML-PDF(nodejs模塊)
  2. WKTHMLTOPDF
  3. PhantomJS(甚至前兩個選項也使用phantomjs)
  4. jsPDF-可以在客戶端使用

我最終使用pdfmake。 首先,我理解錯了,這是導致我無法編輯pdf的原因。 現在我知道,您可以使用很多列來很好地布局文檔。

我試圖讀取.tex文件,並使用FreeMarker填充它。 這工作得很好,但是沒有在線LaTeX編譯器,我不得不強迫客戶在不需要的本地編譯.tex文件。

但是,如果您在本地擁有LaTeX編譯器,則應該可以使用。

在使該解決方案運行了一段時間之后,我想補充一點,在這種情況下,事后更改文檔(例如添加表)是非常困難的。 如果必須再次執行此操作,則可能會嘗試將pdf的構建塊實現為帶有占位符的乳膠模板。 像角度指令。 在文檔構建過程中,我將逐個模板瀏覽模板,使用從后端接收的數據生成Latex-Blocks(如表格),然后使用FreeMarker將生成的數據填充到模板中,然后將模板放入一個完整的乳膠文件,將整個pdf保留在乳膠中。 使用像texlive這樣的js-Latex編譯器,我應該能夠從該文件生成pdf。

從理論上講,所有這些工作都可能比我做的工作還要多,但是我更喜歡此解決方案,因為它更干凈,更易於維護。 從我的錯誤中學習:-)

暫無
暫無

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

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