ลายน้ำรูปภาพที่ไม่ต้องการสามารถทำให้เอกสาร PDF ดูไม่เป็นมืออาชีพและขัดขวางการประมวลผลต่อไปได้ GroupDocs.Watermark Cloud SDK for Java มี API ที่แข็งแกร่งซึ่งช่วยให้นักพัฒนา Java สามารถลบลายน้ำเหล่านั้นออกจากไฟล์ PDF ได้โดยอัตโนมัติ คู่มือนี้แสดงวิธี ลบลายน้ำรูปภาพจาก PDF ด้วย Java โดยใช้ endpoint การลบของ SDK. เมื่อเสร็จสิ้นคุณจะสามารถผสานการลบลายน้ำอัตโนมัติเข้าไปในแอปพลิเคชัน Java ใด ๆ ได้

สภาพแวดล้อมการพัฒนา Java - ข้อกำหนดเบื้องต้นและการตั้งค่า

ก่อนที่คุณจะเริ่ม, ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:

  • Java 17 หรือเวอร์ชันที่สูงกว่า.
  • Maven หรือ Gradle สำหรับการจัดการการพึ่งพา.
  • บัญชี GroupDocs Cloud พร้อม client ID และ client secret.

เพิ่ม SDK ไปยังโครงการของคุณด้วยการพึ่งพา Maven ด้านล่าง (คุณสามารถใช้ Gradle ที่เทียบเท่าได้เช่นกัน) ไฟล์ไบนารีล่าสุดพร้อมให้ดาวน์โหลดบน หน้าดาวน์โหลด.

<dependency>
    <groupId>com.groupdocs</groupId>
    <artifactId>groupdocs-watermark-cloud</artifactId>
    <version>23.8</version>
</dependency>

เริ่มต้นไคลเอนต์ API ด้วยข้อมูลประจำตัวของคุณ โค้ดส่วนนี้ถูกนำมาจากตัวอย่างโค้ดโดยตรง.

ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

เมื่อไคลเอนต์พร้อมแล้ว คุณสามารถดำเนินการต่อไปยังเวิร์กโฟลว์การลบจริงได้

คู่มือแบบขั้นตอนเพื่อการลบลายน้ำรูปภาพจาก PDF ด้วย Java

ขั้นตอนที่ 1: โหลดเอกสารต้นฉบับ

ขั้นแรก, ระบุ PDF ที่คุณต้องการทำความสะอาด. FileInfo object บอก API ว่าไฟล์อยู่ที่ใดและสามารถระบุรหัสผ่านได้ตามต้องการ.

FileInfo inputFile = new FileInfo();
inputFile.setFilePath("input.pdf");
// inputFile.setPassword("pdfPassword"); // Uncomment if needed

ขั้นตอนที่ 2: กำหนดเกณฑ์ลายน้ำรูปภาพ

สร้าง ImageSearchCriteria ที่ชี้ไปยังภาพลายน้ำที่คุณต้องการลบ. นี่คือหัวใจของการดำเนินการ ลบลายน้ำรูปภาพจาก PDF ใน Java.

ImageSearchCriteria imageCriteria = new ImageSearchCriteria();
imageCriteria.setImagePath("watermark.png");

ขั้นตอน 3: ตั้งค่าตัวเลือกการลบ

รวมข้อมูลไฟล์และเกณฑ์การค้นหาไว้ในอ็อบเจกต์ RemoveOptions คุณยังกำหนดตำแหน่งที่บันทึก PDF ที่ทำความสะอาดแล้ว

RemoveOptions removeOptions = new RemoveOptions();
removeOptions.setFileInfo(inputFile);
removeOptions.setOutputPath("output.pdf");
removeOptions.setSearchCriteria(Collections.singletonList(imageCriteria));

ขั้นตอนที่ 4: เรียกใช้การลบ

เรียกใช้เมธอด remove บน WatermarkApi. การเรียกคืนค่า RemoveResult ที่มีเส้นทางไปยังไฟล์ที่ประมวลผลแล้ว.

RemoveResult result = watermarkApi.remove(removeOptions);
System.out.println("Watermark removal completed. Output file: " + result.getPath());

ขั้นตอน 5: ประมวลผลผลลัพธ์

จัดการข้อยกเว้นใด ๆ ที่อาจเกิดขึ้น SDK จะโยน ApiException สำหรับข้อผิดพลาดด้านบริการและ Exception ทั่วไปสำหรับปัญหาที่ไม่คาดคิด

try {
    // removal code above
} catch (ApiException e) {
    System.err.println("API exception occurred: " + e.getMessage());
} catch (Exception e) {
    System.err.println("Unexpected error: " + e.getMessage());
}

ตัวอย่างโค้ดเต็ม: การลบลายน้ำรูปภาพโดยใช้ GroupDocs

ตัวอย่างต่อไปนี้แสดงขั้นตอนการทำงานทั้งหมดตั้งแต่การเริ่มต้นไคลเอนต์จนถึงการจัดการผลลัพธ์

import com.groupdocs.watermark.cloud.api.WatermarkApi;
import com.groupdocs.watermark.cloud.client.ApiClient;
import com.groupdocs.watermark.cloud.client.ApiException;
import com.groupdocs.watermark.cloud.model.FileInfo;
import com.groupdocs.watermark.cloud.model.ImageSearchCriteria;
import com.groupdocs.watermark.cloud.model.RemoveOptions;
import com.groupdocs.watermark.cloud.model.RemoveResult;
import java.util.Collections;

public class RemoveImageWatermarkFromPdf {
    public static void main(String[] args) {
        // Initialize API client with your credentials
        ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
        WatermarkApi watermarkApi = new WatermarkApi(apiClient);

// Prepare input file information
        FileInfo inputFile = new FileInfo();
        inputFile.setFilePath("input.pdf");
        // If the PDF is password protected, uncomment the following line and set the password
        // inputFile.setPassword("pdfPassword");

// Define the image watermark to be removed
        ImageSearchCriteria imageCriteria = new ImageSearchCriteria();
        imageCriteria.setImagePath("watermark.png");

// Set up removal options
        RemoveOptions removeOptions = new RemoveOptions();
        removeOptions.setFileInfo(inputFile);
        removeOptions.setOutputPath("output.pdf");
        removeOptions.setSearchCriteria(Collections.singletonList(imageCriteria));

try {
            // Execute removal
            RemoveResult result = watermarkApi.remove(removeOptions);
            System.out.println("Watermark removal completed. Output file: " + result.getPath());
        } catch (ApiException e) {
            System.err.println("API exception occurred: " + e.getMessage());
        } catch (Exception e) {
            System.err.println("Unexpected error: " + e.getMessage());
        }
    }
}

หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบและอัปเดตเส้นทางไฟล์และค่าการกำหนดค่าต่าง ๆ ให้ตรงกับสภาพแวดล้อมจริงของคุณ ตรวจสอบให้แน่ใจว่าขึ้นตอนการพึ่งพาที่จำเป็นทั้งหมดได้ติดตั้งอย่างถูกต้อง และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อทีมสนับสนุนที่ ทีมสนับสนุน เพื่อขอความช่วยเหลือ.

การลบลายน้ำผ่าน REST API ด้วย cURL

หากคุณต้องการใช้วิธี REST แบบบริสุทธิ์ การดำเนินการเดียวกันสามารถทำได้ด้วยคำสั่ง cURL

  1. รับรองความถูกต้องและรับโทเค็นการเข้าถึง
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"}'
  1. อัปโหลดไฟล์ PDF ต้นฉบับ
curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=input.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -F "file=@/local/path/input.pdf"
  1. ดำเนินการลบลายน้ำ
curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/remove" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": {"filePath":"input.pdf"},
           "outputPath":"output.pdf",
           "searchCriteria":[{"type":"Image","imagePath":"watermark.png"}]
         }'
  1. ดาวน์โหลด PDF ที่ทำความสะอาดแล้ว
curl -X GET "https://api.groupdocs.cloud/v2.0/storage/download?path=output.pdf" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -o output.pdf

สำหรับการอ้างอิงอย่างเต็มที่, ดูที่ เอกสาร API

ตัวเลือกการลบการปรับจูน

SDK มีคุณสมบัติต่าง ๆ หลายอย่างที่คุณสามารถปรับได้เพื่อให้เหมาะกับสถานการณ์ต่าง ๆ

  • การป้องกันด้วยรหัสผ่าน - หาก PDF ต้นทางถูกเข้ารหัส ให้ตั้งรหัสผ่านบน FileInfo.
  inputFile.setPassword("mySecret");
  • หลายเกณฑ์การค้นหา - ลบลายน้ำหลายรายการในหนึ่งการเรียกโดยการเพิ่มวัตถุ ImageSearchCriteria เพิ่มเติมลงในรายการ.
ImageSearchCriteria logoCriteria = new ImageSearchCriteria();
logoCriteria.setImagePath("logo.png");
removeOptions.setSearchCriteria(Arrays.asList(imageCriteria, logoCriteria));
  • Output Format - แม้ค่าเริ่มต้นจะเป็น PDF คุณสามารถเปลี่ยนรูปแบบการส่งออกได้โดยตั้งค่า outputPath ด้วยส่วนขยายที่แตกต่าง (เช่น output.docx).
  removeOptions.setOutputPath("output.docx");

ตัวเลือกเหล่านี้ช่วยให้คุณปรับแต่งกระบวนการ การลบลายน้ำรูปภาพจาก PDF ใน Java ให้ตรงกับความต้องการของคุณได้อย่างแม่นยำ.

สรุป

การลบลายน้ำรูปภาพจากไฟล์ PDF อย่างโปรแกรมเมติกเป็นเรื่องง่ายด้วย GroupDocs.Watermark Cloud SDK for Java. โดยทำตามขั้นตอนข้างต้น คุณสามารถรวมการลบลายน้ำเข้ากับแบ็กเอนด์ Java ใด ๆ จัดการ PDF ที่เข้ารหัส และปรับแต่งการทำงานให้ละเอียดด้วยตัวเลือกที่ยืดหยุ่น จำเป็นต้องได้รับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในผลิตภัณฑ์; รายละเอียดราคาอยู่ในหน้าผลิตภัณฑ์ และสามารถขอใบอนุญาตชั่วคราวได้ผ่าน หน้าลิขสิทธิ์ชั่วคราว. เริ่มทำความสะอาด PDF ของคุณวันนี้และมอบเอกสารที่เรียบหรูให้กับผู้ใช้ของคุณ.

FAQs

  • ฉันจะลบลายน้ำรูปภาพจาก PDF ใน Java อย่างไร?
    ใช้เมธอด remove ของ WatermarkApi พร้อมกับ ImageSearchCriteria ที่ชี้ไปยังรูปภาพลายน้ำ ตัวอย่างโค้ดเต็มในบทความนี้แสดงขั้นตอนที่แน่นอน

  • ถ้า PDF ของฉันถูกป้องกันด้วยรหัสผ่านจะทำอย่างไร?
    ตั้งรหัสผ่านบนอ็อบเจ็กต์ FileInfo (inputFile.setPassword("yourPassword")) ก่อนเรียกใช้ API การลบ SDK จะทำการถอดรหัส ประมวลผล และเข้ารหัสไฟล์ใหม่โดยอัตโนมัติ.

  • ฉันสามารถลบลายน้ำจากรูปแบบอื่น ๆ เช่น DOCX?
    ใช่. API เดียวกันทำงานกับรูปแบบใดก็ได้ที่รองรับโดย GroupDocs.Watermark. เพียงเปลี่ยนส่วนขยายของ filePath และ outputPath ให้เหมาะสม.

  • มีขีดจำกัดขนาดของ PDF ที่ฉันสามารถประมวลผลได้หรือไม่?
    บริการคลาวด์จัดการไฟล์ได้สูงสุด 500 MB ต่อคำขอ สำหรับเอกสารที่ใหญ่กว่า ควรพิจารณาแยก PDF เป็นส่วนย่อยก่อนทำการประมวลผล

อ่านเพิ่มเติม