Annotazioni PDF Documenti Word

Come aggiungere annotazioni a un PDF utilizzando C# .NET

Nell’era digitale odierna, i PDF sono diventati un formato diffuso per la condivisione di informazioni, documenti e rapporti. Tuttavia, la semplice visualizzazione di un PDF potrebbe non essere sufficiente per molti utenti. A volte, gli utenti potrebbero voler evidenziare o aggiungere note a parti specifiche del PDF per fornire ulteriore contesto o feedback. Fortunatamente, sono disponibili diversi annotatori PDF gratuiti che consentono agli utenti di aggiungere facilmente commenti, evidenziare testo e altro. Tuttavia, in questo articolo, esploreremo come utilizzare l’API REST per supportare le annotazioni PDF e ti mostreremo come evidenziare, commentare e aggiungere note ai tuoi documenti PDF.

API REST per l’annotazione PDF

Aspose.PDF Cloud fornisce una soluzione facile da usare e completa per aggiungere annotazioni ai documenti PDF in modo programmatico. Con Aspose.PDF Cloud, puoi aggiungere vari tipi di annotazioni ai documenti PDF, inclusi testo, immagine, timbro e varie annotazioni di markup. È inoltre possibile modificare le annotazioni esistenti, ad esempio modificando la posizione, le dimensioni, il colore o qualsiasi altra proprietà.

Le annotazioni supportate includono testo, cerchio, poligono, polilinea, linea, quadrato, testo libero, evidenziato, sottolineato, ondulato, barrato, cursore, inchiostro, collegamento, popup, allegato file, audio, filmato, schermo, widget, filigrana, TrapNet, PrinterMark, Redazione, Timbro, RichMedia e PDF3D.

Ora, per aggiungere l’SDK nel tuo progetto, cerca “Aspose.PDF-Cloud” nel gestore dei pacchetti NuGet e fai clic sul pulsante Aggiungi pacchetto. Il prossimo passo importante è registrare un account sulla dashboard Cloud e ottenere le tue credenziali cliente personali. Dai un’occhiata alla guida Quick Start per ulteriori dettagli.

Aggiungi commenti al PDF usando C#

Diamo un’occhiata al frammento di codice C# .NET utilizzato per aggiungere annotazioni a un documento PDF.

// Per esempi completi e file di dati, vai a 
https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-dotnet

// Ottieni le credenziali del cliente da https://dashboard.aspose.cloud/
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// creare un oggetto di PdfApi
PdfApi api = new PdfApi(clientSecret, clientID);

// crea l'oggetto List contiene FreeTextAnnotations
List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>
{
new FreeTextAnnotation(
    // specificare l'area rettangolare contenente FreeTextAnnotation
    // definire anche i dettagli di formattazione del testo
    Rect: new Rectangle(100, 800, 350, 830),
    TextStyle:new TextStyle(
        FontSize: 26, Font: "Arial",
        ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0, 0xFF, 0),
        BackgroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0xFF, 0, 0)
        ))
    {
    // Contenuto da visualizzare all'interno di FreeTextAnnotation
    Contents = "Confidential !",
    Color = new Aspose.Pdf.Cloud.Sdk.Model.Color(0, 0, 0, 0),
    Id = "id1",
    Name = "Test Free Text",                    
    Flags = new List<AnnotationFlags> {AnnotationFlags.Default},
    HorizontalAlignment = HorizontalAlignment.Center,
    Intent = FreeTextIntent.FreeTextTypeWriter,
    RichText = "Rich Text",
    Subject = "Text Box Subj",
    ZIndex = 1,
    Justification = Justification.Center,
    Title = "Title",
    PageIndex = 1                     
    }
};
var response = api. PostPageFreeTextAnnotations("Binder1.pdf", 1, annotations);

Ora, cerchiamo di capire lo snippet di codice in modo più dettagliato.

PdfApi api = new PdfApi(clientSecret, clientID);

Crea un’istanza della classe PdfApi che accetta le credenziali del client come argomenti nel suo costruttore.

List<FreeTextAnnotation> annotations = new List<FreeTextAnnotation>

Poiché l’API supporta la capacità di aggiungere una o più annotazioni di tipo simile contemporaneamente, è necessario creare un oggetto List di tipo FreeTextAnnnotation.

new FreeTextAnnotation(
    Rect: new Rectangle(100, 800, 350, 830),
    TextStyle:new TextStyle(
        FontSize: 26, Font: "Arial",
        ForegroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0, 0xFF, 0),
        BackgroundColor: new Aspose.Pdf.Cloud.Sdk.Model.Color(0xFF, 0xFF, 0, 0)
        ))

Crea un oggetto di FreeTextAnnotation in cui definiamo l’area rettangolare per i dettagli di annotazione e formattazione del testo.

Contents = "Confidential !"

Qui definiamo il contenuto per FreeTextAnnotation.

var response = api. PostPageFreeTextAnnotations("Binder1.pdf", 1, annotations);

Chiama l’API REST per aggiungere FreeTextAnnotation sulla prima pagina del documento PDF già disponibile nell’archivio cloud.

Di seguito sono riportati i possibili valori che possono essere assegnati alle proprietà utilizzate nel suddetto frammento di codice.

  • AnnotationFlags - I valori supportati possono essere [Default, Invisible, Hidden, Print, NoZoom, NoRotate, NoView, ReadOnly, Locked, ToggleNoView, LockedContents].
  • Ruota - Angolo di rotazione per il testo. I valori possibili possono essere [Nessuno, on90, on180, on270].
  • AnnotationFlags - Un insieme di flag che specificano varie caratteristiche dell’annotazione. Il valore possibile può essere “[Default, Invisible, Hidden, Print, NoZoom, NoRotate, NoView, ReadOnly, Locked, ToggleNoView, LockedContents]”.
  • FreeTextIntent - Enumera gli intenti dell’annotazione di testo libero. I valori possibili possono essere [ Undefined, FreeTextCallout, FreeTextTypeWriter].

Aggiungi annotazione di testo libero al PDF utilizzando i comandi cURL

L’utilizzo dei comandi cURL per chiamare Aspose.PDF Cloud API è un buon approccio per soddisfare questo requisito. È anche utile se hai familiarità con gli strumenti della riga di comando o preferisci usarli. Quindi, con lo strumento da riga di comando cURL, puoi effettuare richieste HTTP ed eseguire varie operazioni relative all’elaborazione di file PDF.

Ora, per aggiungere annotazioni a un documento PDF utilizzando i comandi cURL, dobbiamo prima generare un token di autenticazione inviando una richiesta all’endpoint del token con il SID dell’app e la chiave dell’app. Eseguire il seguente comando per generare accessToken.

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=ee170169-ca49-49a4-87b7-0e2ff815ea6e&client_secret=7f098199230fc5f2175d494d48f2077c" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

Una volta generato l’accessToken, esegui il seguente comando che aggiunge la FreeTextAnnotation al documento PDF. Il file PDF annotato viene quindi aggiornato nell’archivio cloud.

curl -v "https://api.aspose.cloud/v3.0/pdf/{inputPDF}/pages/1/annotations/freetext" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "[  {        \"Color\": {      \"A\": 0,      \"R\": 0,      \"G\": 0,      \"B\": 0    },    \"Contents\": \"Confidential !\",    \"Modified\": \"01/05/2023 12:00:00.000 PM\",    \"Id\": \"id0\",    \"Flags\": [      \"Default\"    ],    \"Name\": \"comment\",    \"Rect\": {      \"LLX\": 100,      \"LLY\": 800,      \"URX\": 350,      \"URY\": 830    },    \"PageIndex\": 0,    \"ZIndex\": 1,    \"HorizontalAlignment\": \"Center\",    \"VerticalAlignment\": \"Center\",    \"CreationDate\": \"03/05/2023 16:00:00.000 PM\",    \"Subject\": \"Subj.\",    \"Title\": \"Main Heading\",    \"RichText\": \"Hello world...\",    \"Justification\": \"Left\",    \"Intent\": \"FreeTextTypeWriter\",    \"Rotate\": \"None\",    \"TextStyle\": {      \"FontSize\": 26,      \"Font\": \"Arial\",      \"ForegroundColor\": {        \"A\": 10,        \"R\": 10,        \"G\": 100,        \"B\": 120      },      \"BackgroundColor\": {        \"A\": 0,        \"R\": 0,        \"G\": 50,        \"B\": 80      }    }  }]"

Sostituisci “{inputPDF}” con il nome del file PDF di input già disponibile su Cloud storage, “{accessToken}” con il token di accesso JWT generato sopra.

Anteprima dell'annotazione PDF

Immagine: - Anteprima dell’annotazione di testo libero nel file PDF.

Il documento PDF utilizzato nell’esempio precedente può essere scaricato da questo link.

Conclusione

In conclusione, l’aggiunta di annotazioni ai PDF può migliorare notevolmente la loro utilità e funzionalità. Sia che tu stia cercando di evidenziare testo importante, aggiungere commenti o prendere appunti direttamente all’interno del documento, Aspose.PDF Cloud è una scelta straordinaria per raggiungere questo obiettivo. Abbiamo anche appreso che Aspose.PDF Cloud SDK per i comandi .NET e cURL offre potenti soluzioni per annotare i PDF, dandoti la possibilità di creare flussi di lavoro personalizzati e processi di automazione. Pertanto, con questi strumenti, puoi aggiungere rapidamente e facilmente annotazioni ai PDF, risparmiando tempo e aumentando la produttività.

articoli Correlati

Consigliamo vivamente di consultare i seguenti blog: