บทช่วยสอนฉบับย่อนี้จะแนะนำ วิธีลบลายน้ำออกจากไฟล์ PDF ใน Java โดยแบ่งปันรายละเอียดการกำหนดค่าและกระบวนการทีละขั้นตอนเพื่อทำงานให้สำเร็จ นอกจากนี้ยังมีโค้ดตัวอย่างที่เรียกใช้ได้เพื่อ ลบลายน้ำจาก PDF ในภาษาจาวา ซึ่งกระบวนการทั้งหมดจะแสดงในลักษณะง่ายๆ คุณจะได้เรียนรู้ขั้นตอนการเข้าถึงสิ่งประดิษฐ์ประเภทต่างๆ ที่นำเสนอในหน้า PDF
ขั้นตอนในการลบลายน้ำออกจาก PDF ใน Java
- ตั้งค่าสภาพแวดล้อมให้ใช้ Aspose.PDF for Java เพื่อลบลายน้ำ
- โหลดไฟล์ PDF เป้าหมายลงในวัตถุ Document ที่มีลายน้ำเล็กน้อย
- สร้างรายการเพื่อเก็บข้อมูลอ้างอิงของเป้าหมาย Artifacts ที่จะถูกลบ
- แยกวิเคราะห์หน้าทั้งหมดและคอลเลกชันสิ่งประดิษฐ์ที่เกี่ยวข้องเพื่อตรวจสอบลายน้ำ
- บันทึกสิ่งประดิษฐ์ลายน้ำทั้งหมดในรายการ
- ลบสิ่งประดิษฐ์ที่เลือกทั้งหมดและบันทึกไฟล์ PDF ที่เป็นผลลัพธ์
ขั้นตอนเหล่านี้อธิบายกระบวนการในการ ลบลายน้ำออกจากเอกสาร PDF ในภาษาจาวา โดยการแบ่งปันทรัพยากรที่จำเป็นในการเขียนแอปพลิเคชัน จากนั้นจึงแสดงโฟลว์โปรแกรมทีละขั้นตอนพร้อมกับการแนะนำคลาสที่สำคัญ ในกระบวนการนี้ เราต้องระบุส่วนที่มีลายน้ำทั้งหมดของแต่ละหน้า จากนั้นจึงลบออกในตอนท้าย เมื่อประมวลผลเพจทั้งหมดหรือที่เลือกแล้ว ไฟล์ PDF ที่เป็นผลลัพธ์จะถูกบันทึกลงในดิสก์
รหัสเพื่อลบลายน้ำทั้งหมดจาก PDF ใน Java
import com.aspose.pdf.Document; | |
import com.aspose.pdf.Artifact; | |
import com.aspose.pdf.License; | |
import com.aspose.pdf.Page; | |
import java.util.*; | |
public class AsposeTest { | |
public static void main(String[] args) throws Exception {//Main function to remove watermark from PDF file in Java | |
// Instantiate the license | |
License lic = new License(); | |
lic.setLicense("Aspose.Total.lic"); | |
// Load the PDF | |
Document document = new Document("watermark.pdf"); | |
// Create a list | |
List<Artifact> artifactsToBeDeleted = new ArrayList<Artifact>(); | |
// Iterate through the pages of the PDF | |
for (Page page : document.getPages()) | |
{ | |
// Iterate the artifacts of the current page | |
for (Artifact item : page.getArtifacts()) | |
{ | |
// Check for the watermark type artifacts | |
if (item.getSubtype() == Artifact.ArtifactSubtype.Watermark) | |
{ | |
// Save reference of the artifact | |
artifactsToBeDeleted.add(item); | |
} | |
} | |
// Iterate the list of target artifacts | |
for (Artifact item : artifactsToBeDeleted) | |
{ | |
// Delete the artifact | |
page.getArtifacts().delete(item); | |
} | |
} | |
// Save the output PDF | |
document.save("withoutWatermark.pdf"); | |
System.out.println("Done"); | |
} | |
} |
รหัสนี้สาธิตขั้นตอนการ ลบลายน้ำพื้นหลังออกจาก PDF ใน Java มันใช้ getArtifacts() ของคลาส Page เพื่อเข้าถึงสิ่งประดิษฐ์ทั้งหมด แล้วทดสอบกับตัวแจงนับ Artifact.ArtifactSubtype.Watermark เพื่อลบ คุณยังสามารถดึงอาร์ติแฟกต์ประเภทอื่นๆ เช่น ส่วนหัว ส่วนท้าย และพื้นหลังสำหรับการดำเนินการต่างๆ
บทความนี้สอนให้เรา ลบลายน้ำจาก PDF ใน Java หากคุณสนใจที่จะเรียนรู้ขั้นตอนการเพิ่มลายน้ำ โปรดดูบทความใน วิธีเพิ่มลายน้ำใน PDF โดยใช้ Java