อาจมีเหตุผลหลายประการในการแทนที่คำหรือวลีในเอกสาร ไม่ว่าคุณต้องการลบเนื้อหาที่ละเอียดอ่อนก่อนที่จะแชร์เอกสารต่อสาธารณะ หรือคุณต้องการซ่อน/ลบข้อมูลส่วนตัวทั้งหมด เช่น ID อีเมลหรือหมายเลขประกันสังคม คุณจะต้องแก้ไขเนื้อหาของเอกสาร บทความนี้จะแนะนำคุณเกี่ยวกับวิธีแก้ไขเอกสาร Word โดยทางโปรแกรมในแอปพลิเคชัน .NET ของคุณโดยใช้ C# เราจะหารือแยกกันเกี่ยวกับวิธีแก้ไขโดยการซ่อนข้อความ และวิธีค้นหาและแทนที่ข้อความ คำ หรือวลีโดยใช้เทคนิคต่างๆ
หัวข้อต่อไปนี้จะครอบคลุมด้านล่าง:
- .NET API สำหรับการแทนที่ข้อความ
- ค้นหาและแทนที่คำหรือวลี
- การค้นหาตามตัวพิมพ์เล็กและใหญ่และแทนที่คำหรือวลี
- แทนที่ข้อความโดยใช้นิพจน์ทั่วไป (RegEx)
- ซ่อนข้อความด้วยกล่องสี
.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 โปรดไปที่ เอกสารประกอบ หากมีข้อสงสัย โปรดติดต่อเราทาง ฟอรัม