การลบโน้ต, ไฮไลท์ หรือรอยหมึกที่ไม่ต้องการจาก PDF เป็นความต้องการที่พบบ่อยเมื่อเตรียมเอกสารที่สะอาดสำหรับการแจกจ่าย. GroupDocs.Annotation Cloud SDK for Node.js ให้ไลบรารีที่ขับเคลื่อนด้วย REST ที่มีประสิทธิภาพซึ่งช่วยให้คุณจัดการการทำหมายเหตุใน PDF อย่างโปรแกรมเมติก. คู่มือนี้จะแสดงวิธีการลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS อย่างเป็นขั้นตอน. คุณจะได้เห็นตัวอย่างโค้ดเต็มรูปแบบ, คำสั่ง cURL ที่เทียบเท่า, เคล็ดลับการกำหนดค่า, และคำแนะนำแนวปฏิบัติที่ดีที่สุดเพื่อผสานการลบหมายเหตุเข้ากับบริการของคุณ.
ตัวอย่างการทำงานเต็มรูปแบบสำหรับการลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS
ตัวอย่างนี้แสดงวิธีอัปโหลดไฟล์ PDF, ลบคำอธิบายทั้งหมด, และดาวน์โหลดไฟล์ที่ทำความสะอาดแล้วโดยใช้ GroupDocs.Annotation SDK.
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}`);
})();
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนที่จำเป็นทั้งหมดได้ถูกติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อทีมสนับสนุนที่ ทีมสนับสนุน เพื่อขอความช่วยเหลือ.
ลบคำอธิบาย PDF ผ่าน REST API ด้วย cURL
ด้านล่างเป็นคำสั่ง cURL ที่ทำงานกระบวนการลบ annotation เดียวกันผ่าน REST endpoint ของ GroupDocs.Annotation Cloud.
# 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. ดึง 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
สำหรับรายการเต็มของ endpoint และพารามิเตอร์, โปรดดูที่ เอกสาร API อย่างเป็นทางการ
วิธีลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS ทำงาน
การตั้งค่าการรับรอง - คลาส
Configurationถูกสร้างขึ้นด้วยclientIdและclientSecretของคุณ เพื่อสร้างบริบทที่ผ่านการรับรองสำหรับการเรียก API ทั้งหมดต่อไปconst config = new GroupDocsAnnotationCloud.Configuration(clientId, clientSecret);อัปโหลดไฟล์ -
UploadFileRequestส่งไบต์ PDF ที่อยู่ในเครื่องไปยังที่เก็บข้อมูลของ GroupDocs Cloud. วิธีการstorageApi.uploadFileจัดการการถ่ายโอนconst uploadRequest = new GroupDocsAnnotationCloud.UploadFileRequest({ path: remoteFilePath, file: fileBytes }); await storageApi.uploadFile(uploadRequest);ดึงข้อมูลคำอธิบาย -
GetAnnotationsRequestสร้างอ็อบเจ็กต์คำขอที่มีการอ้างอิงFileInfo. การเรียกannotationsApi.getAnnotationsจะคืนคอลเลกชันของอ็อบเจ็กต์คำอธิบาย, จากนั้นดึง IDconst getAnnotationsRequest = new GroupDocsAnnotationCloud.GetAnnotationsRequest({ fileInfo: fileInfo }); const annotationsResult = await annotationsApi.getAnnotations(getAnnotationsRequest);ลบคำอธิบาย - หากมี ID ใด ๆ อยู่,
DeleteAnnotationsRequestจะถูกเติมข้อมูลและส่งไปยังannotationsApi.deleteAnnotations, ซึ่งจะลบคำอธิบายออกจาก PDF ที่จัดเก็บอย่างถาวรconst deleteRequest = new GroupDocsAnnotationCloud.DeleteAnnotationsRequest({ fileInfo: fileInfo, annotationIds: annotationIds }); await annotationsApi.deleteAnnotations(deleteRequest);ดาวน์โหลด PDF ที่สะอาด - สุดท้าย,
DownloadFileRequestดึงไฟล์ที่อัปเดต, และfs.writeFileSyncจะเขียนไฟล์นั้นลงในระบบไฟล์ของเครื่องconst downloadRequest = new GroupDocsAnnotationCloud.DownloadFileRequest({ path: remoteFilePath }); const fileStream = await storageApi.downloadFile(downloadRequest); fs.writeFileSync(localOutputPath, fileStream);
สำหรับการกำหนดคลาสและเมธอดโดยละเอียด โปรดดูที่ เอกสารอ้างอิง API.
การติดตั้งและกำหนดค่า GroupDocs.Annotation Cloud SDK for Node.js
SDK ถูกจัดจำหน่ายเป็นแพคเกจ npm. ติดตั้งโดยใช้คำสั่งด้านล่างและจากนั้นเรียกใช้ในโปรเจกต์ของคุณ.
npm install groupdocs-annotation-cloud
คุณยังสามารถดาวน์โหลดแพคเกจล่าสุดโดยตรงจาก หน้า releases ของ GitHub หรือจาก URL ดาวน์โหลดอย่างเป็นทางการ.
หลังจากการติดตั้ง ให้ทำการนำเข้าไลบรารีและสร้างอ็อบเจกต์การกำหนดค่า ตามที่แสดงในตัวอย่างโค้ด:
const GroupDocsAnnotationCloud = require("@groupdocs/annotation-cloud");
const config = new GroupDocsAnnotationCloud.Configuration("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
ตรวจสอบให้แน่ใจว่าสภาพแวดล้อมการทำงานของคุณตรงตามข้อกำหนดเวอร์ชันของ Node.js และคุณมีบัญชี GroupDocs ที่ถูกต้องเพื่อรับข้อมูลประจำตัวของไคลเอนต์
ตัวเลือกและการตั้งค่าการลบคำอธิบาย
SDK เปิดเผยพารามิเตอร์หลายตัวที่คุณสามารถปรับแต่งได้:
- clientId / clientSecret - ข้อมูลประจำตัวสำหรับการตรวจสอบสิทธิ์ OAuth. ตั้งค่าเหล่านี้ในตัวสร้าง
Configuration. - fileInfo.filePath - เส้นทางของไฟล์ PDF ใน GroupDocs Cloud storage. ปรับค่านี้หากคุณเก็บไฟล์ในโฟลเดอร์อื่น.
- annotationIds - อาร์เรย์ของ ID ที่ได้รับจาก
GetAnnotations. การระบุส่วนย่อยจะทำให้สามารถลบได้แบบเลือก.
การตั้งค่าเพิ่มเติม เช่น เวลาในการรอการร้องขอและการกำหนดค่าพร็อกซี มีให้ในเอกสาร SDK; ดู เอกสารอย่างเป็นทางการ สำหรับรายการทั้งหมด.
แนวทางปฏิบัติที่ดีที่สุดสำหรับการลบคำอธิบาย PDF ผ่าน REST
- ตรวจสอบ ID ของ Annotation - ควรตรวจสอบเสมอว่า ID ที่คุณต้องการลบมีอยู่จริง; การพยายามลบ ID ที่ไม่มีอยู่สามารถทำให้เกิดข้อผิดพลาด 404 ได้.
- ใช้ HTTPS - การเรียก API ทั้งหมดต้องทำผ่าน HTTPS เพื่อปกป้องข้อมูลประจำตัวและข้อมูลเอกสารของคุณ.
- จัดการไฟล์ขนาดใหญ่ด้วยการอัปโหลดแบบแบ่งส่วน - สำหรับไฟล์ PDF ที่มีขนาดใหญ่กว่า 100 MB ควรใช้ endpoint การอัปโหลดแบบ multipart เพื่อหลีกเลี่ยงการหมดเวลา.
- บันทึกการตอบสนองของ API - เก็บ ID ของคำขอและการตอบสนองเพื่อใช้เป็นบันทึกตรวจสอบและอำนวยความสะดวกในการแก้ไขปัญหา.
- ใช้ Access Token ซ้ำ - แคชโทเค็น OAuth จนกว่าจะหมดอายุเพื่อ ลดภาระการตรวจสอบสิทธิ์.
คำถามทั่วไป
ฉันจะทำการรับรองความถูกต้องกับ GroupDocs.Annotation Cloud API อย่างไร?
รับ client ID และ secret จากบัญชี GroupDocs ของคุณ, จากนั้นขอ access token ผ่าน OAuth endpoint. ดู เอกสารอย่างเป็นทางการ สำหรับรายละเอียด.ฉันสามารถลบคำอธิบายเฉพาะแทนที่จะลบทั้งหมดได้หรือไม่?
ใช่, ให้ระบุ ID ของคำอธิบายที่คุณต้องการลบใน DeleteAnnotationsRequest. SDK จะคืนรายการของ ID คำอธิบายหลังจากการเรียก GetAnnotations.ฉันจะลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS ได้อย่างไร?
ใช้ GroupDocs.Annotation Cloud SDK for Node.js เพื่อเรียก DeleteAnnotations endpoint หลังจากดึง ID ของ annotation แล้ว กระบวนการทำงานทั้งหมดแสดงในตัวอย่างโค้ดและส่วน cURL ของคู่มือนี้ต้องการใบอนุญาตอะไรสำหรับการใช้งานในสภาพแวดล้อมการผลิต?
จำเป็นต้องมีใบอนุญาตแบบชำระเงินสำหรับการผลิต คุณสามารถรับใบอนุญาตชั่วคราวจาก หน้าใบอนุญาตชั่วคราว ในระหว่างการประเมิน
