อาจมีเหตุผลหลายประการในการแทนที่คำหรือวลีในเอกสาร ไม่ว่าคุณต้องการลบเนื้อหาที่ละเอียดอ่อนก่อนที่จะแชร์เอกสารต่อสาธารณะ หรือคุณต้องการซ่อน/ลบข้อมูลส่วนตัวทั้งหมด เช่น ID อีเมลหรือหมายเลขประกันสังคม คุณจะต้องแก้ไขเนื้อหาของเอกสาร บทความนี้จะแนะนำคุณเกี่ยวกับวิธีแก้ไขเอกสาร Word โดยทางโปรแกรมในแอปพลิเคชัน .NET ของคุณโดยใช้ C# เราจะหารือแยกกันเกี่ยวกับวิธีแก้ไขโดยการซ่อนข้อความ และวิธีค้นหาและแทนที่ข้อความ คำ หรือวลีโดยใช้เทคนิคต่างๆ

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

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

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

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

PM> Install-Package GroupDocs.Redaction

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

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

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

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

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

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

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

การค้นหาและแทนที่ตามตัวพิมพ์เล็กและใหญ่ในไฟล์ Word โดยใช้ C#

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

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

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

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

หากต้องการค้นหาและแทนที่รูปแบบข้อความในไฟล์ Word (DOC, DOCX) คุณสามารถใช้นิพจน์ทั่วไปได้ ขั้นตอนต่อไปนี้ช่วยให้คุณสามารถแก้ไขเอกสาร Word ด้วย RegEx โดยใช้ C#

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

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

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

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

ซ่อนข้อความที่เป็นความลับในเอกสาร Word ด้วย Colored Box โดยใช้ C#

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

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

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

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

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

บทสรุป

โดยสรุป คุณได้เรียนรู้วิธีค้นหาข้อความในไฟล์ Word (DOC, DOCX) โดยใช้เทคนิคต่างๆ และแทนที่สิ่งที่ค้นพบด้วยวิธีต่างๆ แม่นยำยิ่งขึ้น เราได้พูดถึงวิธีค้นหาข้อความ คำ หรือวลี แม้ว่าจะเป็นการค้นหาที่คำนึงถึงตัวพิมพ์เล็กหรือใหญ่หรือใช้นิพจน์ทั่วไปใน C# ต่อมาเราได้แทนที่ผลการค้นหาด้วยข้อความอื่นหรือโดยวางกล่องสี่เหลี่ยมสีไว้เหนือข้อความที่ค้นหา

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

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