We are evaluating Aspose.Words, for a simple job of taking an entire document and injecting it instead of a pre-known string in another document.
the Document.Range.Replace() does not provide a decent enough solution as it only accepts strings, thereby ruining the formatting of the injected document content.
Using your examples we’ve been able to concatenate two documents perfectly, but that’s not exactly what we’re after.
foreach (Section srcSection in document2)
{
Node dstSection = document1.ImportNode(srcSection, true, mode);
document1.AppendChild(dstSection);
}