[VtigerCRM][模組] PDF Marker for 6.x的客制化PDF設計
大概2014年1月就已經放出了vtiger 6.0的下載。但遲遲強大的PDF Maker卻只開放付費版使用。經過了半年之後終於5月底才放出來了Free免費。
PDF Maker是一套第三方的擴充套件,主要解決原本系統的四大PDF生成的設計不便問題。使用了PDF Maker,您可以很輕鬆的透過HTML語法滿足想要的Template自訂風格設計。同時可去抓取相關表單所需模組欄位在PDF上的資料呈現。
免費版與付費版的最大差異,能否在於四大表單系統(報價單、銷售訂單、發票(出貨單)、採購訂單)的Template設計數量。譬如你需要可以產生EN版的又能TW版的這樣就算2個Template。免費版就不適合您來使用。
付費版約台幣2千左右。詳細有興趣購買付費版請自行前往了解。我不是工商服務,我只是說明免費版有多少功能而已。
免費版的官方連結在此,很抱歉官方一樣沒有提供zh_tw。所以我從以前翻譯的版本沿襲過來用,完整度大約40%。我沒有全部翻譯完,因為只是個設定套件,一般User並不會去查看PDF Maker Setting。
PDF Maker Free for vTiger CRM v6.0.0 免費版下載處 By Google Drive
由於PDF Maker免費版本剛出來太新,還有一些小問題。相關問題整理如下:
從vTiger 5.4.0升級上去vTiger 6.0.0,PDF Maker無法正常運作
解:
PDF Maker 5.4環境跟6.0環境完全不一樣,你一定要先在5.4的環境徹底移除乾淨PDF Maker。你必須要...
1. 透過自撰的delete_module.php,根據vtlib來移除Module。
2. 移除根目錄下的module/pdfmaker,以及smarty/templates/modules/pdfmaker,還有cache
3. 移除SQL的vtiger_linker跟PDF Maker有關的資料檔,大約4筆兩組共8筆。
4. 移除SQL上面命名為vtiger_pdfmaker_... 的所有資料表
當你完成舊板上的移除之後,再來升級上去才能正常安裝且運作。
為何Head/Footer會失效無法顯現
解:
官方忘記對Head/Footer的高度屬性補上去,導致Save Setting時這兩個參數無法入值變成0。等待PDF Maker fixed或者從SQL的vtiger_pdfmaker_setting,修改disp_header=3,disp_footer=7
如何調整輸出PDF紙張大小為中一刀
解:
PDFMaker 6.0 Free提供了此設定,選擇custom即可,中一刀的參數為 215.9 x 139.7。
中文輸出PDF都是口口口口
解:
mpdf的列印問題,修改modules\PDFMaker\resources\mpdf\config.php 約44行,更改$this->useAdobeCJK = true;
輸出字體是簡體
解:
老問題,去修改modules\PDFMaker\resources\mpdf\config_cp.php
PDF Maker是一套第三方的擴充套件,主要解決原本系統的四大PDF生成的設計不便問題。使用了PDF Maker,您可以很輕鬆的透過HTML語法滿足想要的Template自訂風格設計。同時可去抓取相關表單所需模組欄位在PDF上的資料呈現。
免費版與付費版的最大差異,能否在於四大表單系統(報價單、銷售訂單、發票(出貨單)、採購訂單)的Template設計數量。譬如你需要可以產生EN版的又能TW版的這樣就算2個Template。免費版就不適合您來使用。
付費版約台幣2千左右。詳細有興趣購買付費版請自行前往了解。我不是工商服務,我只是說明免費版有多少功能而已。
免費版的官方連結在此,很抱歉官方一樣沒有提供zh_tw。所以我從以前翻譯的版本沿襲過來用,完整度大約40%。我沒有全部翻譯完,因為只是個設定套件,一般User並不會去查看PDF Maker Setting。
PDF Maker Free for vTiger CRM v6.0.0 免費版下載處 By Google Drive
由於PDF Maker免費版本剛出來太新,還有一些小問題。相關問題整理如下:
從vTiger 5.4.0升級上去vTiger 6.0.0,PDF Maker無法正常運作
解:
PDF Maker 5.4環境跟6.0環境完全不一樣,你一定要先在5.4的環境徹底移除乾淨PDF Maker。你必須要...
1. 透過自撰的delete_module.php,根據vtlib來移除Module。
2. 移除根目錄下的module/pdfmaker,以及smarty/templates/modules/pdfmaker,還有cache
3. 移除SQL的vtiger_linker跟PDF Maker有關的資料檔,大約4筆兩組共8筆。
4. 移除SQL上面命名為vtiger_pdfmaker_... 的所有資料表
當你完成舊板上的移除之後,再來升級上去才能正常安裝且運作。
為何Head/Footer會失效無法顯現
解:
官方忘記對Head/Footer的高度屬性補上去,導致Save Setting時這兩個參數無法入值變成0。等待PDF Maker fixed或者從SQL的vtiger_pdfmaker_setting,修改disp_header=3,disp_footer=7
如何調整輸出PDF紙張大小為中一刀
解:
PDFMaker 6.0 Free提供了此設定,選擇custom即可,中一刀的參數為 215.9 x 139.7。
中文輸出PDF都是口口口口
解:
mpdf的列印問題,修改modules\PDFMaker\resources\mpdf\config.php 約44行,更改$this->useAdobeCJK = true;
輸出字體是簡體
解:
老問題,去修改modules\PDFMaker\resources\mpdf\config_cp.php
else if ($country == "CN") { if ($adobeCJK) { //$unifonts = "gb,gbB,gbI,gbBI"; $unifonts = "big5,big5B,big5I,big5BI";
//強迫改為Big5成為繁體
}
不好意思想請教一下,我從5.4升級到6.0依照上面的步驟移除在更新,但是安裝6.0版本的pdfmaker之後,輸出它顯示 "mPDF error: Invalid page format:" ,這樣該如何解決呢?
回覆刪除這畫面從哪個操作時跑出來的?
刪除從報價單要使用PDFMAKER導出後所跳轉道的訊息。
刪除原本舊的pdfmaker 資料還存留在MySQL,所以才會發生這個問題。
刪除基本上還要多做一個動作
4. 移除SQL上面命名為vtiger_pdfmaker_... 的所有資料表
看你要不要再進行一次5.4 to 6.0,把第四點處理掉最簡單
或者
這時候進入到vitger_pdfmaker_setting,找出是哪個設定有問題。
譬如輸出紙張大小,先改回A4。
這位朋友出現的問題應該也是由於vitger_pdfmaker_setting丟失相關的記錄資料,導致提示mPDF error: Invalid page format。我安裝的版本是5.4升級到6.0,並且執行了清理舊資料的操作後,安裝的PDFMaker。
刪除解決"mPDF error: Invalid page format:"這個錯誤,可以修改SQL的vitger_pdfmaker_setting的字段owner的類型為varchar就可以。我沒有從php代碼看,只看了modules/PDFMaker/actions/SavePDFTemplate.php,剛接觸vtiger看不明白,開啟了mysql的log,發現insert into vitger_pdfmaker_setting語句有問題。
刪除這句話是在modules/PDFMaker/actions/SavePDFTemplate.php的Line 99 開始執行的。
注意在修改之前需要按照博主的方法重新安裝PDFMaker,因為vitger_pdfmaker_setting由於操作會丟失記錄,無法恢復。
我修改之後 變成了 【mPDF error: Unable to create output file: cache/報價單.pdf】這格錯誤 = =
刪除建議在5.4那裡的時候,把PDF Maker徹底移除,尤其是SQL資料表那裡跟PDF Maker有關的都刪掉。讓6.0保持乾淨的狀態,才能安裝PDF Maker for 6.0。
刪除但我用其他語系(內建英文或其他語系),輸出報價單是正常的,然後由於6.0版本輸出報價單PDF是讀取不同語系之標題,可能是中文字的問題,不知道這樣是否有解
刪除我用純6.0的然後再中文化然後裝PDFMAKER,輸出報價單的時候依舊出現mPDF error: Unable to create output file: cache/報價單.pdf,這跟伺服器的環境是否有影響?
刪除1. 先跳過4-5樓的做法,照正常方式安裝乾淨6.0與中文化+PDF,不要去修改MySQL
刪除2. 安裝PDF Maker會引導安裝mPDF,這裡順著去完成
3. 對整個vtiger資料夾先權限改為755or777
4. 完成之後,先不要修改PDF Maker設定範本,直接匯出來看看
我想知道正常最乾淨的動作下,還能不能正常
依照上面步驟來做,在英文介面或其他內建語言是可以輸出報價單的,設定成為繁體中文之後,就會出現錯誤。我的環境是windows server 2012 不知道是有影響
刪除確定第三步驟,整個資料夾權限為755or777嗎?
刪除確認過了,是正確的
刪除目前猜測偏向於MPDF無法在windows 2012裡面,無法建立一個以"中文"命名的"報價單.pdf"這個檔案。
刪除pdf maker這一版會根據語言產生*.pdf,譬如EN輸出叫做Quote.pdf,TW輸出為報價單.pdf。
所以"cache/報價單.pdf" 這個路徑,對你的OS來說路徑不存在,因此無法寫入路徑為
解決方法
1. 找出報價單這個關聯翻譯或是php編碼,讓中文輸出的檔名為Quote.pdf,而不是報價單.pdf
2. 調整Windows語系,讓這個cache/報價單.pdf 之路徑名稱是合法可理解
有點像我們去安裝簡體軟體,整個路徑名稱在未知編碼之路徑下都會看不懂。
刪除目前看起來vitger+pdf是正常的,只差別繁體輸出有問題,翻譯過程沒啥影響,只差在於輸出的命名方式。
既然是無法建立『報價單.pdf』,我猜測為
mpdf對OS說:俺想建立一個檔案路徑為cache/報價單.pdf
OS回:cache/報價單.pdf?報價單這個編碼我看不懂,此路徑不存在
mpdf哭著對你說:俺沒辦法建立,哭哭~
修改C:\Program Files\vtigerCRM610\apache\htdocs\vtigerCRM\languages\zh_tw目錄下的Vtiger.php
刪除將'Quotes'=>'報價單',修改為'Quotes'=>'Quotes,雖然首頁的 報價單 也變成 Quotest,但是輸出就不會出錯了。
不錯唷
刪除在安裝後,第一次修改系統提供的4個模板均提示成功,但是第二次修改就無法保存。我發現是由於vitger_pdfmaker_setting丟失相關記錄,修改一個就丟一個。但不知道是什麼原因導致資料丟失。
回覆刪除因為PDF Maker 5.4沒移除乾淨,變成有部分的SQL資料表在6.0安裝時會自動忽略舊版的資料表。整個錯亂
刪除另外vitger_pdfmaker_setting的結構 5.4跟6.0不一樣,所以寫入的時候總是Fail。我的推測是這樣
刪除我的問題也是出在第一次修改系統提供的4個模板均提示成功,但是第二次修改就無法保存。
刪除不知站長是否有解決的辦法。
我猜你之前有安裝到舊版的PMK 5.4.0,導致mysql的vitger_pdfmaker_setting結構是舊的,現在又灌上PMK 6.0,6.0跟5.4的PMK差異很大。我建議你重新安裝一個乾淨的vitger 6.0,再安裝本篇的PMK 6.0試試。不要再拿目前這個試了,mysql資料表已經錯亂了。
刪除我的vtigerCRM 是全新6.0安裝的哦! 不是升級的。一直找不出問題,重裝都只能套用一次,想再修改就沒辦法了。
刪除不是指你的CRM是5.4上去的,是說可能安裝錯誤的版本。6.0的CRM一定要6.0的PMK,重裝PMK是解決不了的。
刪除重新確認這個動作是否OK:新安裝vtiger,資料夾權限777,重新下載本篇再安裝PMK for 6.0,不要改內容,能不能匯出PDF? 去改body測試,再匯出。
告訴我上面哪個步驟卡住了
裝的版本都是對的,我已經找出問題點了,因為vitger_pdfmaker_setting由於操作會丟失記錄,無法恢復,所以我另外安裝一套vtigercrm,看出儲存後vitger_pdfmaker_setting 會被清空,所以我有將值先匯出,出在SQL的vitger_pdfmaker_setting字段owner的類型更改為varchar就解決了。
刪除感謝你了。
就算是重新的環境全新安裝6.0還是會有無法儲存與套用的問題,但這問題只有第一次不會,要在編輯就不法在儲存和套用了,不知怎樣處理,況且disp_header=3,disp_footer=7 預設值就是這樣。
回覆刪除你的ID是陌生的,你是接續匿名者的話題嗎?
刪除不是哦,我是新加入瞭解vtigerCRM的新成員,只是也遇到Pdfmaker無法儲存和再次編輯修改的問題。
刪除不知這問題有解嗎?
一開始是安裝PDFMakerFree_600_1 之後也有更新至PDFMakerFree_600_2,但模塊功能那又顯示有更新版本,PDFMaker-600.0.1 檔案大小有31.4M更新之後也沒什變化。
我的PMK版本沒有那麼多,只有一個。模塊也不會有更新功能,你誤會挺深的。
刪除你的問題該屬資料夾權限需設為755或777看看
請問一下,PDF Maker 輸出pdf有辦法改字型嗎?
回覆刪除PDF Maker是透過mpdf 來建立檔案,可以goo一下 mpdf font
刪除修改之處應該在 modules\PDFMaker\resources\mpdf
可參考http://www.mpdf1.com/forum/discussion/1220/adding-fonts-in-mpdf/p1
太好了,感謝你給我這條線索。已經解決囉。而且用PDF Maker 輸出的檔案很小不到100kb。
刪除聽起來很棒,盼你能分享修改方法給所有人。
刪除i have the same problem:invalid page format error when i try to pdf my invoice. I tried drop, truncate the table, but could not solve the problem. I could not save the page setting on pdfmaker screen. Finally I saw my vtiger_pdfmaker_setting table has only three row, but i have 4 templates! the templateid=1 (invoice) was missing, so i recreated that row of data on myphpadmin, and the problem is resolved!
回覆刪除我架設的是Vtiger 6.1 + PDF Maker,請問有沒有人遇過下列問題
回覆刪除輸出報價單時,所有的欄位都未正常顯示,例如:
客戶ID顯示 $ QUOTES_ACCOUNT_ID $
客戶地址顯示 $ QUOTES_BILL_STREET $
你參數從哪來了,PDF Maker撈給你的參數嗎?
刪除一定要PDF Maker提供的標籤文字才行,
看起來應該長這樣
$M_QUOTES_ACCOUNT_ID$
自己回覆,不知道是甚麼原因,PDF Maker的4個樣板中,每個$後面或前面都多了個空白字元,所以轉出PDF時才會出現顯示 $ QUOTES_ACCOUNT_ID $ 這樣的結果,修掉這個問題後就正常了
刪除目前剩下%的問題 %G_Qty% 、 %G_Discount% ....努力測試中
您好,前面的問題已經解決,主要是$前後有空白的問題,處理後就正常了
刪除但現在有另一個問題,沒看到產品資料,請見截圖
http://a360.co/1FtnDHU
您是否有遇過這方面的問題呢?
您好,我的表單參數顯示問題,在移除/重裝後就解決了
刪除建議透過線上Store進行安裝最新版本6.0.004
刪除安裝完畢後,別急著測試,先參考已存在的範本,來了解如何編輯PDF
作者已經移除這則留言。
刪除您好,謝謝您的資料,我後來發現PDF MAKER內建的表格有空白字元、符號為大寫的問題(我不知道原因,但進行調整後有比較正常了)
回覆刪除但是 #PRODUCTBLOC_START# 到 #PRODUCTBLOC_END# 的區塊應該要顯示產品資訊,可是並沒有正常顯示(只顯示 #xxxxxxxxx# 的文字)
您方便提供一個檢查方向嗎?
在vtiger 6.3或者6.4汉化的情况下,安装pdfmaker,导出后显示空白页,没有任何报错信息,这个问题怎么解决?
回覆刪除补充下,这个我已经搞定了,关于
回覆刪除“修改C:\Program Files\vtigerCRM610\apache\htdocs\vtigerCRM\languages\zh_tw目錄下的Vtiger.php
將'Quotes'=>'報價單',修改為'Quotes'=>'Quotes,雖然首頁的 報價單 也變成 Quotest,但是輸出就不會出錯了。”
能不能详细解释下?
檔案存放路徑有中文存在,所導致HTML編碼輸出路徑異常。唯獨發生在Windows平台上,其他OS平台反而正常。之後我沒有追查下去如何解決。
刪除參考方向
刪除http://yishouce.com/article/8.html
http://blog.csdn.net/ljfrocky/article/details/47682515
盼望有人可以找出pdf maker for windows中文用戶的代碼修正方法
做個安裝記錄
回覆刪除升級了Vtiger (6.1->6.5),發現PDF Maker Free 出現了問題,試了很久,最後只好選擇移除/重裝
我不知道如何備份樣板,所以直接在PDF Maker設定頁面選擇Uninstall(並手動刪除了PDFMaker目錄)
下載點 http://forge.vtiger.com/frs/download.php/1343/PDFMakerFree_600_0_4.zip
通過 Vtiger 的CRM設置\工作室\模塊管理,找到左下方的 Install from Zip,選擇前面下載的zip進行安裝
安裝過程會要求再安裝mpdf模組。
按下Download 後,不知道還要做甚麼(PDFMaker\resources有看到一個目錄 mpdfi)
再按一下Download,好像就安裝完成了
※安裝後一樣要處理中文字變方塊的問題
修改PDFMaker\resources\mpdf\config.php 第63行
useAdobeCJK = true
※樣板因為重新安裝,所以要重新處理...有人知道如何備份嗎?