使用百度JS模板引擎生成PDF和Word文件
阿新 • • 發佈:2019-02-10
用JS模板引擎能高效的生成pdf和word文件,例子中使用了百度的JS模板引擎,其它模板引擎也是可以的。模板的標籤使用了XDOC,詳細可見:http://xdoc.aliapp.com/xml.html,模板可以視覺化設計
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript" src="http://xdoc.aliapp.com/xdoc.js"></script> <script type="text/javascript" src="http://xdoc.aliapp.com/baiduTemplate.js"></script> </head> <body> <input type="button" onclick="gen1('pdf')" value="生成PDF1"/> <input type="button" onclick="gen2('pdf')" value="生成PDF1"/> <input type="button" onclick="gen1('docx')" value="生成Word1"/> <input type="button" onclick="gen2('docx')" value="生成Word2"/> <br/> <script id="tmpl" type="text/html"> <xdoc version="A.3.0"> <body> <para heading="1" lineSpacing="28"> <text valign="center" fontName="標宋" fontSize="29"><%=title%></text> </para> <para> <img src="<%=img%>" sizeType="autosize"/> </para> <para lineSpacing="9"> <text fontName="仿宋" fontSize="18"><%=content%></text> </para> </body> </xdoc> </script> <script type="text/javascript"> function gen1(format) { var data = { title: "女性工程師如何獲得成功", img: "http://static.oschina.net/uploads/img/201507/07081910_xKaW.jpg", content: "\t從我第一次在高中上計算機程式設計課開始,有一件事情就變得很清楚,這是為數不多能夠讓我真正感到興奮的學科之一。" + "最初,它只是我嘗試的一種選擇,但我很快就知 道,工程是我想要學習的專業,也是我希望從事的終身職業。" + "工程最讓我喜歡的事情是,存在無數的機會去做有意義的工作,而且能夠不斷地學習新知識。\n" + "\t你總能夠找到自己需要了解的新技術和趨勢,還有打造更好事物的新方法。總而言之,看到一個想法變成獨特和創新的有形事物,那真得非常令人心滿意足。" }; XDoc.to(baidu.template('tmpl', data), format, {}, "_blank"); } function gen2(format) { var data = { title: "微軟不能放棄手機作業系統的4大原因", img: "http://static.oschina.net/uploads/img/201507/07080929_IXnr.jpg", content: "\t微軟CEO納德拉提到,要對一些表現不佳的業務採取“艱難的決定”,此外微軟的手機作業系統WP和手機硬體業務持續沒有起色," + "一些分析師認為,納德拉的“艱難的決定”可能指的是徹底放棄微軟手機作業系統。最近也有傳言稱,微軟可能推出安卓手機,重點推廣本公司的安卓應用軟體。\n" + "\t圍繞微軟公司是否會放棄WP(或Windows10移動版)作業系統,近來分析師和媒體發出了不同的聲音。" }; XDoc.to(baidu.template('tmpl', data), format, {}, "_blank"); } </script> </body> </html>