Document

Document class

Rappresenta un documento Word.

Per saperne di più, visita ilLavorare con il documento articolo di documentazione.

public class Document : DocumentBase

Costruttori

NomeDescrizione
Document()Crea un documento Word vuoto.
Document(Stream)Apre un documento esistente da uno stream. Rileva automaticamente il formato del file.
Document(string)Apre un documento esistente da un file. Rileva automaticamente il formato del file.
Document(Stream, LoadOptions)Apre un documento esistente da uno stream. Consente di specificare opzioni aggiuntive come una password di crittografia.
Document(string, LoadOptions)Apre un documento esistente da un file. Consente di specificare opzioni aggiuntive come una password di crittografia.

Proprietà

NomeDescrizione
AttachedTemplate { get; set; }Ottiene o imposta il percorso completo del modello allegato al documento.
AutomaticallyUpdateStyles { get; set; }Ottiene o imposta un flag che indica se gli stili nel documento vengono aggiornati per corrispondere agli stili nel modello allegato ogni volta che il documento viene aperto in MS Word.
BackgroundShape { get; set; }Ottiene o imposta la forma dello sfondo del documento. Può esserenullo .
BuiltInDocumentProperties { get; }Restituisce una raccolta che rappresenta tutte le proprietà del documento integrate nel documento.
CompatibilityOptions { get; }Fornisce l’accesso alle opzioni di compatibilità del documento (ovvero, le preferenze dell’utente immesse nel fileCompatibilità scheda delOpzioni finestra di dialogo in Word).
Compliance { get; }Ottiene la versione di conformità OOXML determinata dal contenuto del documento caricato. Ha senso solo per i documenti OOXML.
Count { get; }Ottiene il numero di figli immediati di questo nodo.
CustomDocumentProperties { get; }Restituisce una raccolta che rappresenta tutte le proprietà del documento personalizzato del documento.
CustomNodeId { get; set; }Specifica l’identificatore del nodo personalizzato.
CustomXmlParts { get; set; }Ottiene o imposta la raccolta di parti di archiviazione dati XML personalizzate.
DefaultTabStop { get; set; }Ottiene o imposta l’intervallo (in punti) tra le tabulazioni predefinite.
DigitalSignatures { get; }Ottiene la raccolta di firme digitali per questo documento e i relativi risultati di convalida.
override Document { get; }Ottiene questa istanza.
EndnoteOptions { get; }Fornisce opzioni che controllano la numerazione e il posizionamento delle note di chiusura in questo documento.
FieldOptions { get; }Ottiene aFieldOptions oggetto che rappresenta le opzioni per controllare la gestione dei campi nel documento.
FirstChild { get; }Ottiene il primo figlio del nodo.
FirstSection { get; }Ottiene la prima sezione del documento.
FontInfos { get; }Fornisce l’accesso alle proprietà dei caratteri utilizzati in questo documento.
FontSettings { get; set; }Ottiene o imposta le impostazioni dei caratteri del documento.
FootnoteOptions { get; }Fornisce opzioni che controllano la numerazione e il posizionamento delle note a piè di pagina in questo documento.
Frameset { get; }Restituisce aFramesetesempio se questo documento rappresenta una pagina con frame.
GlossaryDocument { get; set; }Ottiene o imposta il documento di glossario all’interno di questo documento o modello. Un documento di glossario è un archivio per le voci di glossario, correzione automatica e Building Block definite in un documento.
GrammarChecked { get; set; }RestituisceVERO se è stata effettuata la verifica grammaticale del documento.
HasChildNodes { get; }RestituisceVERO se questo nodo ha nodi figli.
HasMacros { get; }RestituisceVERO se il documento ha un progetto VBA (macro).
HasRevisions { get; }RestituisceVERO se il documento contiene modifiche rilevate.
HyphenationOptions { get; }Fornisce l’accesso alle opzioni di sillabazione del documento.
IncludeTextboxesFootnotesEndnotesInStat { get; set; }Specifica se includere caselle di testo, note a piè di pagina e note di chiusura nelle statistiche sul conteggio delle parole.
override IsComposite { get; }RestituisceVERO poiché questo nodo può avere nodi figli.
JustificationMode { get; set; }Ottiene o imposta la regolazione della spaziatura dei caratteri di un documento.
LastChild { get; }Ottiene l’ultimo figlio del nodo.
LastSection { get; }Ottiene l’ultima sezione del documento.
LayoutOptions { get; }Ottiene aLayoutOptions oggetto che rappresenta le opzioni per controllare il processo di layout di questo documento.
Lists { get; }Fornisce l’accesso alla formattazione dell’elenco utilizzata nel documento.
MailMerge { get; }Restituisce aMailMerge oggetto che rappresenta la funzionalità di stampa unione per il documento.
MailMergeSettings { get; set; }Ottiene o imposta l’oggetto che contiene tutte le informazioni sulla stampa unione per un documento.
NextSibling { get; }Ottiene il nodo immediatamente successivo a questo nodo.
NodeChangingCallback { get; set; }Chiamato quando un nodo viene inserito o rimosso nel documento.
override NodeType { get; }RestituisceDocument .
OriginalFileName { get; }Ottiene il nome del file originale del documento.
OriginalLoadFormat { get; }Ottiene il formato del documento originale caricato in questo oggetto.
PackageCustomParts { get; set; }Ottiene o imposta la raccolta di parti personalizzate (contenuto arbitrario) collegate al pacchetto OOXML utilizzando “relazioni sconosciute”.
PageColor { get; set; }Ottiene o imposta il colore della pagina del documento. Questa proprietà è una versione più semplice diBackgroundShape .
PageCount { get; }Ottiene il numero di pagine nel documento calcolato dall’operazione di impaginazione più recente.
ParentNode { get; }Ottiene il genitore immediato di questo nodo.
PreviousSibling { get; }Ottiene il nodo immediatamente precedente questo nodo.
ProtectionType { get; }Ottiene il tipo di protezione del documento attualmente attivo.
Range { get; }Restituisce aRange oggetto che rappresenta la porzione di documento contenuta in questo nodo.
RemovePersonalInformation { get; set; }Ottiene o imposta un flag che indica che Microsoft Word rimuoverà tutte le informazioni dell’utente da commenti, revisioni e proprietà del documento al momento del salvataggio del documento.
ResourceLoadingCallback { get; set; }Permette di controllare come vengono caricate le risorse esterne.
Revisions { get; }Ottiene una raccolta di revisioni (modifiche rilevate) presenti in questo documento.
RevisionsView { get; set; }Ottiene o imposta un valore che indica se lavorare con la versione originale o rivista di un documento.
Sections { get; }Restituisce una raccolta che rappresenta tutte le sezioni del documento.
ShadeFormData { get; set; }Specifica se attivare l’ombreggiatura grigia sui campi del modulo.
ShowGrammaticalErrors { get; set; }Specifica se visualizzare gli errori grammaticali in questo documento.
ShowSpellingErrors { get; set; }Specifica se visualizzare gli errori di ortografia in questo documento.
SpellingChecked { get; set; }RestituisceVERO se il documento è stato controllato dall’ortografia.
Styles { get; }Restituisce una raccolta di stili definiti nel documento.
Theme { get; }Ottiene il fileTheme oggetto per questo documento.
TrackRevisions { get; set; }Vero se le modifiche vengono tracciate quando il documento viene modificato in Microsoft Word.
Variables { get; }Restituisce la raccolta di variabili aggiunte a un documento o modello.
VbaProject { get; set; }Ottiene o imposta aVbaProject .
VersionsCount { get; }Ottiene il numero di versioni del documento archiviate nel documento DOC.
ViewOptions { get; }Fornisce opzioni per controllare la modalità di visualizzazione del documento in Microsoft Word.
WarningCallback { get; set; }Chiamato durante varie procedure di elaborazione dei documenti quando viene rilevato un problema che potrebbe causare la perdita di fedeltà dei dati o della formattazione.
Watermark { get; }Fornisce l’accesso alla filigrana del documento.
WebExtensionTaskPanes { get; }Restituisce una raccolta che rappresenta un elenco di componenti aggiuntivi del riquadro attività.
WriteProtection { get; }Fornisce l’accesso alle opzioni di protezione da scrittura del documento.

Metodi

NomeDescrizione
override Accept(DocumentVisitor)Accetta un visitatore.
AcceptAllRevisions()Accetta tutte le modifiche tracciate nel documento.
AppendChild(Node)Aggiunge il nodo specificato alla fine dell’elenco dei nodi secondari per questo nodo.
AppendDocument(Document, ImportFormatMode)Aggiunge il documento specificato alla fine di questo documento.
AppendDocument(Document, ImportFormatModeImportFormatOptions)Aggiunge il documento specificato alla fine di questo documento.
Cleanup()Pulisce gli stili e gli elenchi inutilizzati dal documento.
Cleanup(CleanupOptions)Pulisce gli stili e gli elenchi inutilizzati dal documento in base a quanto specificatoCleanupOptions .
Clone()Esegue una copia approfondita del fileDocument .
Clone(bool)Crea un duplicato del nodo.
Compare(Document, string, DateTime)Confronta questo documento con un altro documento producendo modifiche come numero di modifiche e revisioni del formatoRevision .
Compare(Document, string, DateTime, CompareOptions)Confronta questo documento con un altro documento producendo modifiche come una serie di modifiche e revisioni del formatoRevision . Permette di specificare le opzioni di confronto utilizzandoCompareOptions .
CopyStylesFromTemplate(Document)Copia gli stili dal modello specificato in un documento.
CopyStylesFromTemplate(string)Copia gli stili dal modello specificato in un documento.
CreateNavigator()Crea un navigatore che può essere utilizzato per attraversare e leggere i nodi.
EnsureMinimum()Se il documento non contiene sezioni, crea una sezione con un paragrafo.
ExpandTableStylesToDirectFormatting()Converte la formattazione specificata negli stili di tabella in formattazione diretta sulle tabelle del documento.
ExtractPages(int, int)Restituisce ilDocument oggetto che rappresenta l’intervallo di pagine specificato.
GetAncestor(NodeType)Ottiene il primo antenato dell’oggetto specificatoNodeType .
GetAncestor(Type)Ottiene il primo antenato del tipo di oggetto specificato.
GetChild(NodeType, int, bool)Restituisce un Nesimo nodo figlio che corrisponde al tipo specificato.
GetChildNodes(NodeType, bool)Restituisce una raccolta attiva di nodi secondari che corrispondono al tipo specificato.
GetEnumerator()Fornisce il supporto per l’iterazione di ogni stile sui nodi figlio di questo nodo.
GetPageInfo(int)Ottiene le dimensioni della pagina, l’orientamento e altre informazioni su una pagina che potrebbero essere utili per la stampa o il rendering.
override GetText()Ottiene il testo di questo nodo e di tutti i suoi figli.
ImportNode(Node, bool)Importa un nodo da un altro documento al documento corrente.
ImportNode(Node, bool, ImportFormatMode)Importa un nodo da un altro documento al documento corrente con un’opzione per controllare la formattazione.
IndexOf(Node)Restituisce l’indice del nodo figlio specificato nell’array di nodi figlio.
InsertAfter(NodeNode)Inserisce il nodo specificato immediatamente dopo il nodo di riferimento specificato.
InsertBefore(NodeNode)Inserisce il nodo specificato immediatamente prima del nodo di riferimento specificato.
JoinRunsWithSameFormatting()I join vengono eseguiti con la stessa formattazione in tutti i paragrafi del documento.
NextPreOrder(Node)Ottiene il nodo successivo in base all’algoritmo di attraversamento dell’albero di preordine.
NormalizeFieldTypes()Modifica i valori del tipo di campoFieldType DiFieldStart ,FieldSeparator ,FieldEnd nell’intero documento in modo che corrispondano ai tipi di campo contenuti nei codici di campo.
PrependChild(Node)Aggiunge il nodo specificato all’inizio dell’elenco dei nodi secondari per questo nodo.
PreviousPreOrder(Node)Ottiene il nodo precedente in base all’algoritmo di attraversamento dell’albero di preordine.
Print()Stampa l’intero documento sulla stampante predefinita.
Print(PrinterSettings)Stampa il documento in base alle impostazioni della stampante specificate, utilizzando il controller di stampa standard (senza interfaccia utente).
Print(string)Stampa l’intero documento sulla stampante specificata, utilizzando il controller di stampa standard (senza interfaccia utente).
Print(PrinterSettings, string)Stampa il documento in base alle impostazioni della stampante specificate, utilizzando il controller di stampa standard (senza interfaccia utente) e un nome documento.
Protect(ProtectionType)Protegge il documento da modifiche senza cambiare la password esistente o assegna una password casuale.
Protect(ProtectionType, string)Protegge il documento dalle modifiche e facoltativamente imposta una password di protezione.
Remove()Si rimuove dal genitore.
RemoveAllChildren()Rimuove tutti i nodi figlio del nodo corrente.
RemoveChild(Node)Rimuove il nodo figlio specificato.
RemoveExternalSchemaReferences()Rimuove i riferimenti allo schema XML esterno da questo documento.
RemoveMacros()Rimuove tutte le macro (il progetto VBA), nonché le barre degli strumenti e le personalizzazioni dei comandi dal documento.
RemoveSmartTags()Rimuove tuttoSmartTagnodi discendenti del nodo corrente.
RenderToScale(int, Graphics, float, float, float)Rende una pagina del documento in un fileGraphics oggetto su una scala specificata.
RenderToSize(int, Graphics, float, float, float, float)Rende una pagina del documento in un fileGraphics oggetto a una dimensione specificata.
Save(string)Salva il documento in un file. Determina automaticamente il formato di salvataggio dall’estensione.
Save(Stream, SaveFormat)Salva il documento in un flusso utilizzando il formato specificato.
Save(Stream, SaveOptions)Salva il documento in uno stream utilizzando le opzioni di salvataggio specificate.
Save(string, SaveFormat)Salva il documento in un file nel formato specificato.
Save(string, SaveOptions)Salva il documento in un file utilizzando le opzioni di salvataggio specificate.
Save(HttpResponse, string, ContentDispositionSaveOptions)Invia il documento al browser client.
SelectNodes(string)Seleziona un elenco di nodi che corrispondono all’espressione XPath.
SelectSingleNode(string)Seleziona il primoNode che corrisponde all’espressione XPath.
StartTrackRevisions(string)Inizia a contrassegnare automaticamente tutte le ulteriori modifiche apportate al documento a livello di codice come modifiche di revisione.
StartTrackRevisions(string, DateTime)Inizia a contrassegnare automaticamente tutte le ulteriori modifiche apportate al documento a livello di codice come modifiche di revisione.
StopTrackRevisions()Interrompe il contrassegno automatico delle modifiche al documento come revisioni.
ToString(SaveFormat)Esporta il contenuto del nodo in una stringa nel formato specificato.
ToString(SaveOptions)Esporta il contenuto del nodo in una stringa utilizzando le opzioni di salvataggio specificate.
UnlinkFields()Scollega i campi dell’intero documento.
Unprotect()Rimuove la protezione dal documento indipendentemente dalla password.
Unprotect(string)Rimuove la protezione dal documento se viene specificata una password corretta.
UpdateFields()Aggiorna i valori dei campi nell’intero documento.
UpdateListLabels()Aggiorna le etichette dell’elenco per tutti gli elementi dell’elenco nel documento.
UpdatePageLayout()Ricostruisce l’impaginazione del documento.
UpdateThumbnail()AggiornamentiThumbnail del documento utilizzando le opzioni predefinite.
UpdateThumbnail(ThumbnailGeneratingOptions)AggiornamentiThumbnail del documento secondo le opzioni specificate.
UpdateWordCount()Aggiorna le proprietà del conteggio delle parole del documento.
UpdateWordCount(bool)Aggiorna le proprietà del conteggio delle parole del documento, facoltativamente aggiornamentiLines proprietà.

Osservazioni

ILDocument è un oggetto centrale nella libreria Aspose.Words.

Per caricare un documento esistente in uno qualsiasi dei fileLoadFormat formati, passare un nome file o uno stream in uno dei formatiDocumentcostruttori. Per creare un documento vuoto, chiama il costruttore senza parametri.

Utilizza uno degli overload del metodo Save per salvare il documento in uno qualsiasi dei SaveFormat formati.

Per disegnare le pagine del documento direttamente su aGrafica oggetto use RenderToScale ORenderToSize metodo.

Per stampare il documento, utilizzare uno dei filePrint metodi.

MailMerge è il motore di reporting di Aspose.Words che consente di popolare report progettati in Microsoft Word con dati provenienti da varie origini dati in modo rapido e semplice. I dati possono provenire da un DataSet, DataTable, DataView, IDataReader o un array di valori. Stampa unione esaminerà i record trovati nell’origine dati e li inserirà nei campi di stampa unione del documento ampliandoli secondo necessità.

Document memorizza informazioni a livello di documento comeStyles , BuiltInDocumentProperties ,CustomDocumentProperties elenchi e macro. La maggior parte di questi oggetti sono accessibili tramite le proprietà corrispondenti delDocument.

ILDocument è un nodo radice di un albero che contiene tutti gli altri nodi del documento. L’albero è un modello di progettazione composito e per molti versi simile a XmlDocument. Il contenuto del documento può essere manipolato liberamente a livello di programmazione:

  • È possibile accedere ai nodi del documento tramite raccolte tipizzate, ad esempioSections , ParagraphCollection eccetera.
  • I nodi del documento possono essere selezionati in base al tipo di nodo utilizzando GetChildNodes o utilizzando una query XPath conSelectNodes OSelectSingleNode.
  • I nodi di contenuto possono essere aggiunti o rimossi da qualsiasi punto del documento utilizzando InsertBefore ,InsertAfter , RemoveChild e altri metodi forniti dalla classe baseCompositeNode.
  • Gli attributi di formattazione di ciascun nodo possono essere modificati tramite le proprietà di quel nodo.

Considera l’utilizzoDocumentBuilderche semplifica l’attività di creazione o di popolamento dell’albero del documento a livello di codice.

ILDocument può contenere soloSection oggetti.

In Microsoft Word, un documento valido deve avere almeno una sezione.

Esempi

Mostra come eseguire una stampa unione con i dati di un DataTable.

public void ExecuteDataTable()
{
    DataTable table = new DataTable("Test");
    table.Columns.Add("CustomerName");
    table.Columns.Add("Address");
    table.Rows.Add(new object[] { "Thomas Hardy", "120 Hanover Sq., London" });
    table.Rows.Add(new object[] { "Paolo Accorti", "Via Monte Bianco 34, Torino" });

    // Di seguito sono riportati due modi per utilizzare DataTable come origine dati per una stampa unione.
    // 1 - Utilizza l'intera tabella per la stampa unione per creare un documento di stampa unione di output per ogni riga nella tabella:
    Document doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.WholeTable.docx");

    // 2 - Utilizza una riga della tabella per creare un documento di stampa unione di output:
    doc = CreateSourceDocExecuteDataTable();

    doc.MailMerge.Execute(table.Rows[1]);

    doc.Save(ArtifactsDir + "MailMerge.ExecuteDataTable.OneRow.docx");
}

/// <summary>
/// Crea un documento di origine per la stampa unione.
/// </summary>
private static Document CreateSourceDocExecuteDataTable()
{
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);

    builder.InsertField(" MERGEFIELD CustomerName ");
    builder.InsertParagraph();
    builder.InsertField(" MERGEFIELD Address ");

    return doc;
}

Guarda anche