由於工作需要,將一個頁面導出word文檔,主要是簡歷!經過百度搜索之后,沒找到結果,無奈之下只能求助Google,意外發現jquery一款插件可以實現這個功能!而且效果還算可以!
基本可以實現想要的功能!
首先需要的js文件如下,貼出github地址,大家自由下載!
https://github.com/eligrey/FileSaver.js/
https://github.com/markswindoll/jQuery-Word-Export
首先你要引入jquery 和FileSaver.js
<script src="http://jquery.min.js"></script> <script src="FileSaver.js"></script>
一定先引入以上兩文件之后再引入jquery.wordexport.js
<script src="jquery.wordexport.js"></script>
需要到處的內容這樣命名,id名字自己隨意,注意對應下方的jquery調用
<div id="page-content">
Your content here
</div>
使用方法,創建一個導出的按鈕例如:
<a class="word-export" href="javascript:void(0)"> 導出 </a>
js代碼如下
<script type="text/javascript"> jQuery(document).ready(function($) { $("a.word-export").click(function(event) { $("#page-content").wordExport(); }); }); </script>
希望對你有用
應用過程中可能會遇到報錯,主要是因為圖片導致的!
我是這樣解決的,大概在36行左右,找到如下代碼,按照下方演示注釋,添加相應代碼之后,應該就可以
for (var i = 0; i < img.length; i++) { // Calculate dimensions of output image var w = Math.min(img[i].width, options.maxWidth); var h = img[i].height * (w / img[i].width); // Create canvas for converting image to data URL //這是添加的代碼-------------------------------------------- var img_id = "#"+img[i].id; $('<canvas>').attr("id", "test_word_img_" + i).width(w).height(h).insertAfter(img_id); //------------------------------------------------- //下面是注釋的代碼 // var canvas = document.createElement("CANVAS"); // canvas.width = w; // canvas.height = h; // // Draw image to canvas // var context = canvas.getContext('2d'); // context.drawImage(img[i], 0, 0, w, h); // // Get data URL encoding of image // var uri = canvas.toDataURL("image/png"); // $(img[i]).attr("src", img[i].src); // img[i].width = w; // img[i].height = h; // // Save encoded image to array // images[i] = { // type: uri.substring(uri.indexOf(":") + 1, uri.indexOf(";")), // encoding: uri.substring(uri.indexOf(";") + 1, uri.indexOf(",")), // location: $(img[i]).attr("src"), // data: uri.substring(uri.indexOf(",") + 1) // }; }