ลายน้ำในเอกสารจะระบุสถานะของเอกสารที่มีข้อความ เช่น ความลับ ฉบับร่าง เป็นต้น และทำให้ยากต่อการคัดลอกเอกสารต้นฉบับ ลายน้ำอาจเป็นภาพหรือข้อความก็ได้ และมักใช้ในเอกสาร PDF คุณอาจต้องเพิ่มลายน้ำให้กับเอกสาร PDF ภายในแอปพลิเคชัน C++ ของคุณ บทความนี้จะสอนวิธีเพิ่มและลบลายน้ำข้อความและรูปภาพจากเอกสาร PDF โดยใช้ C++

C++ API สำหรับการแทรกและลบลายน้ำข้อความ/รูปภาพ

Aspose.PDF for C++ คือไลบรารี C++ ที่ให้คุณสร้าง อ่าน และอัปเดตเอกสาร PDF นอกจากนี้ API ยังรองรับการแทรกและลบลายน้ำรูปภาพ/ข้อความในเอกสาร PDF คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด

PM> Install-Package Aspose.PDF.Cpp

ใส่ลายน้ำข้อความในไฟล์ PDF โดยใช้ C++

ด้วย Aspose.PDF for C++ API คุณสามารถควบคุมรูปแบบฟอนต์ ข้อความ สี มุม ความทึบ ฯลฯ ของลายน้ำข้อความได้ ต่อไปนี้เป็นขั้นตอนในการเพิ่มลายน้ำข้อความในไฟล์ PDF

โค้ดตัวอย่างต่อไปนี้แสดงวิธีเพิ่มลายน้ำข้อความในไฟล์ PDF โดยใช้ C++

// เปิดเอกสาร PDF ต้นทาง
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// สร้างอินสแตนซ์ของคลาส TextStamp
System::SharedPtr<TextStamp> textStamp = MakeObject<TextStamp>(u"CONFIDENTIAL");

// กำหนดตำแหน่งของลายน้ำ
textStamp->set_XIndent(70);
textStamp->set_YIndent(300);

// ตั้งค่าคุณสมบัติข้อความ
textStamp->get_TextState()->set_Font(FontRepository::FindFont(u"Arial"));
textStamp->get_TextState()->set_FontSize(72.0F);
textStamp->get_TextState()->set_ForegroundColor(Aspose::Pdf::Color::get_Red());
textStamp->set_Opacity(0.4);
textStamp->set_RotateAngle(45);
textStamp->setStampId(123456);

// เพิ่มลายน้ำในหน้า PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(textStamp);

// บันทึกไฟล์ PDF
pdfDocument->Save(u"OutputDirectory\\Text-Watermark-Out.pdf", SaveFormat::Pdf);
รูปภาพของไฟล์ PDF เอาต์พุตที่สร้างโดยโค้ดตัวอย่าง

รูปภาพของไฟล์ PDF เอาต์พุตที่สร้างโดยโค้ดตัวอย่าง

ใส่ลายน้ำรูปภาพในไฟล์ PDF โดยใช้ C++

ลายน้ำรูปภาพมักใช้เพื่อแสดงความเป็นเจ้าของเอกสารโดยใช้โลโก้หรือรูปภาพอื่นๆ ที่สามารถระบุตัวตนได้ คุณสามารถเพิ่มลายน้ำรูปภาพให้กับไฟล์ PDF โดยใช้ขั้นตอนด้านล่าง

โค้ดตัวอย่างต่อไปนี้สาธิตวิธีเพิ่มลายน้ำรูปภาพในไฟล์ PDF โดยใช้ C++

// เปิดเอกสาร PDF ต้นทาง
auto pdfDocument = MakeObject<Document>(u"SourceDirectory\\Sample 1.pdf");

// สร้างอินสแตนซ์ของคลาส ImageStamp
System::SharedPtr<ImageStamp> imageStamp = MakeObject<ImageStamp>(u"SourceDirectory\\aspose.png");

// กำหนดตำแหน่งของลายน้ำ
imageStamp->set_XIndent(150);
imageStamp->set_YIndent(350);

// ตั้งค่าคุณสมบัติอื่นๆ
imageStamp->set_Height(100);
imageStamp->set_Width(300);
imageStamp->set_RotateAngle(45);
imageStamp->set_Opacity(0.4);
imageStamp->setStampId(12345678);

// เพิ่มลายน้ำในหน้า PDF
pdfDocument->get_Pages()->idx_get(1)->AddStamp(imageStamp);

// บันทึกไฟล์ PDF
pdfDocument->Save(u"OutputDirectory\\Image-Watermark-Out.pdf", SaveFormat::Pdf);
รูปภาพของไฟล์ PDF เอาต์พุตที่สร้างโดยโค้ดตัวอย่าง

รูปภาพของไฟล์ PDF เอาต์พุตที่สร้างโดยโค้ดตัวอย่าง

ลบลายน้ำข้อความหรือรูปภาพออกจากไฟล์ PDF โดยใช้ C++

อาจมีบางสถานการณ์ที่คุณจำเป็นต้องลบลายน้ำออกจากเอกสาร PDF ในตัวอย่างก่อนหน้านี้ เรากำหนดรหัสสำหรับลายน้ำทั้งข้อความและรูปภาพ เราจะใช้รหัสเหล่านี้เพื่อลบลายน้ำออกจากเอกสาร PDF ต่อไปนี้เป็นขั้นตอนในการลบลายน้ำออกจากไฟล์ PDF

โค้ดตัวอย่างต่อไปนี้แสดงวิธีลบลายน้ำข้อความและรูปภาพออกจากไฟล์ PDF โดยใช้ C++

// สร้างอินสแตนซ์ของคลาส PdfContentEditor
System::SharedPtr<PdfContentEditor> contentEditor = MakeObject<PdfContentEditor>();

// เปิดไฟล์ PDF ที่มีลายน้ำ
contentEditor->BindPdf(u"SourceDirectory\\SampleImageWatermark.pdf");

// ลบลายน้ำโดย id
contentEditor->DeleteStampById(12345678);

// บันทึกไฟล์ PDF
pdfDocument->Save(u"OutputDirectory\\Remove-Watermark-Out.pdf", SaveFormat::Pdf);

รับใบอนุญาตฟรี

คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีการทำงานกับลายน้ำในไฟล์ PDF โดยใช้ C++ โดยเฉพาะอย่างยิ่ง คุณได้เรียนรู้วิธีเพิ่มและลบลายน้ำรูปภาพและข้อความจากเอกสาร PDF โดยใช้ Aspose.PDF for C++ API API มีคุณสมบัติเพิ่มเติมมากมายสำหรับการทำงานที่เกี่ยวข้องกับ PDF ของคุณโดยอัตโนมัติ คุณสามารถสำรวจ API โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย