PDF’lerden istenmeyen notları, vurgulamaları veya mürekkep işaretlerini kaldırmak, temiz belgeleri dağıtıma hazırlarken sıkça karşılaşılan bir gereksinimdir. GroupDocs.Annotation Cloud SDK for Node.js programlı olarak PDF ek açıklamalarını yönetmenizi sağlayan güçlü bir REST‑tabanlı kütüphane sunar. Bu kılavuz, Node.JS’te REST kullanarak PDF’den Annotation nesnelerini nasıl kaldıracağınızı adım adım gösterir. Tam bir kod örneği, eşdeğer cURL komutları, yapılandırma ipuçları ve hizmetlerinize ek açıklama kaldırma işlevini entegre etmek için en iyi uygulama önerilerini göreceksiniz.

Tam Çalışan Örnek: REST ile Node.JS’de PDF’den Açıklama Nesnelerini Kaldırma

Bu örnek, bir PDF’yi nasıl yükleyeceğinizi, tüm ek açıklamalarını nasıl sileceğinizi ve temizlenmiş dosyayı GroupDocs.Annotation SDK kullanarak nasıl indireceğinizi gösterir.

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}`);
})();

Not: Bu kod örneği temel işlevselliği göstermektedir. Projenizde kullanmadan önce, dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgelere bakın veya destek ekibi ile iletişime geçin.

cURL Kullanarak REST API ile PDF Açıklamaları Silme

Aşağıda, GroupDocs.Annotation Cloud REST uç noktaları aracılığıyla aynı ek açıklama kaldırma iş akışını gerçekleştiren cURL komutları bulunmaktadır.

# 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

Uç noktalar ve parametrelerin tam listesi için, resmi API belgelerine bakın.

PDF’de REST ile Node.JS’de Açıklama Nesnelerini Kaldırma Nasıl Çalışır

  1. Kimlik Doğrulama Ayarı - Configuration sınıfı, clientId ve clientSecret değerlerinizle örneklenir ve sonraki tüm API çağrıları için kimliği doğrulanmış bir bağlam oluşturur.

    const config = new GroupDocsAnnotationCloud.Configuration(clientId, clientSecret);
    
  2. Dosya Yükleme - UploadFileRequest, yerel PDF baytlarını GroupDocs Cloud depolamasına gönderir. storageApi.uploadFile yöntemi aktarımı gerçekleştirir.

    const uploadRequest = new GroupDocsAnnotationCloud.UploadFileRequest({
        path: remoteFilePath,
        file: fileBytes
    });
    await storageApi.uploadFile(uploadRequest);
    
  3. Ek Açıklamaları Al - GetAnnotationsRequest, bir FileInfo referansı içeren istek nesnesi oluşturur. annotationsApi.getAnnotations çağrısı, ek açıklama nesnelerinden oluşan bir koleksiyon döndürür ve bu koleksiyondan kimlikler çıkarılır.

    const getAnnotationsRequest = new GroupDocsAnnotationCloud.GetAnnotationsRequest({
        fileInfo: fileInfo
    });
    const annotationsResult = await annotationsApi.getAnnotations(getAnnotationsRequest);
    
  4. Ek Açıklamaları Sil - Eğer herhangi bir kimlik mevcutsa, DeleteAnnotationsRequest doldurulur ve annotationsApi.deleteAnnotations metoduna gönderilir; bu, depolanan PDF’den ek açıklamaları kalıcı olarak kaldırır.

    const deleteRequest = new GroupDocsAnnotationCloud.DeleteAnnotationsRequest({
        fileInfo: fileInfo,
        annotationIds: annotationIds
    });
    await annotationsApi.deleteAnnotations(deleteRequest);
    
  5. Temiz PDF’yi İndir - Son olarak, DownloadFileRequest güncellenmiş dosyayı alır ve fs.writeFileSync bu dosyayı yerel dosya sistemine yazar.

    const downloadRequest = new GroupDocsAnnotationCloud.DownloadFileRequest({
        path: remoteFilePath
    });
    const fileStream = await storageApi.downloadFile(downloadRequest);
    fs.writeFileSync(localOutputPath, fileStream);
    

Detaylı sınıf ve yöntem tanımları için, API referansına bakın.

Kurulum ve Yapılandırma GroupDocs.Annotation Cloud SDK for Node.js

SDK bir npm paketi olarak dağıtılır. Aşağıdaki komutla kurun ve ardından projenizde require edin.

npm install groupdocs-annotation-cloud

En son paketi doğrudan GitHub sürüm sayfasından veya resmi indirme URL’sinden indirebilirsiniz.

Kurulumdan sonra, kütüphaneyi içe aktarın ve kod örneğinde gösterildiği gibi bir yapılandırma nesnesi oluşturun:

const GroupDocsAnnotationCloud = require("@groupdocs/annotation-cloud");
const config = new GroupDocsAnnotationCloud.Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");

Çalışma ortamınızın Node.js sürüm gereksinimlerini karşıladığından ve istemci kimlik bilgilerini alabilmek için geçerli bir GroupDocs hesabına sahip olduğunuzdan emin olun.

Açıklama Kaldırma Seçenekleri ve Ayarlar

SDK, ayarlayabileceğiniz çeşitli parametreler sunar:

  • clientId / clientSecret - OAuth kim doğrulaması için kimlik bilgileri. Configuration yapıcısında ayarlayın.
  • fileInfo.filePath - PDF’in GroupDocs Cloud depolama alanındaki yolu. Dosyaları farklı bir klasörde saklıyorsanız bunu ayarlayın.
  • annotationIds - GetAnnotations tarafından döndürülen kimliklerin bir dizisi. Bir alt küme sağlamak, seçici silme olanağı verir.

İstek zaman aşımı ve proxy yapılandırması gibi ek ayarlar SDK belgelerinde mevcuttur; tam liste için resmi belgeler sayfasına bakın.

REST üzerinden PDF Açıklamaları Kaldırma için En İyi Uygulamalar

  • Anotasyon Kimliklerini Doğrula - Her zaman silmeyi düşündüğünüz kimliklerin mevcut olduğundan emin olun; var olmayan kimlikleri silmeye çalışmak 404 hatasına neden olabilir.
  • HTTPS Kullan - Tüm API çağrıları, kimlik bilgilerinizin ve belge verilerinizin korunması için HTTPS üzerinden yapılmalıdır.
  • Büyük Dosyaları Parçalı Yüklemelerle İşleyin - 100 MB’den büyük PDF’ler için, zaman aşımını önlemek amacıyla çok parçalı yükleme uç noktasını tercih edin.
  • API Yanıtlarını Günlüğe Kaydet - Denetim izleri ve daha kolay sorun giderme için istek kimliklerini ve yanıtları saklayın.
  • Erişim Token’larını Yeniden Kullan - Kimlik doğrulama yükünü azaltmak için OAuth token’ını süresi dolana kadar önbellekte tutun.

Sık Sorulan Sorular

  • GroupDocs.Annotation Cloud API ile nasıl kimlik doğrulaması yapabilirim?
    GroupDocs hesabınızdan bir istemci kimliği ve gizli anahtar alın, ardından OAuth uç noktası üzerinden bir erişim belirteci isteyin. Ayrıntılar için resmi belgeleri inceleyin.

  • Tümünü silmek yerine belirli yorumları silebilir miyim?
    Evet, silmek istediğiniz yorumların kimliklerini DeleteAnnotationsRequest içinde sağlayın. SDK, bir GetAnnotations çağrısından sonra yorum kimliklerinin listesini döndürür.

  • PDF’den Annotation nesnelerini REST ile Node.JS’de nasıl kaldırabilirim?
    Annotation kimliklerini aldıktan sonra DeleteAnnotations uç noktasını çağırmak için GroupDocs.Annotation Cloud SDK for Node.js’i kullanın. Tam iş akışı bu kılavuzun kod örneği ve cURL bölümünde gösterilmiştir.

  • Üretim kullanımı için hangi lisans gereklidir?
    Üretim için ücretli bir lisans gereklidir. Değerlendirme sırasında geçici bir lisansı geçici lisans sayfasından alabilirsiniz.

Daha Fazla Okuma