หากคุณต้องการเพิ่มลายน้ำให้กับ PDF ใน Java การซ้อนทับภาพสามารถปกป้องเอกสารของคุณจากการใช้งานโดยไม่ได้รับอนุญาตได้ Conholdate.Total for Java ให้ SDK ที่ทรงพลังซึ่งทำให้การจัดการ PDF บนเซิร์ฟเวอร์เป็นเรื่องง่าย ในคู่มือนี้คุณจะได้เห็นตัวอย่างที่สมบูรณ์พร้อมรันทันที เรียนรู้ว่าทุกบรรทัดทำงานอย่างไร ตั้งค่าการพึ่งพา Maven และค้นหาตัวเลือกเพื่อปรับความทึบ, การหมุน, และการจัดตำแหน่งอย่างละเอียดเพื่อผลลัพธ์ระดับมืออาชีพ.
ตัวอย่างโค้ดเต็ม: การเพิ่มลายน้ำข้อความลงใน PDF ด้วย Java
ตัวอย่างต่อไปนี้แสดงวิธีการเพิ่มลายน้ำข้อความลงใน PDF โดยใช้ Conholdate.Total for Java.
import com.groupdocs.watermark.Watermark;
import com.groupdocs.watermark.options.PdfLoadOptions;
import com.groupdocs.watermark.options.PdfSaveOptions;
import com.groupdocs.watermark.watermarks.TextWatermark;
import com.groupdocs.watermark.watermarks.HorizontalAlignment;
import com.groupdocs.watermark.watermarks.VerticalAlignment;
import java.awt.Color;
import java.awt.Font;
public class AddPdfWatermark {
public static void main(String[] args) {
String inputFile = "input.pdf";
String outputFile = "output.pdf";
// Create a text watermark
Font font = new Font("Arial", Font.BOLD, 48);
TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font);
textWatermark.setColor(Color.RED);
textWatermark.setOpacity(0.3);
textWatermark.setRotationAngle(45);
textWatermark.setHorizontalAlignment(HorizontalAlignment.Center);
textWatermark.setVerticalAlignment(VerticalAlignment.Center);
// Load options for the source PDF (enable caching for large files)
PdfLoadOptions loadOptions = new PdfLoadOptions(inputFile);
loadOptions.setCacheSize(100 * 1024 * 1024); // 100 MB cache
// Initialize the Watermark processor
Watermark watermark = new Watermark();
try {
// Apply the watermark to every page of the PDF
watermark.add(textWatermark, loadOptions);
// Save the watermarked PDF
PdfSaveOptions saveOptions = new PdfSaveOptions();
watermark.save(outputFile, saveOptions);
} catch (Exception e) {
System.err.println("Failed to add watermark: " + e.getMessage());
e.printStackTrace();
}
}
}
หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ ให้ตรวจสอบให้แน่ใจว่าได้อัปเดตเส้นทางไฟล์ (
input.pdf,output.pdf, เป็นต้น) ให้ตรงกับตำแหน่งไฟล์จริงของคุณ ตรวจสอบว่าการพึ่งพาทั้งหมดที่จำเป็นได้ถูกติดตั้งอย่างถูกต้อง และทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนาของคุณ หากคุณพบปัญหาใด ๆ โปรดดูที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อ ทีมสนับสนุน เพื่อขอความช่วยเหลือ.
ทำความเข้าใจการเพิ่มลายน้ำใน PDF ด้วยโค้ด Java
โค้ดการเพิ่มลายน้ำลงใน PDF ด้วย Java มีลำดับขั้นตอนที่ชัดเจนซึ่งคุณสามารถปรับใช้กับเอกสาร PDF ใดก็ได้.
- เริ่มต้นตัวประมวลผลลายน้ำ -
Watermark watermark = new Watermark();สร้างเอนจินที่ใช้สำหรับใส่ลายน้ำ. - สร้าง TextWatermark - วัตถุ
TextWatermarkเก็บข้อความ, ฟอนต์, สี, ความทึบแสง, และการหมุน.Font font = new Font("Arial", Font.BOLD, 48); TextWatermark textWatermark = new TextWatermark("CONFIDENTIAL", font); - กำหนดลักษณะการแสดงผล - วิธีการเช่น
setColor,setOpacity, และsetRotationAngleกำหนดว่าลายน้ำจะปรากฏอย่างไรบนหน้า. - โหลด PDF ต้นฉบับ -
PdfLoadOptionsโหลดไฟล์อินพุตและเปิดใช้งานการแคชสำหรับเอกสารขนาดใหญ่ ซึ่งช่วยลดความกดดันของหน่วยความจำ. - ประยุกต์และบันทึก -
watermark.add(textWatermark, loadOptions);ใส่ลายน้ำลงในทุกหน้า, และwatermark.save(outputFile, saveOptions);เขียนผลลัพธ์.
การโหลด PDF ต้นฉบับด้วยการแคช
เมื่อคุณทำงานกับไฟล์ PDF ขนาดหลายเมกะไบต์ การเปิดใช้งานแคชจะป้องกันไม่ให้ SDK โหลดเอกสารทั้งหมดเข้าสู่หน่วยความจำ บรรทัด loadOptions.setCacheSize(100 * 1024 * 1024); จะสำรองพื้นที่ 100 MB สำหรับการจัดเก็บชั่วคราว ทำให้ตัวประมวลผลสามารถสตรีมหน้าได้ตามต้องการ วิธีนี้เป็นประโยชน์อย่างยิ่งในสภาพแวดล้อมเซิร์ฟเวอร์ที่อาจมีงานใส่น้ำลายน้ำพร้อมกันหลายงาน
สำหรับข้อมูล API รายละเอียดเพิ่มเติม ดูที่ อ้างอิง API ของ Java.
เตรียมสภาพแวดล้อมสำหรับการใส่ลายน้ำ PDF
กระบวนการเพิ่มลายน้ำให้กับ PDF ใน Java เริ่มต้นด้วยการเพิ่มการพึ่งพา Maven หลังจากนั้นคุณจะต้องมี JDK ที่เข้ากันได้และการกำหนดค่าจำนวนเล็กน้อย
ข้อกำหนดเบื้องต้นและเวอร์ชัน Java
- จำเป็นต้องใช้ Java 8 หรือสูงกว่า; SDK ใช้คุณลักษณะของภาษาสมัยใหม่และสตรีมส์.
- Maven 3.5+ ทำให้การจัดการ dependencies ง่ายขึ้น.
- ตรวจสอบให้แน่ใจว่า
pom.xmlของโครงการของคุณรวม repository ของ Conholdate เพื่อให้ Maven สามารถแก้ไข artifact ได้.
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
คุณยังสามารถรับไฟล์ JAR ได้โดยตรงจาก หน้าดาวน์โหลด. หลังจากเพิ่ม dependency แล้ว ให้รัน mvn clean install เพื่อยืนยันว่า SDK อยู่ใน classpath ของคุณ.
การใช้ REST API (ไม่บังคับ)
หากคุณต้องการวิธีที่ไม่ขึ้นกับภาษา Conholdate.Total ยังมี endpoint REST ที่สามารถเพิ่มลายน้ำโดยไม่ต้องใช้โค้ด Java อีกด้วย คำสั่ง curl อย่างง่ายมีลักษณะดังนี้:
curl -X POST "https://api.conholdate.com/v1/pdf/watermark" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-F "file=@input.pdf" \
-F "text=CONFIDENTIAL" \
-F "font=Arial" \
-F "fontSize=48" \
-F "color=FF0000" \
-F "opacity=0.3" \
-F "angle=45" \
-F "horizontalAlignment=center" \
-F "verticalAlignment=center" \
-o output.pdf
เวอร์ชัน REST ทำตามขั้นตอนเชิงตรรกะเดียวกันคือ โหลด, กำหนดค่า, ใช้งาน, และบันทึก เพื่อให้คุณสามารถเลือกวิธีที่เหมาะสมที่สุดกับสถาปัตยกรรมของคุณได้
การกำหนดลักษณะและตำแหน่งของลายน้ำ
SDK เปิดเผยคุณสมบัติต่าง ๆ ที่ให้คุณปรับแต่งลายน้ำอย่างละเอียด. ด้านล่างคือการตั้งค่าที่ปรับบ่อยที่สุด.
การปรับแต่งแบบอักษรและสี
คุณสามารถแทนที่ฟอนต์ Arial เริ่มต้นด้วยฟอนต์ TrueType ใดก็ได้ที่มีบนเซิร์ฟเวอร์ การเปลี่ยนสีง่ายเพียงแค่ส่งค่าคงที่ java.awt.Color ที่ต่างกันหรือสร้างค่ RGB ที่กำหนดเอง
Font customFont = new Font("Times New Roman", Font.ITALIC, 36);
textWatermark.setColor(new Color(0, 102, 204)); // Deep blue
textWatermark.setFont(customFont);
การปรับความทึบและการหมุน
ความทึบแสงควบคุมว่าลายน้ำปรากฏโปร่งใสแค่ไหน.
ค่ามีช่วงตั้งแต่ 0.0 (ซ่อนอย่างสมบูรณ์) ถึง 1.0 (ทึบเต็มที่).
การหมุนทำให้คุณเอียงข้อความเพื่อทำให้ยากต่อการลบออก.
textWatermark.setOpacity(0.45); // 45% opacity
textWatermark.setRotationAngle(30); // 30 degrees clockwise
การจัดตำแหน่งลายน้ำบนหน้า
Horizontal and vertical alignment properties accept Left, Center, Right and Top, Center, Bottom. การจัดกึ่งกลางเป็นที่นิยมสำหรับตราประทับความลับ, แต่คุณสามารถวางลายน้ำไว้ที่มุมเพื่อวัตถุประสงค์การสร้างแบรนด์ได้.
textWatermark.setHorizontalAlignment(HorizontalAlignment.Right);
textWatermark.setVerticalAlignment(VerticalAlignment.Bottom);
If you want to เพิ่มลายน้ำข้อความลงใน PDF ด้วย Java with a different layout on each page, you can modify these properties inside a loop that processes pages individually. SDK ยังรองรับลายน้ำรูปภาพ, การไล่สี, และข้อความหลายบรรทัดหากกรณีการใช้งานของคุณต้องการความซับซ้อนด้านภาพมากขึ้น.
สรุป
การเพิ่มลายน้ำลงใน PDF ด้วย Java ทำได้อย่างง่ายดายด้วย Conholdate.Total for Java. SDK จัดการการโหลด, การประมวลผลและการบันทึก PDF อย่างมีประสิทธิภาพ แม้สำหรับไฟล์ขนาดใหญ่ด้วยระบบแคชในตัว. โดยการปรับความโปร่งใส, การหมุน, ฟอนต์, สีและการจัดแนว คุณสามารถสร้างลายน้ำที่ดูเป็นมืออาชีพและช่วยป้องกันการกระจายโดยไม่ได้รับอนุญาต. อย่าลืมขอรับใบอนุญาตที่เหมาะสมสำหรับการใช้งานในผลิตภัณฑ์; คุณสามารถขอใบอนุญาตชั่วคราวจาก temporary license page หรือดูตัวเลือกการกำหนดราคาได้ที่ pricing page. ด้วยโค้ดและขั้นตอนการกำหนดค่าที่อธิบายไว้ คุณพร้อมแล้วที่จะผสานการใส่ลายน้ำ PDF เข้าไปในแอปพลิเคชัน Java ของคุณ.
คำถามที่พบบ่อย
ฉันจะเพิ่มลายน้ำลงใน PDF ด้วย Java โดยไม่ต้องเขียนโค้ด PDF ระดับต่ำได้อย่างไร?
ใช้คลาส Watermark จาก Conholdate.Total for Java. มันทำให้โครงสร้าง PDF ถูกแยกนามธรรมออก ทำให้คุณสามารถมุ่งเน้นที่คุณสมบัติลายน้ำ เช่น ข้อความ, ฟอนต์, และตำแหน่งได้
ตัวเลือกใดบ้างที่มีสำหรับการจัดรูปแบบลายน้ำข้อความ?
คุณสามารถตั้งค่าแบบอักษร (new Font(...)), ขนาด, สไตล์ (หนา, เอียง), สี (setColor), ความทึบ (setOpacity), การหมุน (setRotationAngle), และการจัดแนว (setHorizontalAlignment, setVerticalAlignment). ตัวเลือกเหล่านี้ได้ถูกแสดงในตัวอย่างโค้ดเต็ม.
SDK สามารถประมวลผล PDF ขนาดใหญ่ได้อย่างมีประสิทธิภาพหรือไม่?
ใช่. โดยการกำหนดค่า PdfLoadOptions.setCacheSize คุณจะเปิดการสตรีมและแคช ซึ่งช่วยลดการใช้หน่วยความจำสำหรับ PDF ขนาดหลายเมกะไบต์ นี้ทำให้กระบวนการเพิ่มลายน้ำลงใน PDF ด้วย Java เหมาะสำหรับการประมวลผลเป็นชุดบนเซิร์ฟเวอร์
ฉันจำเป็นต้องซื้อใบอนุญาตเพื่อเรียกใช้ตัวอย่างนี้หรือไม่?
จำเป็นต้องมีใบอนุญาตสำหรับการใช้งานในสภาพแวดล้อมการผลิต. รับใบอนุญาตชั่วคราวจาก หน้าใบอนุญาตชั่วคราว หรือสำรวจรายละเอียดการกำหนดราคาฉบับเต็มที่ หน้าแผนราคา
