Das Entfernen unerwünschter Notizen, Hervorhebungen oder Tintenmarkierungen aus PDFs ist eine häufige Anforderung beim Vorbereiten sauberer Dokumente zur Verteilung. GroupDocs.Annotation Cloud SDK for Node.js bietet eine leistungsstarke REST‑basierte Bibliothek, mit der Sie PDF-Annotationen programmgesteuert verwalten können. Dieser Leitfaden zeigt Ihnen, wie Sie Annotationsobjekte aus PDFs mit REST in Node.JS Schritt für Schritt entfernen. Sie erhalten ein vollständiges Codebeispiel, äquivalente cURL‑Befehle, Konfigurationstipps und bewährte Empfehlungen, um die Entfernung von Annotationen in Ihre Dienste zu integrieren.
Vollständiges funktionierendes Beispiel zum Entfernen von Annotationsobjekten aus PDF mit REST in Node.JS
Dieses Beispiel zeigt, wie man ein PDF hochlädt, alle seine Anmerkungen löscht und die bereinigte Datei mit dem GroupDocs.Annotation SDK herunterlädt.
const fs = require('fs');
const path = require('path');
const GroupDocsAnnotationCloud = require("@groupdocs/annotation-cloud");
// ==== Authentication =========================================================
const clientId = "YOUR_CLIENT_ID";
const clientSecret = "YOUR_CLIENT_SECRET";
const config = new GroupDocsAnnotationCloud.Configuration(clientId, clientSecret);
const annotationsApi = new GroupDocsAnnotationCloud.AnnotationsApi(config);
const storageApi = new GroupDocsAnnotationCloud.StorageApi(config);
// ==== Local & Remote file definitions =======================================
const localInputPath = path.resolve(__dirname, "input.pdf");
const localOutputPath = path.resolve(__dirname, "output.pdf");
const remoteFilePath = "input.pdf";
// ==== Main workflow ==========================================================
(async () => {
// 1. Upload PDF to GroupDocs Cloud storage
const fileBytes = fs.readFileSync(localInputPath);
const uploadRequest = new GroupDocsAnnotationCloud.UploadFileRequest({
path: remoteFilePath,
file: fileBytes
});
await storageApi.uploadFile(uploadRequest);
// 2. Build FileInfo object for the uploaded PDF
const fileInfo = new GroupDocsAnnotationCloud.FileInfo({
filePath: remoteFilePath
});
// 3. Retrieve all existing annotations
const getAnnotationsRequest = new GroupDocsAnnotationCloud.GetAnnotationsRequest({
fileInfo: fileInfo
});
const annotationsResult = await annotationsApi.getAnnotations(getAnnotationsRequest);
const annotationIds = (annotationsResult.annotations || []).map(a => a.id);
// 4. Delete all annotations (if any)
if (annotationIds.length > 0) {
const deleteRequest = new GroupDocsAnnotationCloud.DeleteAnnotationsRequest({
fileInfo: fileInfo,
annotationIds: annotationIds
});
await annotationsApi.deleteAnnotations(deleteRequest);
}
// 5. Download the cleaned PDF back to local storage
const downloadRequest = new GroupDocsAnnotationCloud.DownloadFileRequest({
path: remoteFilePath
});
const fileStream = await storageApi.downloadFile(downloadRequest);
fs.writeFileSync(localOutputPath, fileStream);
console.log(`All annotations removed. Clean file saved to ${localOutputPath}`);
})();
Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass Sie alle Dateipfade und Konfigurationswerte an Ihre tatsächliche Umgebung anpassen, überprüfen Sie, dass alle erforderlichen Abhängigkeiten ordnungsgemäß installiert sind, und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, konsultieren Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.
PDF-Anmerkungen über die REST-API mit cURL löschen
Im Folgenden finden Sie die cURL‑Befehle, die denselben Workflow zum Entfernen von Anmerkungen über die GroupDocs.Annotation Cloud REST‑Endpunkte ausführen.
# 1. Obtain an access token
curl -X POST "https://api.groupdocs.cloud/v2.0/auth/token" \
-H "Content-Type: application/json" \
-d "{\"client_id\":\"YOUR_CLIENT_ID\",\"client_secret\":\"YOUR_CLIENT_SECRET\"}"
# 2. Upload the source PDF
curl -X PUT "https://api.groupdocs.cloud/v2.0/storage/file/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/pdf" \
--data-binary "@input.pdf"
# 3. Retrieve annotation IDs
curl -X GET "https://api.groupdocs.cloud/v2.0/annotation/annotations?filePath=input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
# 4. Delete all retrieved annotations
curl -X DELETE "https://api.groupdocs.cloud/v2.0/annotation/annotations?filePath=input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d "{\"annotationIds\":[\"id1\",\"id2\"]}"
# 5. Download the cleaned PDF
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/file/input.pdf" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-o output.pdf
Für eine vollständige Liste der Endpunkte und Parameter siehe die offizielle API-Dokumentation.
Wie das Entfernen von Annotationsobjekten aus PDF mit REST in Node.JS funktioniert
Authentifizierung einrichten – Die
Configuration‑Klasse wird mit IhremclientIdundclientSecretinstanziiert und erstellt einen authentifizierten Kontext für alle nachfolgenden API‑Aufrufe.const config = new GroupDocsAnnotationCloud.Configuration(clientId, clientSecret);Datei‑Upload –
UploadFileRequestsendet die lokalen PDF‑Bytes an den GroupDocs Cloud‑Speicher. Die MethodestorageApi.uploadFileübernimmt die Übertragung.const uploadRequest = new GroupDocsAnnotationCloud.UploadFileRequest({ path: remoteFilePath, file: fileBytes }); await storageApi.uploadFile(uploadRequest);Annotationen abrufen –
GetAnnotationsRequesterstellt ein Anforderungsobjekt mit einemFileInfo‑Verweis. Der AufrufannotationsApi.getAnnotationsgibt eine Sammlung von Annotationsobjekten zurück, aus denen die IDs extrahiert werden.const getAnnotationsRequest = new GroupDocsAnnotationCloud.GetAnnotationsRequest({ fileInfo: fileInfo }); const annotationsResult = await annotationsApi.getAnnotations(getAnnotationsRequest);Annotationen löschen – Wenn IDs vorhanden sind, wird
DeleteAnnotationsRequestgefüllt und anannotationsApi.deleteAnnotationsübergeben, das die Annotationen dauerhaft aus dem gespeicherten PDF entfernt.const deleteRequest = new GroupDocsAnnotationCloud.DeleteAnnotationsRequest({ fileInfo: fileInfo, annotationIds: annotationIds }); await annotationsApi.deleteAnnotations(deleteRequest);Bereinigtes PDF herunterladen – Schließlich ruft
DownloadFileRequestdie aktualisierte Datei ab undfs.writeFileSyncschreibt sie in das lokale Dateisystem.const downloadRequest = new GroupDocsAnnotationCloud.DownloadFileRequest({ path: remoteFilePath }); const fileStream = await storageApi.downloadFile(downloadRequest); fs.writeFileSync(localOutputPath, fileStream);
Für detaillierte Klassen‑ und Methodendefinitionen siehe die API‑Referenz.
Installation und Konfiguration GroupDocs.Annotation Cloud SDK for Node.js
Das SDK wird als npm‑Paket bereitgestellt. Installieren Sie es mit dem untenstehenden Befehl und binden Sie es dann in Ihrem Projekt ein.
npm install groupdocs-annotation-cloud
Sie können das neueste Paket auch direkt von der GitHub‑Release‑Seite oder der offiziellen Download‑URL herunterladen.
Nach der Installation importieren Sie die Bibliothek und erstellen ein Konfigurationsobjekt, wie im Codebeispiel gezeigt:
const GroupDocsAnnotationCloud = require("@groupdocs/annotation-cloud");
const config = new GroupDocsAnnotationCloud.Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
Stellen Sie sicher, dass Ihre Laufzeitumgebung die Node.js-Versionanforderungen erfüllt und dass Sie ein gültiges GroupDocs‑Konto besitzen, um die Client‑Anmeldeinformationen zu erhalten.
Optionen und Einstellungen zum Entfernen von Anmerkungen
Das SDK stellt mehrere Parameter zur Verfügung, die Sie anpassen können:
- clientId / clientSecret - Anmeldeinformationen für die OAuth-Authentifizierung. Legen Sie sie im
Configuration-Konstruktor fest. - fileInfo.filePath - Der Pfad der PDF-Datei im GroupDocs Cloud-Speicher. Passen Sie ihn an, wenn Sie Dateien in einem anderen Ordner speichern.
- annotationIds - Ein Array von IDs, das von
GetAnnotationszurückgegeben wird. Die Angabe eines Teilsets ermöglicht eine selektive Löschung.
Zusätzliche Einstellungen wie Anforderungs‑Timeouts und Proxy‑Konfiguration sind in der SDK‑Dokumentation verfügbar; siehe die offizielle Dokumentation für die vollständige Liste.
Best Practices für das Entfernen von PDF-Anmerkungen über REST
- Annotation IDs validieren - Stellen Sie stets sicher, dass die IDs, die Sie löschen möchten, existieren; der Versuch, nicht vorhandene IDs zu löschen, kann einen 404‑Fehler verursachen.
- HTTPS verwenden - Alle API-Aufrufe müssen über HTTPS erfolgen, um Ihre Anmeldeinformationen und Dokumentdaten zu schützen.
- Große Dateien mit Chunked Uploads verarbeiten - Bei PDFs, die größer als 100 MB sind, sollten Sie den Multipart‑Upload‑Endpunkt bevorzugen, um Zeitüberschreitungen zu vermeiden.
- API‑Antworten protokollieren - Speichern Sie Anforderungs‑IDs und Antworten für Prüfpfade und einfachere Fehlersuche.
- Access‑Tokens wiederverwenden - Zwischenspeichern Sie das OAuth‑Token, bis es abläuft, um den Authentifizierungsaufwand zu reduzieren.
Häufige Fragen
Wie authentifiziere ich mich bei der GroupDocs.Annotation Cloud API?
Holen Sie eine Client-ID und ein Geheimnis aus Ihrem GroupDocs-Konto und fordern Sie dann ein Zugriffstoken über den OAuth-Endpunkt an. Siehe die offizielle Dokumentation für Details.Kann ich bestimmte Anmerkungen statt aller löschen?
Ja, geben Sie die IDs der Anmerkungen an, die Sie entfernen möchten, im DeleteAnnotationsRequest. Das SDK gibt die Liste der Anmerkungs‑IDs nach einem GetAnnotations‑Aufruf zurück.Wie kann ich Annotationsobjekte aus einem PDF mit REST in Node.JS entfernen?
Verwenden Sie das GroupDocs.Annotation Cloud SDK für Node.js, um den DeleteAnnotations-Endpunkt aufzurufen, nachdem Sie die Annotations-IDs abgerufen haben. Der vollständige Arbeitsablauf wird im Codebeispiel und im cURL-Abschnitt dieses Leitfadens demonstriert.Welche Lizenz ist für die Produktion erforderlich?
Für die Produktion ist eine kostenpflichtige Lizenz erforderlich. Sie können während der Evaluierung eine temporäre Lizenz von der temporäre Lizenzseite erwerben.
