เพิ่มลายน้ำลงใน pdf ด้วย GroupDocs.Watermark สำหรับ Java
ในคู่มือนี้คุณจะได้เรียนรู้วิธี เพิ่มลายน้ำลงในไฟล์ pdf ด้วย GroupDocs.Watermark Java SDK เราจะอธิบายการโหลดเอกสารจากดิสก์, สตรีม, หรือแหล่งที่มีการป้องกันด้วยรหัสผ่าน, การใส่ลายน้ำแบบข้อความหรือภาพ, และสุดท้ายการบันทึก PDF ที่อัปเดต ไม่ว่าคุณจะสร้างตัวประมวลผลแบบแบตช์หรือบริการไฟล์เดี่ยว ขั้นตอนเหล่านี้ให้โซลูชันที่เชื่อถือได้และพร้อมใช้งานในสภาพแวดล้อมการผลิต
คำตอบอย่างรวดเร็ว
- ฉันสามารถเพิ่มลายน้ำลงใน PDF ที่ป้องกันด้วยรหัสผ่านได้หรือไม่? ใช่ – ส่งรหัสผ่านเมื่อโหลดเอกสาร แล้วใส่ลายน้ำตามปกติ
- ฟอร์แมตใดบ้างที่สามารถใส่ลายน้ำได้? มากกว่า 30 ฟอร์แมต รวมถึง PDF, DOCX, PPTX, และรูปภาพ
- ต้องใช้ไลเซนส์สำหรับการพัฒนาหรือไม่? ไลเซนส์ชั่วคราวใช้สำหรับการทดสอบ; ไลเซนส์เต็มจำเป็นสำหรับการผลิต
- ต้องใช้ Java เวอร์ชันใด? รองรับ Java 8 หรือสูงกว่า
- รองรับการสตรีมหรือไม่? แน่นอน – คุณสามารถโหลดจาก
InputStreamและบันทึกไปยังOutputStreamโดยไม่ต้องสัมผัสระบบไฟล์
อะไรคือการเพิ่มลายน้ำลงใน pdf?
การเพิ่มลายน้ำลงใน pdf หมายถึงกระบวนการวางข้อความหรือภาพที่มีความโปร่งแสงบางส่วนบนแต่ละหน้าของเอกสาร PDF เพื่อแสดงความเป็นเจ้าของ, ความลับ, หรือการสร้างแบรนด์ GroupDocs.Watermark สำหรับ Java มี API แบบเรียกครั้งเดียวที่จัดการตำแหน่ง, ความทึบแสง, และการเลือกช่วงหน้าโดยอัตโนมัติ
ทำไมต้องใช้ GroupDocs.Watermark สำหรับ Java?
GroupDocs.Watermark รองรับ ไฟล์กว่า 35 ฟอร์แมต และสามารถประมวลผล PDF ขนาด 500 หน้าในเวลาน้อยกว่า 2 วินาที บนเซิร์ฟเวอร์คลาสทั่วไป ไลบรารีทำงานทั้งหมดในหน่วยความจำ จึงไม่ต้องติดตั้ง Microsoft Office หรือ Adobe Acrobat API ปลอดภัยต่อเธรด ทำให้เหมาะกับบริการเว็บที่ต้องประมวลผลจำนวนมาก
ข้อกำหนดเบื้องต้น
- ติดตั้ง Java 8 หรือใหม่กว่า
- โปรเจกต์ Maven หรือ Gradle ที่กำหนด dependency
groupdocs-watermark - ไลเซนส์ GroupDocs.Watermark ที่ถูกต้อง (ไลเซนส์ชั่วคราวสำหรับการประเมิน)
- ไฟล์ PDF ที่ต้องการปกป้อง, สามารถมีรหัสผ่านได้
วิธีเพิ่มลายน้ำลงใน pdf – ขั้นตอนโดยละเอียด
โหลดเอกสารต้นฉบับ, ใส่ลายน้ำ, แล้วบันทึกผลลัพธ์ ส่วนต่อไปนี้ตอบแต่ละงานย่อยโดยตรง
วิธีโหลดเอกสารจากดิสก์?
Watermarker เป็นคลาสหลักที่ใช้โหลดและจัดการเอกสารสำหรับการใส่ลายน้ำ ให้ระบุพาธไฟล์เต็มไปยังคอนสตรัคเตอร์ Watermarker; SDK จะตรวจจับฟอร์แมตไฟล์โดยอัตโนมัติ, ตรวจสอบเนื้อหา, และโหลดเอกสารเข้าสู่หน่วยความจำพร้อมสำหรับการทำงานใด ๆ วิธีนี้ทำงานกับ PDF, Word, รูปภาพ, และประเภทอื่น ๆ ที่รองรับ
Watermarker watermarker = new Watermarker("C:/files/input.pdf");
หลังจากบรรทัดนี้ PDF จะถูกโหลดเข้าสู่หน่วยความจำเต็มที่ พร้อมสำหรับการใส่ลายน้ำใด ๆ
วิธีโหลดเอกสารจากสตรีม?
Watermarker ยังรับ InputStream เพื่อโหลดเอกสารโดยตรงจากหน่วยความจำ เมื่อคุณรับไฟล์ผ่าน HTTP หรือคิวข้อความ ให้ห่ออาร์เรย์ไบต์ใน ByteArrayInputStream แล้วส่งให้คอนสตรัคเตอร์ Watermarker ที่รับ InputStream SDK จะอ่านสตรีมโดยไม่ต้องเขียนลงดิสก์, รักษาประสิทธิภาพและความปลอดภัย, และรองรับไฟล์ขนาดใหญ่โดยประมวลผลเป็นชั้น ๆ วิธีนี้เหมาะกับบริการเว็บและสถาปัตยกรรมไมโครเซอร์วิส
InputStream pdfStream = new ByteArrayInputStream(pdfBytes);
Watermarker watermarker = new Watermarker(pdfStream);
SDK จะอ่านสตรีมโดยไม่ต้องเขียนลงดิสก์, รักษาประสิทธิภาพและความปลอดภัย
วิธีโหลดเอกสารที่ป้องกันด้วยรหัสผ่าน?
Watermarker รองรับการโหลด PDF ที่ป้องกันด้วยรหัสผ่านโดยให้รหัสผ่านเป็นอาร์กิวเมนต์ที่สอง ส่งรหัสผ่านเป็นอาร์กิวเมนต์ที่สองของคอนสตรัคเตอร์ SDK จะถอดรหัส PDF ขณะทำงาน, หลังจากนั้นคุณสามารถจัดการเอกสารได้เหมือนเอกสารทั่วไป หากรหัสผ่านถูกต้อง ทุกหน้าเปิดให้ใส่ลายน้ำได้; หากไม่ถูกต้อง ไลบรารีจะโยนข้อยกเว้นที่ชัดเจนให้คุณจับและบันทึกเพื่อแก้ปัญหา
Watermarker watermarker = new Watermarker("C:/files/secure.pdf", "mySecretPwd");
หากรหัสผ่านไม่ถูกต้อง SDK จะโยนข้อยกเว้นที่ให้ข้อมูลที่คุณสามารถจับและบันทึกได้
วิธีใส่ลายน้ำแบบข้อความ?
TextWatermark แทนลายน้ำข้อความที่สามารถใส่ลงในหน้าได้พร้อมสไตล์ที่กำหนดเอง สร้างอ็อบเจกต์ TextWatermark ด้วยข้อความ, ฟอนต์, ขนาด, และสีที่ต้องการ แล้วเรียก add บนอินสแตนซ์ Watermarker, สามารถระบุช่วงหน้าได้ ลายน้ำจะถูกเรนเดอร์ด้วยความทึบแสงและการหมุนที่กำหนด, และสามารถกำหนดตำแหน่งโดยใช้ตำแหน่งที่กำหนดไว้ล่วงหน้าหรือพิกัดที่กำหนดเอง เพื่อให้แสดงผลสม่ำเสมอบนทุกหน้า
TextWatermark watermark = new TextWatermark("Confidential", new Font("Arial", 36));
watermark.setColor(Color.RED);
watermark.setTransparency(0.5);
watermarker.add(watermark);
การเรียกนี้จะใส่ลายน้ำบนทุกหน้าโดยค่าเริ่มต้น; หากต้องการจำกัดให้ใช้ new PageRange(1, 5) ตามต้องการ
วิธีใส่ลายน้ำแบบภาพ?
ImageWatermark แทนลายน้ำรูปภาพ เช่น โลโก้หรือตราประทับ สร้าง ImageWatermark ด้วยพาธหรือสตรีมของโลโก้ของคุณ, แล้วเพิ่มเช่นเดียวกับลายน้ำข้อความ SDK จะปรับขนาดภาพให้พอดีกับหน้าโดยคงอัตราส่วน, คุณสามารถปรับความทึบแสง, การหมุน, และตำแหน่งเพื่อให้ได้ผลลัพธ์ตามต้องการโดยไม่ทำให้เนื้อหาต้นฉบับบิดเบี้ยว
ImageWatermark imgWatermark = new ImageWatermark("C:/images/logo.png");
imgWatermark.setTransparency(0.3);
watermarker.add(imgWatermark);
SDK จะปรับขนาดภาพให้พอดีกับหน้าโดยคงอัตราส่วน
วิธีบันทึกเอกสารที่มีลายน้ำ?
save เขียนเอกสารที่แก้ไขแล้วไปยังตำแหน่งที่ระบุในฟอร์แมตที่เลือก เรียก save พร้อมพาธเอาต์พุตและฟอร์แมตที่ต้องการ หากละเว้นพารามิเตอร์ฟอร์แมต ระบบจะใช้ฟอร์แมตเดียวกับแหล่งที่มาด้วย วิธีนี้จะเขียน PDF ที่แก้ไขแล้วลงดิสก์, รักษาเนื้อหาต้นฉบับทั้งหมดยกเว้นชั้นลายน้ำใหม่, และรองรับการบันทึกไปยังสตรีมสำหรับการประมวลผลต่อไป
watermarker.save("C:/files/output.pdf");
เมธอดนี้จะเขียน PDF ที่แก้ไขแล้วลงดิสก์, รักษาเนื้อหาต้นฉบับทั้งหมดยกเว้นชั้นลายน้ำใหม่
บทเรียนที่มี
วิธีโหลดเอกสารที่ป้องกันด้วยรหัสผ่านใน Java ด้วย GroupDocs.Watermark
เรียนรู้วิธีโหลดและจัดการลายน้ำในเอกสารที่ป้องกันด้วยรหัสผ่านโดยใช้ GroupDocs.Watermark สำหรับ Java คู่มือนี้ให้คำแนะนำทีละขั้นตอน, ตัวอย่างจริง, และเคล็ดลับการแก้ปัญหา
วิธีโหลดและใส่ลายน้ำเอกสาร Word ที่ป้องกันด้วยรหัสผ่านใน Java ด้วย GroupDocs.Watermark
เรียนรู้วิธีใช้ GroupDocs.Watermark กับ Java เพื่อโหลด, จัดการ, และใส่ลายน้ำเอกสาร Word ที่ป้องกันด้วยรหัสผ่านอย่างมีประสิทธิภาพ
แหล่งข้อมูลเพิ่มเติม
- GroupDocs.Watermark for Java Documentation
- GroupDocs.Watermark for Java API Reference
- Download GroupDocs.Watermark for Java
- GroupDocs.Watermark Forum
- Free Support
- Temporary License
ปัญหาทั่วไปและวิธีแก้
- ข้อผิดพลาดรหัสผ่านไม่ถูกต้อง – ตรวจสอบสตริงรหัสผ่านอีกครั้ง; ต้องเป็นการเข้ารหัส UTF‑8
- Out‑of‑memory บน PDF ขนาดใหญ่ – เปิดโหมดสตรีมโดยใช้คอนสตรัคเตอร์
Watermarkerที่รับInputStreamและOutputStream - ลายน้ำไม่ปรากฏ – ตรวจสอบให้แน่ใจว่าความทึบแสงของลายน้ำตั้งค่ามากกว่า 0.1 และสีมีความคอนทราสต์กับพื้นหลังหน้า
คำถามที่พบบ่อย
ถาม: ฉันสามารถเพิ่มลายน้ำหลายชั้นลงใน PDF เดียวได้หรือไม่?
ตอบ: ใช่. เรียก watermarker.add() หลายครั้งด้วยอ็อบเจกต์ TextWatermark หรือ ImageWatermark ต่าง ๆ; แต่ละอันจะถูกวางเป็นชั้นตามลำดับที่เพิ่ม
ถาม: ไลบรารีจะรักษา annotation ที่มีอยู่เดิมหรือไม่?
ตอบ: แน่นอน. วัตถุ PDF ทั้งหมดรวมถึง annotation, ฟิลด์ฟอร์ม, และเมทาดาต้าจะไม่ถูกแก้ไข เว้นแต่คุณจะทำการเปลี่ยนแปลงโดยเจตนา
ถาม: สามารถใส่ลายน้ำเฉพาะหน้าที่เลือกได้หรือไม่?
ตอบ: ได้. ส่ง PageRange (เช่น new PageRange(2, 4)) ไปยังเมธอด add เพื่อจำกัดลายน้ำให้กับหน้าที่ระบุ
ถาม: ขนาดไฟล์สูงสุดที่รองรับคือเท่าไหร่?
ตอบ: SDK สามารถจัดการไฟล์ขนาดสูงสุด 2 GB โดยไม่ต้องโหลดเอกสารทั้งหมดเข้าสู่หน่วยความจำ, ขอบคุณสถาปัตยกรรมสตรีมของมัน
ถาม: จะลบลายน้ำที่เพิ่มแล้วออกได้อย่างไร?
ตอบ: ใช้ watermarker.remove(watermarkId) โดยที่ watermarkId คือรหัสประจำตัวที่ได้จากการเพิ่มลายน้ำครั้งแรก
Last Updated: 2026-09-16
Tested with: GroupDocs.Watermark 23.9 for Java
Author: GroupDocs