การเพิ่มตัวระบุภาพให้กับไฟล์ PDF เป็นสิ่งสำคัญสำหรับการปกป้องทรัพย์สินทางปัญญาและการสร้างแบรนด์เอกสาร. GroupDocs.Watermark Cloud SDK for Java มี API ที่ใช้งานง่ายเพื่อฝังลายน้ำรูปภาพโดยตรงลงใน PDF จากแอปพลิเคชัน Java ของคุณ. ในบทแนะนำนี้คุณจะได้เรียนรู้วิธีการเพิ่มลายน้ำรูปภาพลงในเอกสาร PDF ด้วย Java, ดูตัวอย่างการทำงานเต็มรูปแบบ, และสำรวจการเรียกใช้ cURL REST ที่เทียบเท่าสำหรับการรวมกับคลาวด์.
เพิ่มลายน้ำรูปภาพในเอกสาร PDF ด้วย Java ใน 5 ขั้นตอน
- เริ่มต้น 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 สำหรับรายละเอียดเพิ่มเติม.
- ระบุไฟล์ PDF ต้นฉบับ: สร้างอ็อบเจ็กต์
FileInfoที่ชี้ไปยัง PDF ที่คุณต้องการใส่ลายน้ำ.
FileInfo fileInfo = new FileInfo();
fileInfo.setFilePath("input.pdf");
ไฟล์ต้องอัปโหลดไปยัง GroupDocs storage ของคุณก่อนทำคำขอ.
- กำหนดค่าตำแหน่งลายน้ำรูปภาพ: กำหนดเส้นทางของรูปภาพ, ความทึบแสง, ปัจจัยการสเกล, การหมุนและการจัดตำแหน่ง.
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 กำหนดขนาดสัมพันธ์กับหน้า.
ตั้งค่าตัวเลือกลายน้ำและเส้นทางการส่งออก: รวมข้อมูลไฟล์และลายน้ำเข้าเป็นอ็อบเจ็กต์
WatermarkOptionsWatermarkOptions options = new WatermarkOptions(); options.setFileInfo(fileInfo); options.setImageWatermark(imageWatermark); options.setOutputPath("output.pdf");outputPathบอกให้บริการทราบว่าควรจัดเก็บ PDF ที่ได้ที่ไหน.ดำเนินการคำขอ: สร้าง
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.
รับโทเค็นการเข้าถึง
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ที่ใช้ในการเรียกต่อไป.อัปโหลดไฟล์ 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"อัปโหลดภาพลายน้ำ
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"เพิ่มลายน้ำรูปภาพ
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 โดยใช้การตั้งค่าความทึบ, การสเกลและการจัดแนวเดียวกัน.
- ดาวน์โหลด 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เดียวกันโดยกำหนดเส้นทางเอาต์พุตไปยังตำแหน่งชั่วคราว
