<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>pdf annotation removal on Document Processing REST APIs | GroupDocs Cloud</title>
    <link>https://blog-qa.groupdocs.cloud/th/tag/pdf-annotation-removal/</link>
    <description>Recent content in pdf annotation removal on Document Processing REST APIs | GroupDocs Cloud</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>th</language>
    <lastBuildDate>Wed, 21 Oct 2026 13:18:44 +0000</lastBuildDate><atom:link href="https://blog-qa.groupdocs.cloud/th/tag/pdf-annotation-removal/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS</title>
      <link>https://blog-qa.groupdocs.cloud/th/annotation/remove-annotation-objects-from-pdf-with-rest-in-nodejs/</link>
      <pubDate>Wed, 21 Oct 2026 13:18:44 +0000</pubDate>
      
      <guid>https://blog-qa.groupdocs.cloud/th/annotation/remove-annotation-objects-from-pdf-with-rest-in-nodejs/</guid>
      <description>เรียนรู้วิธีลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS โดยใช้ GroupDocs.Annotation Cloud SDK. คู่มือขั้นตอนโดยละเอียดพร้อมโค้ด, cURL และแนวปฏิบัติ.</description>
      <content:encoded><![CDATA[<p>การลบโน้ต, ไฮไลท์ หรือรอยหมึกที่ไม่ต้องการจาก PDF เป็นความต้องการที่พบบ่อยเมื่อเตรียมเอกสารที่สะอาดสำหรับการแจกจ่าย. <a href="https://products.groupdocs.cloud/annotation/nodejs/">GroupDocs.Annotation Cloud SDK for Node.js</a> ให้ไลบรารีที่ขับเคลื่อนด้วย REST ที่มีประสิทธิภาพซึ่งช่วยให้คุณจัดการการทำหมายเหตุใน <a href="https://docs.fileformat.com/pdf">PDF</a> อย่างโปรแกรมเมติก. คู่มือนี้จะแสดงวิธีการลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS อย่างเป็นขั้นตอน. คุณจะได้เห็นตัวอย่างโค้ดเต็มรูปแบบ, คำสั่ง cURL ที่เทียบเท่า, เคล็ดลับการกำหนดค่า, และคำแนะนำแนวปฏิบัติที่ดีที่สุดเพื่อผสานการลบหมายเหตุเข้ากับบริการของคุณ.</p>
<h2 id="ตวอยางการทำงานเตมรปแบบสำหรบการลบวตถ-annotation-จาก-pdf-ดวย-rest-ใน-nodejs">ตัวอย่างการทำงานเต็มรูปแบบสำหรับการลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS</h2>
<p>ตัวอย่างนี้แสดงวิธีอัปโหลดไฟล์ PDF, ลบคำอธิบายทั้งหมด, และดาวน์โหลดไฟล์ที่ทำความสะอาดแล้วโดยใช้ GroupDocs.Annotation SDK.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fs</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#39;fs&#39;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">path</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#39;path&#39;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs/annotation-cloud&#34;</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ==== Authentication =========================================================
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">clientId</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>;
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">clientSecret</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">Configuration</span>(<span style="color:#a6e22e">clientId</span>, <span style="color:#a6e22e">clientSecret</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">annotationsApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">AnnotationsApi</span>(<span style="color:#a6e22e">config</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">storageApi</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">StorageApi</span>(<span style="color:#a6e22e">config</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ==== Local &amp; Remote file definitions =======================================
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">localInputPath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">resolve</span>(<span style="color:#a6e22e">__dirname</span>, <span style="color:#e6db74">&#34;input.pdf&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">localOutputPath</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">path</span>.<span style="color:#a6e22e">resolve</span>(<span style="color:#a6e22e">__dirname</span>, <span style="color:#e6db74">&#34;output.pdf&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">remoteFilePath</span> <span style="color:#f92672">=</span> <span style="color:#e6db74">&#34;input.pdf&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// ==== Main workflow ==========================================================
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>(<span style="color:#66d9ef">async</span> () =&gt; {
</span></span><span style="display:flex;"><span>    <span style="color:#75715e">// 1. Upload PDF to GroupDocs Cloud storage
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fileBytes</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">fs</span>.<span style="color:#a6e22e">readFileSync</span>(<span style="color:#a6e22e">localInputPath</span>);
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">uploadRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">UploadFileRequest</span>({
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">remoteFilePath</span>,
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">file</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">fileBytes</span>
</span></span><span style="display:flex;"><span>    });
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">uploadFile</span>(<span style="color:#a6e22e">uploadRequest</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// 2. Build FileInfo object for the uploaded PDF
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fileInfo</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">FileInfo</span>({
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">filePath</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">remoteFilePath</span>
</span></span><span style="display:flex;"><span>    });
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// 3. Retrieve all existing annotations
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">getAnnotationsRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">GetAnnotationsRequest</span>({
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">fileInfo</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">fileInfo</span>
</span></span><span style="display:flex;"><span>    });
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">annotationsResult</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">annotationsApi</span>.<span style="color:#a6e22e">getAnnotations</span>(<span style="color:#a6e22e">getAnnotationsRequest</span>);
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">annotationIds</span> <span style="color:#f92672">=</span> (<span style="color:#a6e22e">annotationsResult</span>.<span style="color:#a6e22e">annotations</span> <span style="color:#f92672">||</span> []).<span style="color:#a6e22e">map</span>(<span style="color:#a6e22e">a</span> =&gt; <span style="color:#a6e22e">a</span>.<span style="color:#a6e22e">id</span>);
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// 4. Delete all annotations (if any)
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#66d9ef">if</span> (<span style="color:#a6e22e">annotationIds</span>.<span style="color:#a6e22e">length</span> <span style="color:#f92672">&gt;</span> <span style="color:#ae81ff">0</span>) {
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">deleteRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">DeleteAnnotationsRequest</span>({
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">fileInfo</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">fileInfo</span>,
</span></span><span style="display:flex;"><span>            <span style="color:#a6e22e">annotationIds</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">annotationIds</span>
</span></span><span style="display:flex;"><span>        });
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">annotationsApi</span>.<span style="color:#a6e22e">deleteAnnotations</span>(<span style="color:#a6e22e">deleteRequest</span>);
</span></span><span style="display:flex;"><span>    }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#75715e">// 5. Download the cleaned PDF back to local storage
</span></span></span><span style="display:flex;"><span><span style="color:#75715e"></span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">downloadRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">DownloadFileRequest</span>({
</span></span><span style="display:flex;"><span>        <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">remoteFilePath</span>
</span></span><span style="display:flex;"><span>    });
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fileStream</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">downloadFile</span>(<span style="color:#a6e22e">downloadRequest</span>);
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">fs</span>.<span style="color:#a6e22e">writeFileSync</span>(<span style="color:#a6e22e">localOutputPath</span>, <span style="color:#a6e22e">fileStream</span>);
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">console</span>.<span style="color:#a6e22e">log</span>(<span style="color:#e6db74">`All annotations removed. Clean file saved to </span><span style="color:#e6db74">${</span><span style="color:#a6e22e">localOutputPath</span><span style="color:#e6db74">}</span><span style="color:#e6db74">`</span>);
</span></span><span style="display:flex;"><span>})();
</span></span></code></pre></div><blockquote>
<p><strong>หมายเหตุ:</strong> ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบว่าขึ้นตอนที่จำเป็นทั้งหมดได้ถูกติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดดูที่ <a href="https://docs.groupdocs.cloud/annotation/">เอกสารอย่างเป็นทางการ</a> หรือ ติดต่อทีมสนับสนุนที่ <a href="https://forum.groupdocs.cloud/c/annotation/10">ทีมสนับสนุน</a> เพื่อขอความช่วยเหลือ.</p>
</blockquote>
<h2 id="ลบคำอธบาย-pdf-ผาน-rest-api-ดวย-curl">ลบคำอธิบาย PDF ผ่าน REST API ด้วย cURL</h2>
<p>ด้านล่างเป็นคำสั่ง cURL ที่ทำงานกระบวนการลบ annotation เดียวกันผ่าน REST endpoint ของ GroupDocs.Annotation Cloud.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 1. Obtain an access token</span>
</span></span><span style="display:flex;"><span>curl -X POST <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/auth/token&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#34;{\&#34;client_id\&#34;:\&#34;YOUR_CLIENT_ID\&#34;,\&#34;client_secret\&#34;:\&#34;YOUR_CLIENT_SECRET\&#34;}&#34;</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 2. Upload the source PDF</span>
</span></span><span style="display:flex;"><span>curl -X PUT <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     --data-binary <span style="color:#e6db74">&#34;@input.pdf&#34;</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 3. ดึง annotation IDs</span>
</span></span><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/annotation/annotations?filePath=input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 4. Delete all retrieved annotations</span>
</span></span><span style="display:flex;"><span>curl -X DELETE <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/annotation/annotations?filePath=input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Content-Type: application/json&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -d <span style="color:#e6db74">&#34;{\&#34;annotationIds\&#34;:[\&#34;id1\&#34;,\&#34;id2\&#34;]}&#34;</span>
</span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#75715e"># 5. Download the cleaned PDF</span>
</span></span><span style="display:flex;"><span>curl -X GET <span style="color:#e6db74">&#34;https://api.groupdocs.cloud/v2.0/storage/file/input.pdf&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -H <span style="color:#e6db74">&#34;Authorization: Bearer YOUR_ACCESS_TOKEN&#34;</span> <span style="color:#ae81ff">\
</span></span></span><span style="display:flex;"><span><span style="color:#ae81ff"></span>     -o output.pdf
</span></span></code></pre></div><p>สำหรับรายการเต็มของ endpoint และพารามิเตอร์, โปรดดูที่ <a href="https://reference.groupdocs.cloud/annotation/">เอกสาร API อย่างเป็นทางการ</a></p>
<h2 id="วธลบวตถ-annotation-จาก-pdf-ดวย-rest-ใน-nodejs-ทำงาน">วิธีลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS ทำงาน</h2>
<ol>
<li>
<p><strong>การตั้งค่าการรับรอง</strong> - คลาส <code>Configuration</code> ถูกสร้างขึ้นด้วย <code>clientId</code> และ <code>clientSecret</code> ของคุณ เพื่อสร้างบริบทที่ผ่านการรับรองสำหรับการเรียก API ทั้งหมดต่อไป</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">Configuration</span>(<span style="color:#a6e22e">clientId</span>, <span style="color:#a6e22e">clientSecret</span>);
</span></span></code></pre></div></li>
<li>
<p><strong>อัปโหลดไฟล์</strong> - <code>UploadFileRequest</code> ส่งไบต์ PDF ที่อยู่ในเครื่องไปยังที่เก็บข้อมูลของ GroupDocs Cloud. วิธีการ <code>storageApi.uploadFile</code> จัดการการถ่ายโอน</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">uploadRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">UploadFileRequest</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">remoteFilePath</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">file</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">fileBytes</span>
</span></span><span style="display:flex;"><span>});
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">uploadFile</span>(<span style="color:#a6e22e">uploadRequest</span>);
</span></span></code></pre></div></li>
<li>
<p><strong>ดึงข้อมูลคำอธิบาย</strong> - <code>GetAnnotationsRequest</code> สร้างอ็อบเจ็กต์คำขอที่มีการอ้างอิง <code>FileInfo</code>. การเรียก <code>annotationsApi.getAnnotations</code> จะคืนคอลเลกชันของอ็อบเจ็กต์คำอธิบาย, จากนั้นดึง ID</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">getAnnotationsRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">GetAnnotationsRequest</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">fileInfo</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">fileInfo</span>
</span></span><span style="display:flex;"><span>});
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">annotationsResult</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">annotationsApi</span>.<span style="color:#a6e22e">getAnnotations</span>(<span style="color:#a6e22e">getAnnotationsRequest</span>);
</span></span></code></pre></div></li>
<li>
<p><strong>ลบคำอธิบาย</strong> - หากมี ID ใด ๆ อยู่, <code>DeleteAnnotationsRequest</code> จะถูกเติมข้อมูลและส่งไปยัง <code>annotationsApi.deleteAnnotations</code>, ซึ่งจะลบคำอธิบายออกจาก PDF ที่จัดเก็บอย่างถาวร</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">deleteRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">DeleteAnnotationsRequest</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">fileInfo</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">fileInfo</span>,
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">annotationIds</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">annotationIds</span>
</span></span><span style="display:flex;"><span>});
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">await</span> <span style="color:#a6e22e">annotationsApi</span>.<span style="color:#a6e22e">deleteAnnotations</span>(<span style="color:#a6e22e">deleteRequest</span>);
</span></span></code></pre></div></li>
<li>
<p><strong>ดาวน์โหลด PDF ที่สะอาด</strong> - สุดท้าย, <code>DownloadFileRequest</code> ดึงไฟล์ที่อัปเดต, และ <code>fs.writeFileSync</code> จะเขียนไฟล์นั้นลงในระบบไฟล์ของเครื่อง</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">downloadRequest</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">DownloadFileRequest</span>({
</span></span><span style="display:flex;"><span>    <span style="color:#a6e22e">path</span><span style="color:#f92672">:</span> <span style="color:#a6e22e">remoteFilePath</span>
</span></span><span style="display:flex;"><span>});
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">fileStream</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">await</span> <span style="color:#a6e22e">storageApi</span>.<span style="color:#a6e22e">downloadFile</span>(<span style="color:#a6e22e">downloadRequest</span>);
</span></span><span style="display:flex;"><span><span style="color:#a6e22e">fs</span>.<span style="color:#a6e22e">writeFileSync</span>(<span style="color:#a6e22e">localOutputPath</span>, <span style="color:#a6e22e">fileStream</span>);
</span></span></code></pre></div></li>
</ol>
<p>สำหรับการกำหนดคลาสและเมธอดโดยละเอียด โปรดดูที่ <a href="https://reference.groupdocs.cloud/annotation/">เอกสารอ้างอิง API</a>.</p>
<h2 id="การตดตงและกำหนดคา-groupdocsannotation-cloud-sdk-for-nodejs">การติดตั้งและกำหนดค่า GroupDocs.Annotation Cloud SDK for Node.js</h2>
<p>SDK ถูกจัดจำหน่ายเป็นแพคเกจ npm. ติดตั้งโดยใช้คำสั่งด้านล่างและจากนั้นเรียกใช้ในโปรเจกต์ของคุณ.</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>npm install groupdocs-annotation-cloud
</span></span></code></pre></div><p>คุณยังสามารถดาวน์โหลดแพคเกจล่าสุดโดยตรงจาก <a href="https://github.com/groupdocs-annotation-cloud/groupdocs-annotation-cloud-node">หน้า releases ของ GitHub</a> หรือจาก <a href="https://releases.groupdocs.cloud/annotation/nodejs/">URL ดาวน์โหลดอย่างเป็นทางการ</a>.</p>
<p>หลังจากการติดตั้ง ให้ทำการนำเข้าไลบรารีและสร้างอ็อบเจกต์การกำหนดค่า ตามที่แสดงในตัวอย่างโค้ด:</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-javascript" data-lang="javascript"><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span> <span style="color:#f92672">=</span> <span style="color:#a6e22e">require</span>(<span style="color:#e6db74">&#34;@groupdocs/annotation-cloud&#34;</span>);
</span></span><span style="display:flex;"><span><span style="color:#66d9ef">const</span> <span style="color:#a6e22e">config</span> <span style="color:#f92672">=</span> <span style="color:#66d9ef">new</span> <span style="color:#a6e22e">GroupDocsAnnotationCloud</span>.<span style="color:#a6e22e">Configuration</span>(<span style="color:#e6db74">&#34;YOUR_CLIENT_ID&#34;</span>, <span style="color:#e6db74">&#34;YOUR_CLIENT_SECRET&#34;</span>);
</span></span></code></pre></div><p>ตรวจสอบให้แน่ใจว่าสภาพแวดล้อมการทำงานของคุณตรงตามข้อกำหนดเวอร์ชันของ Node.js และคุณมีบัญชี GroupDocs ที่ถูกต้องเพื่อรับข้อมูลประจำตัวของไคลเอนต์</p>
<h2 id="ตวเลอกและการตงคาการลบคำอธบาย">ตัวเลือกและการตั้งค่าการลบคำอธิบาย</h2>
<p>SDK เปิดเผยพารามิเตอร์หลายตัวที่คุณสามารถปรับแต่งได้:</p>
<ul>
<li><strong>clientId / clientSecret</strong> - ข้อมูลประจำตัวสำหรับการตรวจสอบสิทธิ์ OAuth. ตั้งค่าเหล่านี้ในตัวสร้าง <code>Configuration</code>.</li>
<li><strong>fileInfo.filePath</strong> - เส้นทางของไฟล์ PDF ใน GroupDocs Cloud storage. ปรับค่านี้หากคุณเก็บไฟล์ในโฟลเดอร์อื่น.</li>
<li><strong>annotationIds</strong> - อาร์เรย์ของ ID ที่ได้รับจาก <code>GetAnnotations</code>. การระบุส่วนย่อยจะทำให้สามารถลบได้แบบเลือก.</li>
</ul>
<p>การตั้งค่าเพิ่มเติม เช่น เวลาในการรอการร้องขอและการกำหนดค่าพร็อกซี มีให้ในเอกสาร SDK; ดู <a href="https://docs.groupdocs.cloud/annotation/">เอกสารอย่างเป็นทางการ</a> สำหรับรายการทั้งหมด.</p>
<h2 id="แนวทางปฏบตทดทสดสำหรบการลบคำอธบาย-pdf-ผาน-rest">แนวทางปฏิบัติที่ดีที่สุดสำหรับการลบคำอธิบาย PDF ผ่าน REST</h2>
<ul>
<li><strong>ตรวจสอบ ID ของ Annotation</strong> - ควรตรวจสอบเสมอว่า ID ที่คุณต้องการลบมีอยู่จริง; การพยายามลบ ID ที่ไม่มีอยู่สามารถทำให้เกิดข้อผิดพลาด 404 ได้.</li>
<li><strong>ใช้ HTTPS</strong> - การเรียก API ทั้งหมดต้องทำผ่าน HTTPS เพื่อปกป้องข้อมูลประจำตัวและข้อมูลเอกสารของคุณ.</li>
<li><strong>จัดการไฟล์ขนาดใหญ่ด้วยการอัปโหลดแบบแบ่งส่วน</strong> - สำหรับไฟล์ PDF ที่มีขนาดใหญ่กว่า 100 MB ควรใช้ endpoint การอัปโหลดแบบ multipart เพื่อหลีกเลี่ยงการหมดเวลา.</li>
<li><strong>บันทึกการตอบสนองของ API</strong> - เก็บ ID ของคำขอและการตอบสนองเพื่อใช้เป็นบันทึกตรวจสอบและอำนวยความสะดวกในการแก้ไขปัญหา.</li>
<li><strong>ใช้ Access Token ซ้ำ</strong> - แคชโทเค็น OAuth จนกว่าจะหมดอายุเพื่อ ลดภาระการตรวจสอบสิทธิ์.</li>
</ul>
<h2 id="คำถามทวไป">คำถามทั่วไป</h2>
<ul>
<li>
<p><strong>ฉันจะทำการรับรองความถูกต้องกับ GroupDocs.Annotation Cloud API อย่างไร?</strong><br>
รับ client ID และ secret จากบัญชี GroupDocs ของคุณ, จากนั้นขอ access token ผ่าน OAuth endpoint. ดู <a href="https://docs.groupdocs.cloud/annotation/">เอกสารอย่างเป็นทางการ</a> สำหรับรายละเอียด.</p>
</li>
<li>
<p><strong>ฉันสามารถลบคำอธิบายเฉพาะแทนที่จะลบทั้งหมดได้หรือไม่?</strong><br>
ใช่, ให้ระบุ ID ของคำอธิบายที่คุณต้องการลบใน DeleteAnnotationsRequest. SDK จะคืนรายการของ ID คำอธิบายหลังจากการเรียก GetAnnotations.</p>
</li>
<li>
<p><strong>ฉันจะลบวัตถุ Annotation จาก PDF ด้วย REST ใน Node.JS ได้อย่างไร?</strong><br>
ใช้ GroupDocs.Annotation Cloud SDK for Node.js เพื่อเรียก DeleteAnnotations endpoint หลังจากดึง ID ของ annotation แล้ว กระบวนการทำงานทั้งหมดแสดงในตัวอย่างโค้ดและส่วน cURL ของคู่มือนี้</p>
</li>
<li>
<p><strong>ต้องการใบอนุญาตอะไรสำหรับการใช้งานในสภาพแวดล้อมการผลิต?</strong><br>
จำเป็นต้องมีใบอนุญาตแบบชำระเงินสำหรับการผลิต คุณสามารถรับใบอนุญาตชั่วคราวจาก <a href="https://purchase.groupdocs.cloud/temporary-license/">หน้าใบอนุญาตชั่วคราว</a> ในระหว่างการประเมิน</p>
</li>
</ul>
<h2 id="อานเพมเตม">อ่านเพิ่มเติม</h2>
<ul>
<li><a href="https://blog.groupdocs.cloud/th/annotation/extract-or-remove-annotations-from-pdf-using-rest-api-in-node-js/">ดึงหรือเอา Annotation ออกจาก PDF โดยใช้ REST API ใน Node.js</a></li>
<li><a href="https://blog.groupdocs.cloud/th/annotation/strikethrough-text-in-a-pdf-using-nodejs/">ขีดเส้นข้อความใน PDF ด้วย Node.js และ REST API</a></li>
<li><a href="https://blog.groupdocs.cloud/th/annotation/remove-annotations-from-pdf-using-rest-api-in-python/">ลบ Annotation ออกจาก PDF โดยใช้ REST API ใน Python</a></li>
</ul>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
