AppendDocument

AppendDocument(DocumentImportFormatMode)

Aggiunge il documento specificato alla fine di questo documento.

public void AppendDocument(Document srcDoc, ImportFormatMode importFormatMode)
ParametroTipoDescrizione
srcDocDocumentIl documento da allegare.
importFormatModeImportFormatModeSpecifica come unire la formattazione dello stile in conflitto.

Esempi

Mostra come aggiungere un documento alla fine di un altro documento.

Document srcDoc = new Document();
srcDoc.FirstSection.Body.AppendParagraph("Source document text. ");

Document dstDoc = new Document();
dstDoc.FirstSection.Body.AppendParagraph("Destination document text. ");

// Aggiunge il documento di origine al documento di destinazione preservandone la formattazione,
// quindi salva il documento di origine nel file system locale.
dstDoc.AppendDocument(srcDoc, ImportFormatMode.KeepSourceFormatting);
dstDoc.Save(ArtifactsDir + "Document.AppendDocument.docx");

Mostra come aggiungere tutti i documenti in una cartella alla fine di un documento modello.

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");
// Aggiungi tutti i documenti non crittografati con l'estensione .doc
// dalla directory del nostro file system locale al documento di base.
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");

Guarda anche


AppendDocument(DocumentImportFormatModeImportFormatOptions)

Aggiunge il documento specificato alla fine di questo documento.

public void AppendDocument(Document srcDoc, ImportFormatMode importFormatMode, 
    ImportFormatOptions importFormatOptions)
ParametroTipoDescrizione
srcDocDocumentIl documento da allegare.
importFormatModeImportFormatModeSpecifica come unire la formattazione dello stile in conflitto.
importFormatOptionsImportFormatOptionsConsente di specificare le opzioni che influiscono sulla formattazione di un documento risultato.

Esempi

Mostra come gestire le interferenze tra gli stili di elenco mentre si aggiunge un clone di un documento a se stesso.

Document srcDoc = new Document(MyDir + "List item.docx");
Document dstDoc = new Document(MyDir + "List item.docx");

// Se c'è un conflitto di stili di elenco, applica il formato elenco del documento di origine.
// Imposta la proprietà "KeepSourceNumbering" su "false" per non importare alcun numero di elenco nel documento di destinazione.
// Imposta la proprietà "KeepSourceNumbering" su "true" per importare tutti i conflitti
// numerazione dello stile dell'elenco con lo stesso aspetto che aveva nel documento di origine.
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();

Mostra come gestire le interferenze tra stili di elenco durante l’inserimento di un documento.

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);

// Se c'è un conflitto di stili di elenco, applica il formato elenco del documento di origine.
// Imposta la proprietà "KeepSourceNumbering" su "false" per non importare alcun numero di elenco nel documento di destinazione.
// Imposta la proprietà "KeepSourceNumbering" su "true" per importare tutti i conflitti
// numerazione dello stile dell'elenco con lo stesso aspetto che aveva nel documento di origine.
ImportFormatOptions importOptions = new ImportFormatOptions();
importOptions.KeepSourceNumbering = keepSourceNumbering;

builder.InsertBreak(BreakType.SectionBreakNewPage);
builder.InsertDocument(attachDoc, ImportFormatMode.KeepSourceFormatting, importOptions);

dstDoc.Save(ArtifactsDir + "DocumentBuilder.InsertDocumentAndResolveStyles.docx");

Mostra come gestire le interferenze tra stili di elenco durante l’aggiunta di un documento.

// Carica un documento con testo in uno stile personalizzato e clonalo.
Document srcDoc = new Document(MyDir + "Custom list numbering.docx");
Document dstDoc = srcDoc.Clone();

// Ora abbiamo due documenti, ciascuno con uno stile identico denominato "CustomStyle".
// Cambia il colore del testo per uno degli stili per distinguerlo dall'altro.
dstDoc.Styles["CustomStyle"].Font.Color = Color.DarkRed;

// Se c'è un conflitto di stili di elenco, applica il formato elenco del documento di origine.
// Imposta la proprietà "KeepSourceNumbering" su "false" per non importare alcun numero di elenco nel documento di destinazione.
// Imposta la proprietà "KeepSourceNumbering" su "true" per importare tutti i conflitti
// numerazione dello stile dell'elenco con lo stesso aspetto che aveva nel documento di origine.
ImportFormatOptions options = new ImportFormatOptions();
options.KeepSourceNumbering = keepSourceNumbering;

// L'unione di due documenti con stili diversi che condividono lo stesso nome provoca un conflitto di stili.
// Possiamo specificare una modalità di formato di importazione durante l'aggiunta di documenti per risolvere questo conflitto.
dstDoc.AppendDocument(srcDoc, ImportFormatMode.KeepDifferentStyles, options);
dstDoc.UpdateListLabels();

dstDoc.Save(ArtifactsDir + "DocumentBuilder.AppendDocumentAndResolveStyles.docx");

Guarda anche