I metadati del documento sono informazioni sul documento come autore, tempo di modifica, ecc. memorizzate all’interno di un documento. In qualità di sviluppatore C#, puoi facilmente modificare le informazioni sui metadati per i documenti PDF in modo programmatico sul cloud. In questo articolo imparerai come modificare i metadati dei file PDF utilizzando un’API REST in C#.

In questo articolo saranno trattati i seguenti argomenti:

API REST per la manipolazione dei metadati del documento e .NET SDK

groupdocsmetadata-for-cloud

Per modificare i metadati di un documento PDF, utilizzerò l’API .NET SDK of GroupDocs.Metadata Cloud. Ti consente di aggiungere, modificare, recuperare e rimuovere metadati da quasi tutti i formati di file standard del settore. È possibile eseguire tali operazioni su PDF, Microsoft Word, fogli di calcolo Excel, presentazioni PowerPoint, e-mail di Outlook, Visio, OneNote, Project, audio, video, AutoCAD, archivio, JPEG, BMP, PNG e TIFF. Fornisce inoltre Java SDK come membri della famiglia di manipolazione dei metadati del documento per l’API Cloud.

È possibile installare GroupDocs.Metadata Cloud SDK per .NET nel progetto di Visual Studio dal gestore pacchetti NuGet come mostrato di seguito:

Installa GroupDocs.Metadata Cloud tramite NuGet Package Manager

Installa GroupDocs.Metadata Cloud tramite NuGet Package Manager

È inoltre possibile installare il pacchetto NuGet utilizzando il seguente comando nella console di Package Manager:

Install-Package GroupDocs.Metadata-Cloud

Si prega di ottenere l’ID cliente e il segreto cliente dalla dashboard prima di iniziare a seguire i passaggi e gli esempi di codice disponibili. Una volta che hai il tuo ID cliente e segreto, aggiungi il codice come mostrato di seguito:

string clientID = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
string clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
string myStorage = "";

Configuration configuration = new Configuration(clientID, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

Modifica i metadati dei file PDF utilizzando l’API REST in C#

È possibile impostare i metadati dei documenti PDF seguendo i semplici passaggi indicati di seguito:

Carica il documento

Innanzitutto, carica il file PDF sul Cloud utilizzando l’esempio di codice fornito di seguito:

# inizializzazione dell'API
FileApi fileApi = new FileApi(configuration);
string path = @"C:\Files";

var file = Directory.GetFiles(path, "input.pdf", SearchOption.AllDirectories).FirstOrDefault();
if (file.Length != 0)
{
    var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);

    var fileStream = File.Open(file, FileMode.Open);

    fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, myStorage));
    fileStream.Close();
}

Di conseguenza, il file PDF caricato (input.pdf) sarà disponibile nella sezione file della dashboard sul cloud.

Aggiorna i metadati dei file PDF utilizzando C#

È possibile aggiornare i metadati di un file PDF in modo programmatico seguendo i passaggi indicati di seguito.

  • Crea un’istanza di MetadataApi
  • Impostare il percorso del file PDF nel modello FileInfo
  • Definire SetOptions
  • Fornire NewValue e Type per SetPropert
  • Definire SearchCriteria, fornire NameOptions per cui aggiornare il valore
  • Crea SetRequest con SetOptions
  • Ottieni risultati chiamando il metodo MetadataApi.Set().

L’esempio di codice seguente mostra come impostare i metadati in base al nome della proprietà di un documento PDF utilizzando un’API REST.

# inizializzazione dell'API
var apiInstance = new MetadataApi(configuration);

try
{
    var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
    {
        FilePath = "input.pdf",
        StorageName = myStorage
    };
    
    // Definire le opzioni di impostazione
    var options = new SetOptions
    {
        FileInfo = fileInfo,
        Properties = new List<SetProperty>
        {
            new SetProperty
            {
                NewValue = "hello",
                Type = "String",
                SearchCriteria = new SearchCriteria
                {
                    NameOptions = new NameOptions
                    {
                        Value = "Keywords"
                    }
                },
            }
        }
    };
    
    // Definisci richiesta di set
    var request = new SetRequest(options);

    var response = apiInstance.Set(request);
    Console.WriteLine($"Count of changes: {response.SetCount}");
    Console.WriteLine("Resultant file path: " + response.Path);
}
catch (Exception e)
{
    Console.WriteLine("Exception while calling MetadataApi: " + e.Message);
}
Modifica i metadati dei documenti PDF utilizzando l'API REST in C#

Imposta metadati per nome proprietà

Il seguente frammento di codice mostra come abbinare il nome esatto della proprietà impostando la proprietà ExactPhrase su True:

# inizializzazione dell'API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Definire le opzioni di impostazione
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "This is title",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                NameOptions = new NameOptions
                {
                    Value = "Title",
                    MatchOptions = new MatchOptions
                    {
                        ExactPhrase = true
                    }
                }
            },
        }
    }
};

// Definisci richiesta di set
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Modifica i metadati abbinando il nome esatto della proprietà nei documenti PDF utilizzando l'API REST in C#

Imposta i metadati facendo corrispondere il nome esatto della proprietà

Il seguente frammento di codice mostra come definire i criteri di ricerca utilizzando le espressioni regolari per fornire le MatchOptions:

# inizializzazione dell'API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Definire le opzioni di impostazione
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "new value",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                NameOptions = new NameOptions
                {
                    Value = "^Tit.*",
                    MatchOptions = new MatchOptions
                    {
                        IsRegex = true
                    }
                }
            },
        }
    }
};

// Definisci richiesta di set
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Modifica i metadati abbinando il nome della proprietà utilizzando l'espressione regolare nei documenti PDF utilizzando l'API REST in C#

Imposta i metadati facendo corrispondere il nome della proprietà con l’espressione regolare

Il seguente frammento di codice mostra come aggiornare i metadati fornendo il valore della proprietà:

# inizializzazione dell'API
var apiInstance = new MetadataApi(configuration);
var fileInfo = new GroupDocs.Metadata.Cloud.Sdk.Model.FileInfo
{
    FilePath = "input.pdf",
    StorageName = myStorage
};

// Definire le opzioni di impostazione
var options = new SetOptions
{
    FileInfo = fileInfo,
    Properties = new List<SetProperty>
    {
        new SetProperty
        {
            NewValue = "Simply set by Property Value",
            Type = "String",
            SearchCriteria = new SearchCriteria
            {
                ValueOptions = new ValueOptions
                {
                    Value = "Windows User",
                    Type = "String"
                }
            },
        }
    }
};

// Definisci richiesta di set
var request = new SetRequest(options);

var response = apiInstance.Set(request);
Modifica i metadati abbinando il valore della proprietà nei documenti PDF utilizzando l'API REST in C#

Imposta i metadati in base al valore della proprietà corrispondente

Scarica il file aggiornato

Gli esempi di codice sopra riportati salveranno il file PDF aggiornato sul cloud e potranno essere scaricati utilizzando il seguente esempio di codice:

# inizializzazione dell'API
var fileApi = new FileApi(configuration);
var file = "metadata\\set_metadata\\input_pdf\\input.pdf";
var downloadRequest = new DownloadFileRequest(file, myStorage);

Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
using (var fileStream = File.Create("C:\\Files\\sample_input.pdf"))
{
    downloadResponse.Seek(0, SeekOrigin.Begin);
    downloadResponse.CopyTo(fileStream);
}

Prova in linea

Prova il seguente strumento di manipolazione dei metadati PDF online gratuito, sviluppato utilizzando l’API di cui sopra.

https://products.groupdocs.app/metadata/pdf

Conclusione

In questo articolo, hai imparato come modificare i metadati dei documenti PDF sul cloud. Questo articolo spiega anche come caricare a livello di codice un file PDF nel cloud e quindi scaricare il file aggiornato dal cloud. Puoi saperne di più su GroupDocs.Metadata Manipulation Cloud API utilizzando la documentazione. Forniamo anche una sezione Riferimento API che ti consente di visualizzare e interagire con le nostre API direttamente attraverso il browser. In caso di ambiguità, non esitate a contattarci sul forum.

Guarda anche