Annota i documenti PDF utilizzando un'API REST in Node.js

In qualità di sviluppatore Node.js, puoi annotare facilmente qualsiasi documento PDF in modo programmatico sul cloud. È possibile aggiungere immagini, commenti, note o altri tipi di commenti esterni al documento come annotazioni. In questo articolo imparerai come annotare i documenti PDF utilizzando un’API REST in Node.js.

In questo articolo saranno trattati i seguenti argomenti:

Document Annotation REST API e Node.js SDK

Per annotare i documenti PDF, utilizzerò l’API Node.js SDK of GroupDocs.Annotation Cloud. Ti consente di creare in modo programmatico strumenti di annotazione di documenti online. È possibile aggiungere annotazioni, sovrapposizioni di filigrane, sostituzioni di testo, redazioni e marcature di testo ai formati di documenti supportati. Fornisce inoltre .NET, Java, PHP, Ruby e Python SDK come document annotation family members per l’API Cloud.

Puoi installare GroupDocs.Annotation Cloud nella tua applicazione Node.js utilizzando il seguente comando nella console:

npm install groupdocs-annotation-cloud

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

global.clientId = "659fe7da-715b-4744-a0f7-cf469a392b73"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.clientSecret = "b377c36cfa28fa69960ebac6b6e36421"; // Get ClientId and ClientSecret from https://dashboard.groupdocs.cloud
global.myStorage = "";

const configuration = new groupdocs_annotation_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Annota i documenti PDF utilizzando un’API REST in Node.js

Puoi annotare i tuoi documenti PDF sul cloud seguendo i semplici passaggi indicati di seguito:

  1. Carica il file PDF nel Cloud
  2. Annota documento PDF usando Node.js
  3. Scarica il file annotato

Carica il documento

Innanzitutto, carica il file PDF nel cloud utilizzando il seguente esempio di codice:

// inizializza l'API
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// Apri il file in IOStream da locale/disco.
var resourcesFolder = 'C:\\Files\\sample.pdf';
// leggi file
fs.readFile(resourcesFolder, (err, fileStream) => {
  // creare richiesta di file di caricamento
  var request = new groupdocs_annotation_cloud.UploadFileRequest("sample.pdf", fileStream, myStorage);
  // caricare un file
  fileApi.uploadFile(request)
});

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

Annota il documento PDF utilizzando Node.js

È possibile aggiungere più annotazioni al documento PDF in modo programmatico seguendo i passaggi indicati di seguito:

  • Crea un’istanza di AnnotateApi
  • Crea la prima istanza di AnnotationInfo
  • Imposta le proprietà di annotazione per la prima istanza, ad esempio posizione, tipo, testo, ecc.
  • Crea una seconda istanza di AnnotationInfo
  • Imposta le proprietà di annotazione per la seconda istanza, ad esempio posizione, tipo, testo, ecc.
  • Crea la terza istanza di AnnotationInfo
  • Imposta le proprietà di annotazione per la terza istanza, ad esempio posizione, tipo, testo, ecc.
  • Crea la quarta istanza di AnnotationInfo
  • Imposta le proprietà di annotazione per la quarta istanza, ad esempio posizione, tipo, testo, ecc.
  • Crea un’istanza FileInfo e imposta il percorso del file di input
  • Crea un’istanza di AnnotateOptions
  • Assegna FileInfo e le istanze di annotazione definite a AnnotateOptions
  • Imposta il percorso del file di output
  • Crea una richiesta chiamando il metodo AnnotateRequest con AnnotateOptions
  • Ottieni risultati chiamando il metodo AnnotateApi.annotate() con AnnotateRequest

Il seguente esempio di codice mostra come annotare un documento PDF con più annotazioni utilizzando un’API REST in Node.js.

// inizializza l'API
let annotareApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// annotazione della distanza
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 100
a1.pageNumber = 0
a1.penColor = 1201033
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 3
a1.opacity = 1
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Distance;
a1.text = "This is annotazione della distanza";
a1.creatorName = "Anonym A.";

// annotazione dell'area
let a2 = new groupdocs_annotation_cloud.AnnotationInfo();
a2.annotationPosition = new groupdocs_annotation_cloud.Point();
a2.annotationPosition.x = 1;
a2.annotationPosition.y = 1;
a2.box = new groupdocs_annotation_cloud.Rectangle();
a2.box.x = 80
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.penColor = 1201033;
a2.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a2.pageNumber = 0;
a2.penWidth = 3;
a2.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Area;
a2.text = "This is annotazione dell'area";
a2.creatorName = "Anonym A.";

// annotazione del campo di testo
let a3 = new groupdocs_annotation_cloud.AnnotationInfo();
a3.annotationPosition = new groupdocs_annotation_cloud.Point();
a3.annotationPosition.x = 100;
a3.annotationPosition.y = 100;
a3.box = new groupdocs_annotation_cloud.Rectangle();
a3.box.x = 450
a3.box.y = 150
a3.box.width = 100
a3.box.height = 30
a3.pageNumber = 0;
a3.fontColor = 65535;
a3.fontSize = 16;
a3.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.TextField;
a3.text = "Text field text";
a3.creatorName = "Anonym A.";

// annotazione dell'ellisse
let a4 = new groupdocs_annotation_cloud.AnnotationInfo();
a4.annotationPosition = new groupdocs_annotation_cloud.Point();
a4.annotationPosition.x = 1;
a4.annotationPosition.y = 1;
a4.box = new groupdocs_annotation_cloud.Rectangle();
a4.box.x = 350;
a4.box.y = 350;
a4.box.width = 200;
a4.box.height = 100;
a4.pageNumber = 0;
a4.penColor = 1201033;
a4.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a4.penWidth = 4;
a4.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Ellipse;
a4.text = "This is annotazione dell'ellisse";
a4.creatorName = "Anonym A.";

let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1, a2, a3, a4];
options.outputPath = "Output/output.pdf";

// creare richiesta di annotazione
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// annotare
let result = await annotareApi.annotare(request);

console.log("Multiple Annotations added: " + result.href);
Annota i documenti PDF utilizzando un'API REST in Node.js

Annota i documenti PDF utilizzando un’API REST in Node.js

Puoi leggere ulteriori informazioni sui tipi di annotazione supportati nella sezione aggiunta di annotazioni nella documentazione.

Scarica il file annotato

L’esempio di codice precedente salverà il file PDF con annotazioni sul cloud. Puoi scaricarlo utilizzando il seguente esempio di codice:

// costruire FileApi
var fileApi = new groupdocs_annotation_cloud.FileApi(configuration);

// creare richiesta di file di download
let request = new groupdocs_annotation_cloud.DownloadFileRequest("Output/output.pdf", myStorage);
// download file
let response = await fileApi.downloadFile(request);

// salvare il file nella directory di lavoro
fs.writeFile("C:\\Files\\output.pdf", response, "binary", function (err) { });
console.log(response);

Aggiungi annotazioni immagine utilizzando Node.js

Puoi aggiungere annotazioni immagine nei tuoi documenti PDF in modo programmatico seguendo i passaggi indicati di seguito:

  • Crea un’istanza di AnnotateApi
  • Crea un’istanza di AnnotationInfo
  • Definisci un rettangolo e impostane la posizione, l’altezza e la larghezza
  • Imposta le proprietà delle annotazioni, ad esempio posizione, testo, altezza, larghezza, ecc.
  • Imposta il tipo di annotazione come Immagine
  • Crea un’istanza FileInfo e imposta il percorso del file di input
  • Crea un’istanza di AnnotateOptions
  • Assegna FileInfo e annotazione a AnnotateOptions
  • Imposta il percorso del file di output
  • Crea una richiesta chiamando il metodo AnnotateRequest con AnnotateOptions
  • Ottieni risultati chiamando il metodo AnnotateApi.annotate() con AnnotateRequest

Il seguente esempio di codice mostra come aggiungere annotazioni immagine nel documento PDF utilizzando un’API REST in Node.js. Si prega di seguire i passaggi menzionati in precedenza per caricare e scaricare un file.

// inizializza l'API
let annotareApi = groupdocs_annotation_cloud.AnnotateApi.fromKeys(clientId, clientSecret);

// annotazione immagine
let a1 = new groupdocs_annotation_cloud.AnnotationInfo();
a1.annotationPosition = new groupdocs_annotation_cloud.Point();
a1.annotationPosition.x = 1;
a1.annotationPosition.y = 1;
a1.box = new groupdocs_annotation_cloud.Rectangle();
a1.box.x = 300;
a1.box.y = 160;
a1.box.width = 200;
a1.box.height = 40;
a1.pageNumber = 0;
a1.penColor = 1201033;
a1.penStyle = groupdocs_annotation_cloud.AnnotationInfo.PenStyleEnum.Solid;
a1.penWidth = 1;
a1.type = groupdocs_annotation_cloud.AnnotationInfo.TypeEnum.Image;
a1.text = "This is annotazione immagine";
a1.creatorName = "Anonym A.";
a1.imagePath = "JohnSmith.png";

// percorso del file di input
let fileInfo = new groupdocs_annotation_cloud.FileInfo();
fileInfo.filePath = "sample.pdf";

// definire le opzioni di annotazione
let options = new groupdocs_annotation_cloud.AnnotateOptions();
options.fileInfo = fileInfo;
options.annotations = [a1];
options.outputPath = "Output/output.pdf";

// creare richiesta di annotazione
let request = new groupdocs_annotation_cloud.AnnotateRequest(options);
// annotare
let result = await annotareApi.annotare(request);

console.log("Image Annotation added: " + result.href);
Aggiungi annotazioni immagine utilizzando Node.js

Aggiungi annotazioni immagine utilizzando Node.js

Prova in linea

Prova il seguente strumento di annotazione PDF online gratuito, sviluppato utilizzando l’API di cui sopra. https://products.groupdocs.app/annotation/pdf

Conclusione

In questo articolo, hai imparato come aggiungere più annotazioni ai documenti PDF sul cloud. Hai anche imparato come aggiungere annotazioni immagine ai documenti PDF in modo programmatico. Inoltre, hai imparato come caricare in modo programmatico un file PDF sul cloud e quindi scaricare il file annotato dal cloud. Puoi saperne di più su GroupDocs.Annotation 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