Following this code, I am using Google Apps Script to append a document template to another document. The template has bullets lists, however these will be lost upon copy, while indentation will be retained correctly.
Code:
var newDoc = DocumentApp.openById('anotherGoogleID');
var newDocBody = newDoc.getBody();
var templateBody = DocumentApp.openById('aGoogleID').getActiveSection();
// has bullets
var totalElements = templateBody.getNumChildren();
newDocBody.appendPageBreak();
for( var j = 0; j < totalElements; ++j ) {
var element = otherBody.getChild(j).copy();
var type = element.getType();
if( type == DocumentApp.ElementType.PARAGRAPH )
newDocBody.appendParagraph(element);
else if( type == DocumentApp.ElementType.TABLE )
newDocBody.appendTable(element);
else if( type == DocumentApp.ElementType.LIST_ITEM )
newDocBody.appendListItem(element);
else
throw new Error("Unknown element type: "+type);
}
newDocBody.saveAndClose()