AppendDocument
Contents
[
Hide
]AppendDocument(Document, ImportFormatMode)
Appends the specified document to the end of this document.
public void AppendDocument(Document srcDoc, ImportFormatMode importFormatMode)
Parameter | Type | Description |
---|---|---|
srcDoc | Document | The document to append. |
importFormatMode | ImportFormatMode | Specifies how to merge style formatting that clashes. |
Examples
Shows how to append a document to the end of another document.
Document srcDoc = new Document();
srcDoc.FirstSection.Body.AppendParagraph("Source document text. ");
Document dstDoc = new Document();
dstDoc.FirstSection.Body.AppendParagraph("Destination document text. ");
// Append the source document to the destination document while preserving its formatting,
// then save the source document to the local file system.
dstDoc.AppendDocument(srcDoc, ImportFormatMode.KeepSourceFormatting);
dstDoc.Save(ArtifactsDir + "Document.AppendDocument.docx");
Shows how to append all the documents in a folder to the end of a template document.
Document dstDoc = new Document();
DocumentBuilder builder = new DocumentBuilder(dstDoc);
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;
builder.Writeln("Template Document");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Normal;
builder.Writeln("Some content here");
// Append all unencrypted documents with the .doc extension
// from our local file system directory to the base document.
List<string> docFiles = Directory.GetFiles(MyDir, "*.doc").Where(item => item.EndsWith(".doc")).ToList();
foreach (string fileName in docFiles)
{
FileFormatInfo info = FileFormatUtil.DetectFileFormat(fileName);
if (info.IsEncrypted)
continue;
Document srcDoc = new Document(fileName);
dstDoc.AppendDocument(srcDoc, ImportFormatMode.UseDestinationStyles);
}
dstDoc.Save(ArtifactsDir + "Document.AppendAllDocumentsInFolder.doc");
See Also
- enum ImportFormatMode
- class Document
- namespace Aspose.Words
- assembly Aspose.Words
AppendDocument(Document, ImportFormatMode, ImportFormatOptions)
Appends the specified document to the end of this document.
public void AppendDocument(Document srcDoc, ImportFormatMode importFormatMode,
ImportFormatOptions importFormatOptions)
Parameter | Type | Description |
---|---|---|
srcDoc | Document | The document to append. |
importFormatMode | ImportFormatMode | Specifies how to merge style formatting that clashes. |
importFormatOptions | ImportFormatOptions | Allows to specify options that affect formatting of a result document. |
Examples
Shows how to manage list style clashes while appending a clone of a document to itself.
Document srcDoc = new Document(MyDir + "List item.docx");
Document dstDoc = new Document(MyDir + "List item.docx");
// If there is a clash of list styles, apply the list format of the source document.
// Set the "KeepSourceNumbering" property to "false" to not import any list numbers into the destination document.
// Set the "KeepSourceNumbering" property to "true" import all clashing
// list style numbering with the same appearance that it had in the source document.
DocumentBuilder builder = new DocumentBuilder(dstDoc);
builder.MoveToDocumentEnd();
builder.InsertBreak(BreakType.SectionBreakNewPage);
ImportFormatOptions options = new ImportFormatOptions();
options.KeepSourceNumbering = keepSourceNumbering;
builder.InsertDocument(srcDoc, ImportFormatMode.KeepSourceFormatting, options);
dstDoc.UpdateListLabels();
Shows how to manage list style clashes while inserting a document.
Document dstDoc = new Document();
DocumentBuilder builder = new DocumentBuilder(dstDoc);
builder.InsertBreak(BreakType.ParagraphBreak);
dstDoc.Lists.Add(ListTemplate.NumberDefault);
Aspose.Words.Lists.List list = dstDoc.Lists[0];
builder.ListFormat.List = list;
for (int i = 1; i <= 15; i++)
builder.Write($"List Item {i}\n");
Document attachDoc = (Document)dstDoc.Clone(true);
// If there is a clash of list styles, apply the list format of the source document.
// Set the "KeepSourceNumbering" property to "false" to not import any list numbers into the destination document.
// Set the "KeepSourceNumbering" property to "true" import all clashing
// list style numbering with the same appearance that it had in the source document.
ImportFormatOptions importOptions = new ImportFormatOptions();
importOptions.KeepSourceNumbering = keepSourceNumbering;
builder.InsertBreak(BreakType.SectionBreakNewPage);
builder.InsertDocument(attachDoc, ImportFormatMode.KeepSourceFormatting, importOptions);
dstDoc.Save(ArtifactsDir + "DocumentBuilder.InsertDocumentAndResolveStyles.docx");
Shows how to manage list style clashes while appending a document.
// Load a document with text in a custom style and clone it.
Document srcDoc = new Document(MyDir + "Custom list numbering.docx");
Document dstDoc = srcDoc.Clone();
// We now have two documents, each with an identical style named "CustomStyle".
// Change the text color for one of the styles to set it apart from the other.
dstDoc.Styles["CustomStyle"].Font.Color = Color.DarkRed;
// If there is a clash of list styles, apply the list format of the source document.
// Set the "KeepSourceNumbering" property to "false" to not import any list numbers into the destination document.
// Set the "KeepSourceNumbering" property to "true" import all clashing
// list style numbering with the same appearance that it had in the source document.
ImportFormatOptions options = new ImportFormatOptions();
options.KeepSourceNumbering = keepSourceNumbering;
// Joining two documents that have different styles that share the same name causes a style clash.
// We can specify an import format mode while appending documents to resolve this clash.
dstDoc.AppendDocument(srcDoc, ImportFormatMode.KeepDifferentStyles, options);
dstDoc.UpdateListLabels();
dstDoc.Save(ArtifactsDir + "DocumentBuilder.AppendDocumentAndResolveStyles.docx");
See Also
- enum ImportFormatMode
- class ImportFormatOptions
- class Document
- namespace Aspose.Words
- assembly Aspose.Words