由於工作需要,將一個頁面導出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)
// };
}
