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

เพิ่มลายน้ำรูปภาพในเอกสาร PDF ด้วย Java ใน 5 ขั้นตอน

  1. เริ่มต้น API client: สร้างอินสแตนซ์ ApiClient ด้วย client ID และ secret ของคุณ.
ApiClient apiClient = new ApiClient("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET");
WatermarkApi watermarkApi = new WatermarkApi(apiClient);

ขั้นตอนนี้เชื่อมต่อโค้ด Java ของคุณกับบริการ GroupDocs.Watermark Cloud. ดูที่ เอกสารอ้างอิง API สำหรับรายละเอียดเพิ่มเติม.

  1. ระบุไฟล์ PDF ต้นฉบับ: สร้างอ็อบเจ็กต์ FileInfo ที่ชี้ไปยัง PDF ที่คุณต้องการใส่ลายน้ำ.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");

ไฟล์ต้องอัปโหลดไปยัง GroupDocs storage ของคุณก่อนทำคำขอ.

  1. กำหนดค่าตำแหน่งลายน้ำรูปภาพ: กำหนดเส้นทางของรูปภาพ, ความทึบแสง, ปัจจัยการสเกล, การหมุนและการจัดตำแหน่ง.
ImageWatermark imageWatermark = new ImageWatermark();
imageWatermark.setImagePath("watermark.png");
imageWatermark.setOpacity(0.5);
imageWatermark.setScaleFactor(0.3);
imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
imageWatermark.setMargin(new Margin(10, 10, 10, 10));

ปรับค่าต่าง ๆ เหล่านี้เพื่อให้ได้ลักษณะที่ต้องการ ความทึบแสงควบคุมความโปร่งใส, ในขณะที่ scaleFactor กำหนดขนาดสัมพันธ์กับหน้า.

  1. ตั้งค่าตัวเลือกลายน้ำและเส้นทางการส่งออก: รวมข้อมูลไฟล์และลายน้ำเข้าเป็นอ็อบเจ็กต์ WatermarkOptions

    WatermarkOptions options = new WatermarkOptions();
    options.setFileInfo(fileInfo);
    options.setImageWatermark(imageWatermark);
    options.setOutputPath("output.pdf");
    

    outputPath บอกให้บริการทราบว่าควรจัดเก็บ PDF ที่ได้ที่ไหน.

  2. ดำเนินการคำขอ: สร้าง AddWatermarkRequest และเรียก API. จัดการการตอบสนองที่สำเร็จหรือเกิดข้อผิดพลาด.

AddWatermarkRequest request = new AddWatermarkRequest(options);
try {
    AddWatermarkResponse response = watermarkApi.addWatermark(request);
    System.out.println("Watermark added successfully. Output file: " + response.getPath());
} catch (Exception e) {
    System.err.println("Error adding watermark: " + e.getMessage());
}

หลังจากดำเนินการเสร็จ ไฟล์ PDF ที่มีลายน้ำจะพร้อมใช้งานที่ตำแหน่งที่คุณระบุ.

ตัวอย่างโค้ดเต็ม: เพิ่มลายน้ำรูปภาพในเอกสาร PDF ด้วย Java

ตัวอย่างต่อไปนี้แสดงการดำเนินการเต็มรูปแบบตั้งแต่การเริ่มต้นไคลเอนต์จนถึงการบันทึกไฟล์ PDF ที่มีลายน้ำ

import com.groupdocs.cloud.watermark.api.WatermarkApi;
import com.groupdocs.cloud.watermark.client.ApiClient;
import com.groupdocs.cloud.watermark.model.AddWatermarkRequest;
import com.groupdocs.cloud.watermark.model.AddWatermarkResponse;
import com.groupdocs.cloud.watermark.model.FileInfo;
import com.groupdocs.cloud.watermark.model.ImageWatermark;
import com.groupdocs.cloud.watermark.model.Margin;
import com.groupdocs.cloud.watermark.model.WatermarkOptions;
import com.groupdocs.cloud.watermark.model.enums.HorizontalAlignment;
import com.groupdocs.cloud.watermark.model.enums.VerticalAlignment;

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

// Input PDF file information
        FileInfo fileInfo = new FileInfo();
        fileInfo.setFilePath("input.pdf");

// Image watermark configuration
        ImageWatermark imageWatermark = new ImageWatermark();
        imageWatermark.setImagePath("watermark.png");          // Path to watermark image
        imageWatermark.setOpacity(0.5);                        // 50% opacity
        imageWatermark.setScaleFactor(0.3);                    // 30% of page size
        imageWatermark.setRotationAngle(0);                    // No rotation
        imageWatermark.setHorizontalAlignment(HorizontalAlignment.CENTER);
        imageWatermark.setVerticalAlignment(VerticalAlignment.CENTER);
        imageWatermark.setMargin(new Margin(10, 10, 10, 10));  // 10 points margin on all sides

// Watermark options
        WatermarkOptions options = new WatermarkOptions();
        options.setFileInfo(fileInfo);
        options.setImageWatermark(imageWatermark);
        options.setOutputPath("output.pdf"); // Resulting PDF with watermark

// Create request and call API
        AddWatermarkRequest request = new AddWatermarkRequest(options);
        try {
            AddWatermarkResponse response = watermarkApi.addWatermark(request);
            System.out.println("Watermark added successfully. Output file: " + response.getPath());
        } catch (Exception e) {
            System.err.println("Error adding watermark: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

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

ใช้ลายน้ำรูปภาพกับเอกสาร PDF ผ่าน cURL และ REST API

ด้านล่างเป็นคำเรียก REST ที่คุณสามารถใช้กับ cURL เพื่อให้ได้ผลลัพธ์เดียวกันโดยไม่ต้องเขียนโค้ด Java.

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

    การตอบสนองจะมี access_token ที่ใช้ในการเรียกต่อไป.

  2. อัปโหลดไฟล์ PDF ต้นฉบับ

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=input.pdf" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/input.pdf"
    
  3. อัปโหลดภาพลายน้ำ

    curl -X POST "https://api.groupdocs.cloud/v2.0/storage/upload?path=watermark.png" \
         -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
         -F "file=@/path/to/watermark.png"
    
  4. เพิ่มลายน้ำรูปภาพ

curl -X POST "https://api.groupdocs.cloud/v2.0/watermark/add" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{
           "fileInfo": { "filePath": "input.pdf" },
           "imageWatermark": {
               "imagePath": "watermark.png",
               "opacity": 0.5,
               "scaleFactor": 0.3,
               "horizontalAlignment": "Center",
               "verticalAlignment": "Center",
               "margin": { "top": 10, "right": 10, "bottom": 10, "left": 10 }
           },
           "outputPath": "output.pdf"
         }'

คำขอนี้สะท้อนตรรกะของโค้ด Java โดยใช้การตั้งค่าความทึบ, การสเกลและการจัดแนวเดียวกัน.

  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
    

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ request bodies และพารามิเตอร์ที่รองรับ ดู เอกสาร API อย่างเป็นทางการ.

การติดตั้งและกำหนดค่า GroupDocs.Watermark Cloud SDK for Java

เพิ่มการพึ่งพา Maven ลงใน pom.xml ของคุณ (หรือสคริปต์ Gradle ที่เทียบเท่า) ไลบรารีนี้โฮสต์บน Maven Central.

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

คุณยังต้องมีบัญชี GroupDocs Cloud ที่ใช้งานได้. ดึง Client ID และ Client Secret ของคุณจาก GroupDocs portal. ไม่จำเป็นต้องติดตั้ง runtime เพิ่มเติมใด ๆ เนื่องจาก SDK สื่อสารกับบริการคลาวด์.

การปรับแต่งตัวเลือกลายน้ำรูปภาพสำหรับเอกสาร PDF

SDK เปิดเผยคุณสมบัติต่าง ๆ หลายอย่างที่ทำให้คุณควบคุมลักษณะการแสดงผลของลายน้ำ

ปรับความทึบแสง

imageWatermark.setOpacity(0.75); // 75% opacity for a more visible watermark

ค่าความทึบแสงอยู่ในช่วงตั้งแต่ 0.0 (โปร่งใสเต็มที่) ถึง 1.0 (ทึบเต็มที่).

เปลี่ยนปัจจัยสเกล

imageWatermark.setScaleFactor(0.5); // Watermark occupies 50% of the page width

ปัจจัยสเกลกำหนดขนาดของลายน้ำโดยอิงจากมิติของหน้า.

ตั้งค่าการจัดแนวและระยะขอบ

imageWatermark.setHorizontalAlignment(HorizontalAlignment.RIGHT);
imageWatermark.setVerticalAlignment(VerticalAlignment.BOTTOM);
imageWatermark.setMargin(new Margin(20, 20, 20, 20));

การตั้งค่านี้จะวางลายน้ำไว้ที่มุมล่าง‑ขวาพร้อมระยะขอบ 20‑จุด.

สำหรับรายการคุณสมบัติที่กำหนดค่าได้ทั้งหมด โปรดดูที่ อ้างอิง API.

สรุป

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

FAQs

  • ฉันจะเพิ่มลายน้ำรูปภาพลงใน PDF ด้วย Java โดยไม่สูญเสียคุณภาพได้อย่างไร?
    ใช้คุณสมบัติ scaleFactor เพื่อกำหนดขนาดลายน้ำสัมพันธ์กับหน้าและรักษา DPI ดั้งเดิมของ PDF ต้นฉบับ SDK จะคงความละเอียดของ PDF ไว้ ดังนั้นลายน้ำจะแสดงคมชัดในทุกระดับการซูม

  • ฉันสามารถเพิ่มลายน้ำหลายรายการใน PDF เดียวกันได้หรือไม่?
    ใช่. สร้างอ็อบเจ็กต์ ImageWatermark แยกกันด้วยการกำหนดค่าที่แตกต่างกันและเพิ่มพวกมันตามลำดับโดยเรียก addWatermark หลายครั้งหรือโดยการเพิ่มลงในรายการในคำขอ.

  • รูปแบบภาพที่รองรับสำหรับลายน้ำคืออะไร?
    API รองรับประเภทภาพทั่วไปเช่น PNG, JPG, BMP, GIF และ TIFF. แนะนำให้ใช้ PNG เพื่อคุณภาพที่ไม่มีการสูญเสียและรองรับความโปร่งใส.

  • มีวิธีดูตัวอย่างลายน้ำก่อนนำไปใช้หรือไม่?
    คุณสามารถใช้ GroupDocs.Watermark Cloud SDK for Java เพื่อสร้าง PDF ชั่วคราวที่มีลายน้ำและดาวน์โหลดเพื่อรีวิวได้ วิธีนี้ใช้การเรียก addWatermark เดียวกันโดยกำหนดเส้นทางเอาต์พุตไปยังตำแหน่งชั่วคราว

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