diff --git a/lib/gendocx.js b/lib/gendocx.js index d1ed9e52..b615c5e7 100644 --- a/lib/gendocx.js +++ b/lib/gendocx.js @@ -183,7 +183,8 @@ function makeDocx ( genobj, new_type, options, gen_private, type_info ) { continue; } - outString += ''; + var tempOutString = ''; + var tempOutStringLength = tempOutString.length; var pPrData = ''; if ( objs_list[i].options ) { @@ -218,7 +219,7 @@ function makeDocx ( genobj, new_type, options, gen_private, type_info ) { } // Endif. if ( pPrData ) { - outString += '' + pPrData + ''; + tempOutString += '' + pPrData + ''; } // Endif. // Work on all the objects in the document: @@ -303,7 +304,7 @@ function makeDocx ( genobj, new_type, options, gen_private, type_info ) { // Hyperlink support: if ( objs_list[i].data[j].options.hyperlink ) { - outString += ''; + tempOutString += ''; hyperlinkOn = true; if ( !rPrData ) { @@ -314,7 +315,7 @@ function makeDocx ( genobj, new_type, options, gen_private, type_info ) { // Field support: if ( objs_list[i].data[j].fieldObj ) { - outString += ''; + tempOutString += ''; } // Endif. if ( objs_list[i].data[j].text ) { @@ -323,108 +324,111 @@ function makeDocx ( genobj, new_type, options, gen_private, type_info ) { } // Endif. if (objs_list[i].data[j].link_rel_id) { - outString += ''; + tempOutString += ''; } - outString += ''; + tempOutString += ''; if ( rPrData ) { - outString += '' + rPrData + ''; + tempOutString += '' + rPrData + ''; } // Endif. - outString += '' + objs_list[i].data[j].text.encodeHTML () + ''; + tempOutString += '' + objs_list[i].data[j].text.encodeHTML () + ''; if (objs_list[i].data[j].link_rel_id) { - outString += ''; + tempOutString += ''; } } else if ( objs_list[i].data[j].page_break ) { - outString += ''; + tempOutString += ''; } else if ( objs_list[i].data[j].line_break ) { - outString += ''; + tempOutString += ''; } else if ( objs_list[i].data[j].horizontal_line ) { - outString += ''; + tempOutString += ''; // Bookmark start support: } else if ( objs_list[i].data[j].bookmark_start ) { - outString += ''; + tempOutString += ''; // Bookmark end support: } else if ( objs_list[i].data[j].bookmark_end ) { - outString += ''; + tempOutString += ''; bookmarkId++; } else if ( objs_list[i].data[j].image ) { - outString += ''; + tempOutString += ''; rPrData += ''; if ( rPrData ) { - outString += '' + rPrData + ''; + tempOutString += '' + rPrData + ''; } // Endif. //914400L / 96DPI var pixelToEmu = 9525; - outString += ''; - outString += ''; - outString += ''; - outString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; - outString += ''; + tempOutString += ''; if(objs_list[i].data[j].link_rel_id){ - outString += ''; + tempOutString += ''; } - outString += ''; - - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - outString += ''; - - outString += ''; + tempOutString += ''; + + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + tempOutString += ''; + + tempOutString += ''; } // Endif. // Field support: if ( objs_list[i].data[j].fieldObj ) { - outString += ''; + tempOutString += ''; } // Endif. if ( hyperlinkOn ) { - outString += ''; + tempOutString += ''; } // Endif. } // Endif. } // Endif. - - outString += ''; + //save in tempOutString current state, and if no changes so remove unnecessary empty paragraph + if (tempOutStringLength !== tempOutString.length) { + tempOutString += ''; + outString += tempOutString; + } } // End of for loop. if ( data.docType === 'document' ) {