Word belgelerine doğrudan hızlı yorumlar eklemek, işbirlikçi inceleme süreçlerinde yaygın bir gereksinimdir. GroupDocs.Annotation Cloud SDK for Node.JS sunucunuzdan çıkmadan zengin ek açıklamalar eklemenizi programlı olarak sağlar. Bu rehberde, Node.JS’te Word sayfalarına Yapışkan Notlar oluşturmayı, kurulum, ayrıntılı bir yürütme, tam bir kod örneği ve eşdeğer cURL çağrılarını kapsayarak göstereceğiz.

GroupDocs.Annotation Cloud SDK for Node.JS Kurulumu

Başlamadan önce, şunların olduğundan emin olun:

  • Node.js 14+ ve npm yüklü
  • GroupDocs cloud hesabı clientId ve clientSecret ile
  • Eklemek istediğiniz kaynak DOCX dosyasına erişim

npm aracılığıyla SDK’yı kurun:

npm install groupdocs-annotation-cloud

Manuel kurulum tercih ediyorsanız, en son paketi resmi sürüm sayfasından indirin: GroupDocs.Annotation Cloud SDK for Node.JS İndir.

Kimlik bilgilerinizle bir yapılandırma nesnesi oluşturun (tam örnekten alıntı):

const { Configuration } = require("@groupdocs.annotation-cloud");

const config = new Configuration({
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET"
});

SDK yüklü ve kimlik bilgileri hazır olduğunda, uygulamaya geçebiliriz.

Node.JS’te Word Sayfalarına Yapışkan Notlar Oluşturma: Adım Adım Kılavuz

Bu kılavuzda, SDK’nın açıklama sınıflarını kullanarak Node.JS’te Word sayfalarına Yapışkan Notlar oluşturacağız.

Adım 1: Anotasyon API’sini Başlatın

İlk olarak, gerekli sınıfları içe aktarın ve AnnotateApi’nin bir örneğini oluşturun.

const { AnnotateApi, models } = require("@groupdocs.annotation-cloud");
const annotateApi = new AnnotateApi(config);

Adım 2: Kaynak ve Hedef Dosyaları Tanımlayın

Giriş DOCX dosyasını ve açıklamalı çıktının yolunu belirtin.

const inputFilePath = "sample.docx";
const outputFilePath = "sample_annotated.docx";

const fileInfo = new models.FileInfo();
fileInfo.filePath = inputFilePath;

Adım 3: Yapışkan Not Konumunu Ayarlama

Yapışkan notun sayfa 1’de görüneceği yeri belirleyen bir Rectangle oluşturun.

const rect = new models.Rectangle();
rect.x = 100;      // distance from left edge (points)
rect.y = 100;      // distance from top edge (points)
rect.width = 200;  // width of the sticky note
rect.height = 100; // height of the sticky note

Adım 4: Yapışkan Not Anotasyon Nesnesini Oluşturun

Anotasyon tipini, sayfa numarasını, dikdörtgeni, metni ve arka plan rengini yapılandırın.

const stickyNote = new models.AnnotationInfo();
stickyNote.annotationType = "StickyNote";
stickyNote.pageNumber = 1;
stickyNote.rect = rect;
stickyNote.text = "This is a sticky note added via GroupDocs.Annotation Cloud SDK.";
stickyNote.color = "FFFF00"; // Yellow background

Adım 5: Açıklama İsteğini Yürüt

İstek seçeneklerini bir araya getirin ve annotate metodunu çağırın.

const annotateOptions = new models.AnnotateOptions();
annotateOptions.fileInfo = fileInfo;
annotateOptions.annotations = [stickyNote];
annotateOptions.outputPath = outputFilePath;

(async () => {
    try {
        const request = new models.AnnotateRequest(annotateOptions);
        const response = await annotateApi.annotate(request);
        console.log("Sticky note created successfully. Output saved to:", response.path);
    } catch (err) {
        console.error("Failed to create sticky note:", err);
    }
})();

Node.JS’te Word Sayfalarına Yapışkan Notlar Oluşturma için Tam Çalışan Örnek

Aşağıdaki örnek, Node.JS’te GroupDocs.Annotation Cloud SDK kullanarak Word sayfalarına Yapışkan Notlar eklemenin tam uygulamasını göstermektedir.

const { AnnotateApi, Configuration, models } = require("@groupdocs.annotation-cloud");

// -----------------------------------------------------------------------------
// Configuration – replace with your actual GroupDocs credentials
// -----------------------------------------------------------------------------
const config = new Configuration({
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET"
});

const annotateApi = new AnnotateApi(config);

// -----------------------------------------------------------------------------
// Define input and output files
// -----------------------------------------------------------------------------
const inputFilePath = "sample.docx";
const outputFilePath = "sample_annotated.docx";

// -----------------------------------------------------------------------------
// Build FileInfo object for the source document
// -----------------------------------------------------------------------------
const fileInfo = new models.FileInfo();
fileInfo.filePath = inputFilePath;

// -----------------------------------------------------------------------------
// Define rectangle (position & size) for the sticky note on page 1
// -----------------------------------------------------------------------------
const rect = new models.Rectangle();
rect.x = 100;      // distance from left edge (points)
rect.y = 100;      // distance from top edge (points)
rect.width = 200;  // width of the sticky note
rect.height = 100; // height of the sticky note

// -----------------------------------------------------------------------------
// Create the sticky‑note annotation
// -----------------------------------------------------------------------------
const stickyNote = new models.AnnotationInfo();
stickyNote.annotationType = "StickyNote";
stickyNote.pageNumber = 1;
stickyNote.rect = rect;
stickyNote.text = "This is a sticky note added via GroupDocs.Annotation Cloud SDK.";
stickyNote.color = "FFFF00"; // Yellow background

// -----------------------------------------------------------------------------
// Assemble the annotate request options
// -----------------------------------------------------------------------------
const annotateOptions = new models.AnnotateOptions();
annotateOptions.fileInfo = fileInfo;
annotateOptions.annotations = [stickyNote];
annotateOptions.outputPath = outputFilePath;

// -----------------------------------------------------------------------------
// Execute the request
// -----------------------------------------------------------------------------
(async () => {
    try {
        const request = new models.AnnotateRequest(annotateOptions);
        const response = await annotateApi.annotate(request);
        console.log("Sticky note created successfully. Output saved to:", response.path);
    } catch (err) {
        console.error("Failed to create sticky note:", err);
    }
})();

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 belgeler bölümüne bakın veya yardım için destek ekibi ile iletişime geçin.

cURL ve REST API ile Yapışkan Not Açıklamaları Ekleme

REST API aynı yeteneği kod yazmadan sunar. Aşağıda gerekli cURL çağrıları yer almaktadır.

İlk olarak bir erişim belirteci alın:

curl -X POST "https://api.groupdocs.cloud/v2.0.0/auth/token" \
     -H "Content-Type: application/json" \
     -d '{"client_id":"YOUR_CLIENT_ID","client_secret":"YOUR_CLIENT_SECRET"}'

Kaynak DOCX dosyasını yükleyin (önceki adımdan alınan YOUR_ACCESS_TOKEN ile değiştirin):

curl -X PUT "https://api.groupdocs.cloud/v2.0.0/storage/file/sample.docx" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @sample.docx

Yapışkan not ek açıklamasını oluşturun:

curl -X POST "https://api.groupdocs.cloud/v2.0.0/annotation/annotate" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "sample.docx" },
           "annotations": [
               {
                   "annotationType": "StickyNote",
                   "pageNumber": 1,
                   "rect": { "x": 100, "y": 100, "width": 200, "height": 100 },
                   "text": "This is a sticky note added via GroupDocs.Annotation Cloud SDK.",
                   "color": "FFFF00"
               }
           ],
           "outputPath": "sample_annotated.docx"
         }'

İşaretlenmiş belgeyi indirin:

curl -X GET "https://api.groupdocs.cloud/v2.0.0/storage/file/sample_annotated.docx?download=true" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o sample_annotated.docx

İstek yükleriyle ilgili daha fazla ayrıntı için, API referansına bakın.

Yapışkan Notlar için Açıklama Seçeneklerini Yapılandırma

SDK, yapışkan not görünümünü ve davranışını ince ayar yapmanıza olanak tanıyan çeşitli özellikler sunar:

  • annotationType - "StickyNote" olarak ayarlanmalıdır (gerekli).
  • pageNumber - notun görüneceği sayfa.
  • rect - konumu (x, y) ve boyutu (width, height) tanımlar. Yerleşimi kontrol etmek için bu değerleri ayarlayın.
  • text - not içeriği.
  • color - HEX formatında arka plan rengi (örnek: "FFFF00" sarı için).

Ayrıca author, fontFamily veya opacity gibi isteğe bağlı alanları AnnotationInfo modeli aracılığıyla ayarlayabilirsiniz. Yapılandırılabilir özelliklerin tam listesi için API referansı adresine bakın.

Sonuç

Yukarıdaki adımları izleyerek artık Node.JS kullanarak GroupDocs.Annotation Cloud SDK ile Word sayfalarına Yapışkan Notlar oluşturmayı biliyorsunuz. Yerel bir Node.js uygulaması mı yoksa REST‑tabanlı bir cURL iş akışı mı tercih ederseniz edin, SDK programlı olarak DOCX dosyalarını açıklamak için tutarlı ve güvenilir bir yol sunar. Üretim kullanımı için geçerli bir lisans uygulamayı unutmayın; geçici bir lisansı lisans sayfasından alabilir veya ürün sayfasında fiyatlandırma seçeneklerini inceleyebilirsiniz. İyi açıklamalar!

SSS

  • Node.JS kullanarak GroupDocs.Annotation Cloud SDK ile Word sayfalarına Yapışkan Notlar nasıl oluşturabilirim?
    AnnotateApi‘yi kod örneğinde gösterildiği gibi kullanın. SDK, dosya erişimini, ek açıklama oluşturmayı ve çıktı üretimini otomatik olarak yönetir.

  • SDK ile açıklama için hangi dosya formatları destekleniyor?
    SDK, DOCX, PDF, PPTX, XLSX, ve birçok diğer popüler formatla çalışır. Tam listeyi resmi belgelerde bulabilirsiniz.

  • Sticky notlar için REST API’yi kullanırken nasıl kimlik doğrulaması yaparım?
    İstemci kimlik bilgilerinizle /auth/token uç noktasından bir erişim belirteci alın, ardından bu belirteci sonraki tüm çağrılar için Authorization: Bearer başlığına ekleyin. Ayrıntılı adımlar API referansında bulunabilir.

  • Yapışkan notun rengini veya boyutunu özelleştirebilir miyim?
    Evet. color özelliğini bir HEX değeri olarak ayarlayın ve notun boyut ve konumunu kontrol etmek için rect boyutlarını (width, height) ayarlayın.

Daha Fazla Oku