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

หัวข้อต่อไปนี้จะครอบคลุมด้านล่าง:

.NET Redaction API สำหรับการแทนที่ข้อความ

GroupDocs แสดง GroupDocs.Redaction for .NET ซึ่งเป็น API สำหรับตรวจทาน ซ่อน หรือลบเนื้อหาและแม้แต่ข้อมูลเมตาของเอกสาร งานนำเสนอ สเปรดชีต ไฟล์ PDF และรูปภาพภายในแอปพลิเคชัน .NET สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ API โปรดไปที่เอกสารประกอบ

คุณสามารถดาวน์โหลดโปรแกรมติดตั้ง DLLs หรือ MSI ได้จาก ส่วนการดาวน์โหลด หรือติดตั้ง API ในแอปพลิเคชัน .NET ของคุณผ่าน [NuGet](https://www.nuget.org /packages/groupdocs.redaction).

PM> Install-Package GroupDocs.Redaction

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

ค้นหาและแทนที่คำหรือวลีใน PDF โดยใช้ C#

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

  • โหลดไฟล์ PDF โดยใช้คลาส Redactor
  • ค้นหาวลีหรือคำที่ตรงทั้งหมดโดยใช้ redaction/net/groupdocs.redaction.redactions/replacementoptions)
  • ใช้การแก้ไขโดยใช้เมธอด Apply()
  • บันทึกเอกสารใหม่ที่มีการเปลี่ยนแปลงโดยใช้เมธอด Save()

รหัสต่อไปนี้ค้นหาและแทนที่คำใน C# แม่นยำยิ่งขึ้น มันซ่อนเหตุการณ์ทั้งหมดของ “John Doe” โดยแทนที่ด้วยคำว่า “[censored]”

// ค้นหาวลีที่ตรงกันและแทนที่ด้วยข้อความอื่นโดยใช้ C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

ผลลัพธ์ของโค้ดจะเป็นดังนี้

ค้นหาและแทนที่ข้อความหรือวลีที่ตรงตามตัวพิมพ์เล็กและใหญ่ใน PDF โดยใช้ C#

คุณสามารถค้นหาและแก้ไขตามตัวพิมพ์เล็กและใหญ่ได้ รหัสต่อไปนี้แทนที่การมีอยู่ของคำว่า “John Doe” แต่ไม่ใช่ “john doe” ใน C#

// ค้นหาวลีที่ตรงทั้งหมด (คำนึงถึงตัวพิมพ์เล็กและใหญ่) และแทนที่ด้วยข้อความอื่นโดยใช้ C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", true /*isCaseSensitive*/, new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

ผลลัพธ์ของโค้ดจะเป็นดังนี้

แทนที่ข้อความใน PDF ด้วย Regular Expressions (RegEx) โดยใช้ C#

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

  • โหลดเอกสาร PDF โดยใช้คลาส Redactor
  • ค้นหาการจับคู่ regex โดยใช้คลาส RegexRedaction ที่มี [ReplacementOptions](https://apireference.groupdocs.com/redaction/ net/groupdocs.redaction.redactions/replacementoptions)
  • ใส่การเปลี่ยนแปลงในเอกสารโดยใช้เมธอด Apply()
  • บันทึกเอกสารที่แก้ไขโดยใช้เมธอด Save() ที่เหมาะสม

โค้ดต่อไปนี้แสดงวิธีค้นหารูปแบบข้อความในเอกสาร PDF โดยใช้ RegEx และแทนที่/ซ่อนด้วยข้อความอื่นในภายหลังโดยใช้ C#

// ค้นหาข้อความโดยใช้นิพจน์ทั่วไปและแทนที่ด้วยข้อความอื่นโดยใช้ C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new RegexRedaction("\\d{2}\\s*\\d{2}[^\\d]*\\d{6}", new ReplacementOptions("[censored]")));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

ผลลัพธ์ของโค้ดด้านบนเป็นดังนี้

แทนที่ข้อความด้วยกล่องสีใน C#

หากคุณต้องการซ่อนเนื้อหาที่ค้นหา (ข้อมูลส่วนตัว) ของไฟล์ PDF ของคุณ คุณเพียงแค่ใส่หน้าปกลงไป API อนุญาตให้คุณซ่อนข้อความที่ค้นหา รหัส C# ต่อไปนี้วางสี่เหลี่ยมผืนผ้าสีดำเหนือข้อความส่วนตัวที่กล่าวถึง

// ค้นหาข้อความใน PDF และซ่อนโดยวาดสี่เหลี่ยมทับโดยใช้ C#
using (Redactor redactor = new Redactor(@"path/document.pdf"))
{
  redactor.Apply(new ExactPhraseRedaction("John Doe", new ReplacementOptions(System.Drawing.Color.Black)));
  redactor.Save(new SaveOptions() { AddSuffix = true, RasterizeToPDF = false });
}

ผลลัพธ์ของโค้ดด้านบนเป็นดังนี้

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

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

บทสรุป

โดยสรุป เราได้เรียนรู้วิธีค้นหาข้อความในไฟล์ PDF โดยใช้เทคนิคการค้นหาต่างๆ ภายหลังเราได้กล่าวถึงวิธีแก้ไขไฟล์ PDF โดยการแทนที่หรือซ่อนข้อความภายในแอปพลิเคชัน .NET โดยใช้ C# แม่นยำยิ่งขึ้น เราเพียงแค่ค้นหาคำ วลี ค้นหาด้วยตัวพิมพ์เล็กและใหญ่ และใช้นิพจน์ทั่วไปใน C# สุดท้าย เราแทนที่ผลการค้นหาด้วยข้อความอื่นหรือซ่อนด้วยกล่องสี่เหลี่ยมผืนผ้า

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับ API โปรดไปที่เอกสารประกอบ หากมีข้อสงสัย โปรดติดต่อเราทาง ฟอรัม

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