ลายน้ำในเอกสารจะระบุสถานะของเอกสารที่มีข้อความ เช่น ความลับ ฉบับร่าง เป็นต้น และทำให้ยากต่อการคัดลอกเอกสารต้นฉบับ ลายน้ำอาจเป็นภาพหรือข้อความก็ได้ และมักใช้ในเอกสาร PDF คุณอาจต้องเพิ่มลายน้ำให้กับเอกสาร PDF ภายในแอปพลิเคชัน C++ ของคุณ บทความนี้จะสอนวิธีเพิ่มและลบลายน้ำข้อความและรูปภาพจากเอกสาร PDF โดยใช้ C++
- C++ API สำหรับการแทรกและลบลายน้ำข้อความ/รูปภาพ
- ใส่ลายน้ำข้อความในไฟล์ PDF โดยใช้ C++
- ใส่ลายน้ำรูปภาพในไฟล์ 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 โดยใช้คลาส Document
- สร้างอินสแตนซ์ของคลาส TextStamp ด้วยข้อความลายน้ำ
- กำหนดตำแหน่งและคุณสมบัติอื่นๆ ของลายน้ำ
- เพิ่มลายน้ำลงในหน้าโดยใช้ Document->getPages()->idxget(1)->AddStamp(System::SharedPtr ตราประทับ) วิธี
- บันทึกไฟล์ PDF โดยใช้วิธี Document->Save(System::String outputFileName, SaveFormat)
โค้ดตัวอย่างต่อไปนี้แสดงวิธีเพิ่มลายน้ำข้อความในไฟล์ 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 โดยใช้ C++
ลายน้ำรูปภาพมักใช้เพื่อแสดงความเป็นเจ้าของเอกสารโดยใช้โลโก้หรือรูปภาพอื่นๆ ที่สามารถระบุตัวตนได้ คุณสามารถเพิ่มลายน้ำรูปภาพให้กับไฟล์ PDF โดยใช้ขั้นตอนด้านล่าง
- โหลดไฟล์ PDF โดยใช้คลาส Document
- สร้างอินสแตนซ์ของคลาส ImageStamp ด้วยภาพลายน้ำ
- กำหนดตำแหน่งและคุณสมบัติอื่นๆ ของลายน้ำ
- เพิ่มลายน้ำลงในหน้าโดยใช้ Document->getPages()->idxget(1)->AddStamp(System::SharedPtr ตราประทับ) วิธี
- บันทึกไฟล์ PDF โดยใช้เมธอด Document->Save(System::String outputFileName, SaveFormat)
โค้ดตัวอย่างต่อไปนี้สาธิตวิธีเพิ่มลายน้ำรูปภาพในไฟล์ 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 โดยใช้ C++
อาจมีบางสถานการณ์ที่คุณจำเป็นต้องลบลายน้ำออกจากเอกสาร PDF ในตัวอย่างก่อนหน้านี้ เรากำหนดรหัสสำหรับลายน้ำทั้งข้อความและรูปภาพ เราจะใช้รหัสเหล่านี้เพื่อลบลายน้ำออกจากเอกสาร PDF ต่อไปนี้เป็นขั้นตอนในการลบลายน้ำออกจากไฟล์ PDF
- สร้างอินสแตนซ์ของคลาส PdfContentEditor
- โหลดเอกสาร PDF โดยใช้วิธี PdfContentEditor->BindPdf(System::String inputFile)
- ลบลายน้ำโดยใช้เมธอด PdfContentEditor->DeleteStampById(int32t stampId)
- บันทึกไฟล์ PDF โดยใช้เมธอด Document->Save(System::String outputFileName, SaveFormat)
โค้ดตัวอย่างต่อไปนี้แสดงวิธีลบลายน้ำข้อความและรูปภาพออกจากไฟล์ 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 โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี