Menambahkan komentar cepat langsung pada dokumen Word adalah kebutuhan umum untuk alur kerja tinjauan kolaboratif. GroupDocs.Annotation Cloud SDK for Node.JS memungkinkan Anda menambahkan anotasi kaya secara programatik tanpa meninggalkan lingkungan server Anda. Dalam panduan ini kami akan menunjukkan cara membuat Sticky Notes pada halaman Word di Node.JS, mencakup pengaturan, langkah‑langkah terperinci, contoh kode lengkap, dan panggilan cURL yang setara.

Menyiapkan GroupDocs.Annotation Cloud SDK for Node.JS

Sebelum Anda memulai, pastikan Anda memiliki:

  • Node.js 14+ dan npm terinstal
  • Akun GroupDocs cloud dengan clientId dan clientSecret
  • Akses ke file sumber DOCX yang ingin Anda anotasi

Instal SDK melalui npm:

npm install groupdocs-annotation-cloud

Unduh paket terbaru dari halaman rilis resmi jika Anda lebih suka instalasi manual: GroupDocs.Annotation Cloud SDK for Node.JS Unduh.

Buat objek konfigurasi dengan kredensial Anda (kutipan dari contoh lengkap):

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

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

Dengan SDK terinstal dan kredensial siap, kita dapat melanjutkan ke implementasi.

Buat Catatan Tempel pada Halaman Word di Node.JS: Panduan Langkah demi Langkah

Dalam panduan ini kami akan membuat Catatan Tempel pada halaman Word di Node.JS menggunakan kelas anotasi SDK.

Langkah 1: Inisialisasi API Anotasi

Pertama, impor kelas yang diperlukan dan buat sebuah instance dari AnnotateApi.

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

Langkah 2: Tentukan File Sumber dan Tujuan

Tentukan file DOCX input dan jalur untuk output yang dianotasi.

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

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

Langkah 3: Atur Posisi Catatan Tempel

Buat Rectangle yang menentukan di mana catatan tempel akan muncul pada halaman 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

Langkah 4: Buat Objek Anotasi Sticky Note

Konfigurasikan tipe anotasi, nomor halaman, persegi panjang, teks, dan warna latar belakang.

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

Langkah 5: Jalankan Permintaan Anotasi

Kumpulkan opsi permintaan dan panggil metode annotate.

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

Contoh Lengkap yang Berfungsi untuk Membuat Catatan Tempel pada Halaman Word di Node.JS

Contoh berikut menunjukkan implementasi lengkap untuk membuat Catatan Tempel pada halaman Word di Node.JS menggunakan GroupDocs.Annotation Cloud SDK.

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

Catatan: Contoh kode ini menunjukkan fungsi inti. Sebelum menggunakannya dalam proyek Anda, pastikan untuk memperbarui semua jalur file dan nilai konfigurasi agar sesuai dengan lingkungan Anda yang sebenarnya, verifikasi bahwa semua dependensi yang diperlukan telah terpasang dengan benar, dan uji secara menyeluruh di lingkungan pengembangan Anda. Jika Anda menemukan masalah, silakan merujuk ke dokumentasi resmi atau hubungi tim dukungan untuk bantuan.

Menambahkan Anotasi Sticky Note dengan cURL dan REST API

REST API menawarkan kemampuan yang sama tanpa menulis kode. Di bawah ini adalah panggilan cURL yang diperlukan.

Pertama, dapatkan token akses:

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"}'

Unggah file DOCX sumber (ganti YOUR_ACCESS_TOKEN dengan token dari langkah sebelumnya):

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

Buat anotasi catatan tempel:

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"
         }'

Unduh dokumen yang diberi anotasi:

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

Untuk detail lebih lanjut tentang payload permintaan, lihat referensi API.

Mengonfigurasi Opsi Anotasi untuk Catatan Tempel

SDK menyediakan beberapa properti yang memungkinkan Anda menyesuaikan tampilan dan perilaku catatan tempel secara detail:

  • annotationType - harus diatur ke "StickyNote" (wajib).
  • pageNumber - halaman tempat catatan akan muncul.
  • rect - menentukan posisi (x, y) dan ukuran (width, height). Sesuaikan nilai-nilai ini untuk mengontrol penempatan.
  • text - isi catatan.
  • color - warna latar belakang dalam HEX (mis., "FFFF00" untuk kuning).

Anda juga dapat mengatur bidang opsional seperti author, fontFamily, atau opacity melalui model AnnotationInfo. Lihat referensi API untuk daftar lengkap properti yang dapat dikonfigurasi.

Kesimpulan

Dengan mengikuti langkah‑langkah di atas, Anda sekarang tahu cara membuat Sticky Notes pada halaman Word di Node.JS menggunakan GroupDocs.Annotation Cloud SDK. Baik Anda lebih suka implementasi native Node.js atau alur kerja cURL berbasis REST, SDK menyediakan cara yang konsisten dan dapat diandalkan untuk memberi anotasi pada file DOCX secara programatis. Ingatlah untuk menerapkan lisensi yang valid untuk penggunaan produksi; Anda dapat memperoleh lisensi sementara dari halaman lisensi atau meninjau opsi harga di halaman produk. Selamat memberi anotasi!

FAQs

  • Bagaimana cara membuat Sticky Notes pada halaman Word di Node.JS menggunakan GroupDocs.Annotation Cloud SDK?
    Gunakan AnnotateApi seperti yang ditunjukkan dalam contoh kode. SDK menangani akses file, pembuatan anotasi, dan pembuatan output secara otomatis.

  • Format file apa yang didukung untuk anotasi dengan SDK?
    SDK bekerja dengan DOCX, PDF, PPTX, XLSX, dan banyak format populer lainnya. Lihat daftar lengkap di dokumentasi resmi.

  • Bagaimana cara saya mengautentikasi saat menggunakan REST API untuk catatan tempel?
    Dapatkan token akses melalui endpoint /auth/token menggunakan kredensial klien Anda, lalu sertakan token tersebut dalam header Authorization: Bearer untuk semua panggilan berikutnya. Langkah‑langkah terperinci ada di referensi API.

  • Apakah saya dapat menyesuaikan warna atau ukuran catatan tempel?
    Ya. Atur properti color ke nilai HEX dan sesuaikan dimensi rect (width, height) untuk mengontrol ukuran dan penempatan catatan.

Baca Selengkapnya