Introduzione

I documenti di elaborazione testi sono tra i tipi di file più comuni utilizzati nelle comunicazioni aziendali, didattiche e personali. Garantire l’autenticità, tracciare l’origine e preservare l’integrità di questi documenti è fondamentale in molti ambienti professionali. Un approccio efficace per migliorare la sicurezza e la tracciabilità dei documenti è l’integrazione di firme metadatiche.

Questo tutorial completo ti guiderà attraverso il processo di firma di documenti di elaborazione testi con metadati utilizzando GroupDocs.Signature per .NET. Aggiungendo firme basate su metadati, puoi incorporare informazioni preziose come dettagli sull’autore, timestamp di creazione, identificatori di documento e altre proprietà personalizzate direttamente nella struttura del file del documento.

Prerequisiti

Prima di procedere con questo tutorial, assicurati di avere quanto segue:

  1. GroupDocs.Signature per .NET - Scarica e installa la libreria
  2. Ambiente di sviluppo: Visual Studio o qualsiasi altro IDE compatibile con .NET
  3. Documento Word: un file di documento di esempio (DOCX, DOC, ecc.)
  4. Conoscenza di base di C# - Familiarità con il linguaggio di programmazione C#

Importa spazi dei nomi

Per iniziare, importare gli spazi dei nomi necessari per accedere alla funzionalità GroupDocs.Signature:

using System;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

Passaggio 1: impostare i percorsi dei file

Definisci i percorsi per il documento Word di origine e dove salvare l’output firmato:

// Specificare il percorso del documento Word
string filePath = "sample.docx";

// Definire la directory di output e il nome file per il documento firmato
string outputDirectory = "Your Document Directory";
string outputFilePath = Path.Combine(outputDirectory, "SignWordProcessingWithMetadata", "SignedWithMetadata.docx");

// Assicurarsi che la directory di output esista
Directory.CreateDirectory(Path.GetDirectoryName(outputFilePath));

Passaggio 2: inizializzare l’oggetto firma

Crea un’istanza della classe Signature con il tuo documento Word sorgente:

using (Signature signature = new Signature(filePath))
{
    // Il resto del codice andrà qui
}

Passaggio 3: creare e configurare le firme dei metadati

Successivamente, definisci le opzioni dei metadati e aggiungi diversi tipi di firme dei metadati:

// Crea oggetto opzioni metadati
MetadataSignOptions options = new MetadataSignOptions();

// Aggiungi vari tipi di metadati utilizzando l'interfaccia fluida
options
    .Add(new WordProcessingMetadataSignature("Author", "Mr.Sherlock Holmes")) // Valore stringa
    .Add(new WordProcessingMetadataSignature("CreatedOn", DateTime.Now))      // Valore DateTime
    .Add(new WordProcessingMetadataSignature("DocumentId", 123456))           // Valore intero
    .Add(new WordProcessingMetadataSignature("SignatureId", 123.456D))        // Doppio valore
    .Add(new WordProcessingMetadataSignature("Amount", 123.456M))             // Valore decimale
    .Add(new WordProcessingMetadataSignature("Total", 123.456F));             // Valore float

Fase 4: firmare il documento con i metadati

Applica le firme dei metadati al documento Word e salva il risultato:

// Firma il documento e salvalo nel percorso del file di output
SignResult result = signature.Sign(outputFilePath, options);

// Visualizza messaggio di successo
Console.WriteLine($"\nSource document signed successfully with {result.Succeeded.Count} metadata signature(s).");
Console.WriteLine($"Signed document saved at: {outputFilePath}");

Esempio completo

Ecco l’esempio di codice completo che riunisce tutti i passaggi:

using System;
using System.IO;
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;

namespace SignWordProcessingWithMetadataExample
{
    class Program
    {
        static void Main(string[] args)
        {
            // Specificare i percorsi dei file
            string filePath = "sample.docx";
            string outputFilePath = Path.Combine("Your Document Directory", "SignWordProcessingWithMetadata", "SignedWithMetadata.docx");
            
            // Assicurarsi che la directory di output esista
            Directory.CreateDirectory(Path.GetDirectoryName(outputFilePath));

            // Firmare il documento Word con i metadati
            using (Signature signature = new Signature(filePath))
            {
                // Crea oggetto opzioni metadati
                MetadataSignOptions options = new MetadataSignOptions();
                
                // Aggiungere diversi tipi di firme di metadati
                options
                    .Add(new WordProcessingMetadataSignature("Author", "Mr.Sherlock Holmes")) // Valore stringa
                    .Add(new WordProcessingMetadataSignature("CreatedOn", DateTime.Now))      // Valore DateTime
                    .Add(new WordProcessingMetadataSignature("DocumentId", 123456))           // Valore intero
                    .Add(new WordProcessingMetadataSignature("SignatureId", 123.456D))        // Doppio valore
                    .Add(new WordProcessingMetadataSignature("Amount", 123.456M))             // Valore decimale
                    .Add(new WordProcessingMetadataSignature("Total", 123.456F));             // Valore float
                
                // Firma il documento e salvalo nel file
                SignResult result = signature.Sign(outputFilePath, options);
                
                // Visualizza i risultati
                Console.WriteLine($"\nSource document signed successfully with {result.Succeeded.Count} signature(s).");
                Console.WriteLine($"File saved at {outputFilePath}.");
            }
        }
    }
}

Tecniche avanzate di metadati dei documenti Word

Utilizzo delle proprietà dei documenti personalizzate e integrate

I documenti Word dispongono di proprietà sia integrate che personalizzate, accessibili tramite il pannello delle proprietà del documento. GroupDocs.Signature consente di lavorare con entrambe:

// Aggiungi proprietà integrate
options
    .Add(new WordProcessingMetadataSignature("Company", "Sherlock Holmes Consulting"))
    .Add(new WordProcessingMetadataSignature("Category", "Legal Document"))
    .Add(new WordProcessingMetadataSignature("Keywords", "contract,agreement,legal"))
    .Add(new WordProcessingMetadataSignature("Comments", "This document is confidential"))
    .Add(new WordProcessingMetadataSignature("Manager", "John Watson"));

// Aggiungi proprietà personalizzate
options.Add(new WordProcessingMetadataSignature("Department", "Legal"));
options.Add(new WordProcessingMetadataSignature("SecurityLevel", "Confidential"));

Ricerca di metadati nei documenti Word firmati

Dopo la firma, potresti voler verificare o estrarre i metadati:

// Creare opzioni di ricerca per i metadati
MetadataSearchOptions searchOptions = new MetadataSearchOptions();

// Cerca firme di metadati
SearchResult searchResult = signature.Search(searchOptions);

// Visualizza le firme trovate
Console.WriteLine($"Found {searchResult.Signatures.Count} metadata signatures:");
foreach (var foundSignature in searchResult.Signatures)
{
    MetadataSignature metadataSignature = foundSignature as MetadataSignature;
    if (metadataSignature != null)
    {
        Console.WriteLine($"- {metadataSignature.Name}: {metadataSignature.Value} ({metadataSignature.Value.GetType().Name})");
    }
}

Lavorare con le variabili del documento

documenti Word supportano anche le variabili del documento, che sono un’altra forma di metadati:

// Aggiungere variabili al documento
options.Add(new WordProcessingMetadataSignature("DocVariable1", "Custom Value 1", true));
options.Add(new WordProcessingMetadataSignature("DocVariable2", DateTime.Now, true));

Conclusione

In questo tutorial completo, hai imparato come firmare documenti di elaborazione testi con metadati utilizzando GroupDocs.Signature per .NET. L’incorporazione di metadati nei documenti Word migliora la tracciabilità dei documenti, fornisce un contesto prezioso e contribuisce a stabilirne l’autenticità.

Le firme metadatiche nei documenti Word sono particolarmente utili in ambienti aziendali e legali, dove l’origine, la paternità e il monitoraggio delle versioni del documento sono importanti. I metadati incorporati possono includere informazioni sull’autore, l’ora di creazione, gli identificatori del documento e proprietà personalizzate pertinenti alle esigenze della tua organizzazione.

Implementando le firme dei metadati con GroupDocs.Signature, puoi garantire che i tuoi documenti Word mantengano la loro integrità e forniscano informazioni verificabili durante tutto il loro ciclo di vita.

Domande frequenti

Posso aggiungere metadati ai documenti Word in cui sono già definite alcune proprietà?

Sì, è possibile aggiungere nuovi metadati o aggiornare quelli esistenti nei documenti Word. GroupDocs.Signature gestirà l’integrazione, aggiungendo nuove proprietà o aggiornando quelle esistenti con gli stessi nomi.

Quali formati di elaborazione testi sono supportati per la firma dei metadati?

GroupDocs.Signature per .NET supporta la firma dei metadati per vari formati di elaborazione testi, tra cui DOCX, DOC, RTF, ODT e altri. Per un elenco completo, fare riferimento a documentazione.

Le firme dei metadati nei documenti Word sono visibili ai lettori?

Le firme dei metadati non sono visibili nel contenuto del documento stesso. Tuttavia, possono essere visualizzate tramite il pannello delle proprietà del documento in Microsoft Word o altre applicazioni compatibili.

Posso convalidare a livello di programmazione se un documento Word è stato manomesso dopo aver aggiunto metadati?

Sì, GroupDocs.Signature offre funzionalità di verifica che possono aiutare a rilevare se un documento è stato modificato dopo la firma, comprese le modifiche ai metadati.

È possibile rimuovere i metadati da un documento Word?

Sì, GroupDocs.Signature offre opzioni per rimuovere le firme dei metadati dai documenti, se necessario. Questo può essere utile per pulire le informazioni sensibili prima di condividere i documenti esternamente.

Dove posso trovare ulteriori risorse e supporto?