ขีดฆ่าคำ
การแนะนำ
คุณเคยพบว่าตัวเองจำเป็นต้องเน้นข้อความเฉพาะใน PDF โดยการขีดฆ่าหรือไม่ ไม่ว่าคุณจะกำลังตรวจสอบเอกสาร ทำเครื่องหมายข้อความ หรือเพียงแค่ต้องการเน้นข้อความบางส่วน การขีดฆ่าคำอาจเป็นเครื่องมือที่มีประโยชน์ ในบทช่วยสอนนี้ เราจะมาดูวิธีการทำเช่นนั้นโดยใช้ Aspose.PDF สำหรับ .NET คำแนะนำที่ครอบคลุมนี้จะแนะนำคุณในแต่ละขั้นตอน เพื่อให้แน่ใจว่าคุณมีข้อมูลทั้งหมดที่จำเป็นในการใช้ฟีเจอร์นี้ในแอปพลิเคชัน .NET ของคุณอย่างมีประสิทธิภาพ
ข้อกำหนดเบื้องต้น
ก่อนที่เราจะเริ่มต้นเขียนโค้ด มีข้อกำหนดเบื้องต้นบางประการที่คุณจะต้องปฏิบัติตามเพื่อปฏิบัติตามบทช่วยสอนนี้:
ไลบรารี Aspose.PDF สำหรับ .NET: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี Aspose.PDF สำหรับ .NET แล้ว คุณสามารถดาวน์โหลดได้ที่นี่.
.NET Framework: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง .NET Framework ไว้ในเครื่องของคุณแล้ว บทช่วยสอนนี้ได้รับการออกแบบมาสำหรับแอปพลิเคชัน .NET
สภาพแวดล้อมการพัฒนา: คุณจะต้องมี IDE เช่น Visual Studio เพื่อเขียนและรันโค้ดของคุณ
เอกสาร PDF: เตรียมไฟล์ PDF ตัวอย่างที่คุณต้องการใช้งานไว้ นี่คือเอกสารที่เราจะขีดฆ่าข้อความออก
ความรู้พื้นฐานเกี่ยวกับ C#: ความคุ้นเคยกับการเขียนโปรแกรม C# เป็นสิ่งจำเป็นในการทำความเข้าใจและนำขั้นตอนในบทช่วยสอนนี้ไปปฏิบัติ
แพ็คเกจนำเข้า
ก่อนที่เราจะเริ่มเขียนโค้ด เราจะต้องนำเข้าเนมสเปซที่จำเป็นในโปรเจ็กต์ .NET ของเราเสียก่อน ซึ่งจะทำให้เราเข้าถึงคลาสและวิธีการที่จำเป็นในการจัดการไฟล์ PDF โดยใช้ Aspose.PDF ได้
using System;
using System.IO;
using Aspose.Pdf.Annotations;
using Aspose.Pdf;
เนมสเปซเหล่านี้มีความจำเป็นต่อการทำงานกับเอกสาร PDF การจัดการข้อความ และการเพิ่มคำอธิบายประกอบ เช่น การขีดฆ่า
ในส่วนนี้ เราจะแบ่งกระบวนการตัดคำออกจากเอกสาร PDF ออกเป็นขั้นตอนง่าย ๆ ที่จัดการได้ แต่ละขั้นตอนจะมีคำอธิบายโดยละเอียดเพื่อช่วยให้คุณเข้าใจวิธีการทำงานของทุกอย่าง
ขั้นตอนที่ 1: โหลดเอกสาร PDF
ขั้นตอนแรกคือโหลดเอกสาร PDF ที่คุณต้องการแก้ไข เอกสารนี้จะเป็นเอกสารที่คุณจะต้องขีดฆ่าคำหรือวลีบางคำออก
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";
// เปิดเอกสาร PDF
Document document = new Document(dataDir + "input.pdf");
dataDir
:ตัวแปรนี้เก็บเส้นทางไปยังไดเร็กทอรีเอกสารของคุณ แทนที่"YOUR DOCUMENT DIRECTORY"
พร้อมเส้นทางจริงที่ไฟล์ PDF ของคุณตั้งอยู่Document
: เดอะDocument
คลาสนี้แสดงถึงเอกสาร PDF โดยการส่งเส้นทางของไฟล์ไปยังคอนสตรัคเตอร์ เราจะเปิดไฟล์ PDF เพื่อประมวลผล
ขั้นตอนที่ 2: สร้าง TextFragment Absorber เพื่อค้นหาข้อความที่ต้องการ
ต่อไปเราจะสร้างอินสแตนซ์ของTextFragmentAbsorber
เพื่อค้นหาข้อความเฉพาะบางส่วนในเอกสาร PDF วิธีนี้ช่วยให้เราระบุตำแหน่งข้อความที่ต้องการตัดออกได้
// สร้างอินสแตนซ์ TextFragment Absorber เพื่อค้นหาส่วนข้อความเฉพาะ
Aspose.Pdf.Text.TextFragmentAbsorber textFragmentAbsorber = new Aspose.Pdf.Text.TextFragmentAbsorber("Estoque");
TextFragmentAbsorber
:คลาสนี้ใช้เพื่อค้นหาและทำงานกับข้อความบางส่วนในเอกสาร PDF ในตัวอย่างนี้ เราจะค้นหาคำว่า “Estoque” แทนที่ “Estoque” ด้วยคำหรือวลีที่คุณต้องการค้นหาในเอกสารของคุณ
ขั้นตอนที่ 3: ทำซ้ำผ่านหน้าต่างๆ ของเอกสาร PDF
ตอนนี้เราก็มีของเราแล้วTextFragmentAbsorber
เราจำเป็นต้องวนซ้ำผ่านแต่ละหน้าของเอกสาร PDF เพื่อค้นหาข้อความที่ระบุ
// ทำซ้ำผ่านหน้าต่างๆ ของเอกสาร PDF
for (int i = 1; i <= document.Pages.Count; i++)
{
// รับหน้าปัจจุบันของเอกสาร PDF
Page page = document.Pages[i];
page.Accept(textFragmentAbsorber);
}
for (int i = 1; i <= document.Pages.Count; i++)
ลูปนี้จะวนซ้ำผ่านแต่ละหน้าของเอกสาร PDFdocument.Pages[i]
: ดึงหน้าปัจจุบันที่กำลังถูกประมวลผลpage.Accept(textFragmentAbsorber)
: วิธีนี้ใช้TextFragmentAbsorber
ไปที่หน้าปัจจุบันเพื่อค้นหาข้อความที่ระบุ
ขั้นตอนที่ 4: รวบรวมและประมวลผลชิ้นส่วนข้อความ
หลังจากดำเนินการซ้ำผ่านหน้าต่างๆ แล้ว เราจะรวบรวมชิ้นส่วนข้อความที่พบและเตรียมพร้อมสำหรับการประมวลผลเพิ่มเติม
// สร้างคอลเลกชันของชิ้นส่วนข้อความที่ดูดซับ
Aspose.Pdf.Text.TextFragmentCollection textFragmentCollection = textFragmentAbsorber.TextFragments;
TextFragmentCollection
:คอลเลกชันนี้จะจัดเก็บข้อความทั้งหมดที่พบในเอกสาร เราจะใช้คอลเลกชันนี้ในขั้นตอนถัดไปเพื่อขีดฆ่าข้อความ
ขั้นตอนที่ 5: ทำซ้ำผ่านชิ้นส่วนข้อความและขีดฆ่าออก
ในขั้นตอนนี้ เราจะวนซ้ำผ่านแต่ละส่วนของข้อความในคอลเล็กชั่นของเรา และใส่คำอธิบายการขีดฆ่าให้กับส่วนเหล่านั้น
// ทำซ้ำผ่านคอลเลกชันของชิ้นส่วนข้อความ
for (int j = 1; j <= textFragmentCollection.Count; j++)
{
Aspose.Pdf.Text.TextFragment textFragment = textFragmentCollection[j];
// รับมิติสี่เหลี่ยมของวัตถุ TextFragment
Aspose.Pdf.Rectangle rect = new Aspose.Pdf.Rectangle(
(float)textFragment.Position.XIndent,
(float)textFragment.Position.YIndent,
(float)textFragment.Position.XIndent + (float)textFragment.Rectangle.Width,
(float)textFragment.Position.YIndent + (float)textFragment.Rectangle.Height);
// สร้างอินสแตนซ์ StrikeOut Annotation
StrikeOutAnnotation strikeOut = new StrikeOutAnnotation(textFragment.Page, rect);
// ตั้งค่าคุณสมบัติของคำอธิบายการขีดฆ่า
strikeOut.Opacity = .80f;
strikeOut.Border = new Border(strikeOut);
strikeOut.Color = Aspose.Pdf.Color.Red;
// เพิ่มคำอธิบายประกอบลงในคอลเล็กชันคำอธิบายประกอบของหน้าส่วนของข้อความ
textFragment.Page.Annotations.Add(strikeOut);
}
TextFragment textFragment = textFragmentCollection[j]
:บรรทัดนี้จะดึงส่วนข้อความปัจจุบันAspose.Pdf.Rectangle
:เราคำนวณขนาดสี่เหลี่ยมของชิ้นส่วนข้อความเพื่อกำหนดว่าจะใช้การขีดฆ่าที่ใดStrikeOutAnnotation
:คลาสนี้แสดงคำอธิบายการขีดฆ่า เราสร้างอินสแตนซ์ด้วยสี่เหลี่ยมที่คำนวณแล้วและหน้าปัจจุบันstrikeOut.Opacity
:คุณสมบัตินี้จะตั้งค่าความทึบของการขีดฆ่า ทำให้มองเห็นได้ 80%strikeOut.Color
เรากำหนดสีของเครื่องหมายขีดฆ่าเป็นสีแดง คุณสามารถเปลี่ยนเป็นสีอื่นได้ตามต้องการtextFragment.Page.Annotations.Add(strikeOut)
:นี่จะเพิ่มคำอธิบายการขีดฆ่าลงในหน้า
ขั้นตอนที่ 6: บันทึกเอกสาร PDF ที่แก้ไขแล้ว
ขั้นตอนสุดท้ายคือบันทึกเอกสาร PDF ที่แก้ไขแล้วโดยนำการขีดฆ่าไปใช้
// บันทึกเอกสาร PDF ที่ได้รับการอัพเดต
dataDir = dataDir + "StrikeOutWords_out.pdf";
document.Save(dataDir);
dataDir + "StrikeOutWords_out.pdf"
: การดำเนินการนี้จะสร้างชื่อไฟล์ใหม่สำหรับเอกสารที่แก้ไข ไฟล์ต้นฉบับจะยังคงไม่เปลี่ยนแปลงdocument.Save(dataDir)
:บันทึกเอกสาร PDF พร้อมขีดฆ่าไปยังตำแหน่งที่ระบุ
บทสรุป
ขอแสดงความยินดี! คุณได้ขีดฆ่าคำบางคำในเอกสาร PDF สำเร็จแล้วโดยใช้ Aspose.PDF สำหรับ .NET เมื่อปฏิบัติตามคำแนะนำทีละขั้นตอนนี้ คุณจะปรับแต่งเอกสาร PDF ได้โดยเน้นข้อความหรือขีดฆ่าข้อความ ทำให้เอกสารมีความคล่องตัวและเหมาะกับความต้องการของคุณมากขึ้น ไม่ว่าคุณจะกำลังใส่คำอธิบายประกอบเอกสารทางกฎหมาย เตรียมรายงาน หรือเพียงแค่ทำเครื่องหมายข้อความเพื่อตรวจทาน บทช่วยสอนนี้จะช่วยให้คุณมีทักษะในการดำเนินการดังกล่าวอย่างมีประสิทธิภาพ
คำถามที่พบบ่อย
ฉันสามารถเปลี่ยนสีของการขีดฆ่าได้หรือไม่?
ใช่ คุณสามารถเปลี่ยนสีได้โดยการแก้ไขstrikeOut.Color
คุณสมบัติ เช่น คุณสามารถตั้งค่าเป็นAspose.Pdf.Color.Blue
สำหรับการสไตรค์เอาท์สีน้ำเงิน
สามารถตัดคำหลายคำออกในคราวเดียวได้ไหม?
แน่นอน!TextFragmentAbsorber
สามารถใช้ค้นหาคำหรือวลีใดๆ ในเอกสารได้ คุณสามารถใช้การขีดฆ่ากับอินสแตนซ์ต่างๆ ได้โดยการวนซ้ำผ่านTextFragmentCollection
.
หากฉันต้องการขีดฆ่าข้อความเฉพาะในบางหน้าจะทำอย่างไร?
คุณสามารถปรับเปลี่ยนลูปที่วนซ้ำในแต่ละหน้าเพื่อรวมเฉพาะหน้าที่คุณต้องการปรับเปลี่ยนได้ ตัวอย่างเช่นfor (int i = 1; i <= 3; i++)
จะใช้การขีดฆ่าเฉพาะสามหน้าแรกเท่านั้น
ฉันจะปรับความหนาของเส้นขีดฆ่าได้อย่างไร
คุณสามารถปรับความหนาของเส้นขีดทับได้โดยการแก้ไขBorder
ทรัพย์สินของStrikeOutAnnotation
. วิธีนี้ช่วยให้ปรับแต่งลักษณะของการขีดฆ่าได้
มีวิธียกเลิกการขีดฆ่าหลังจากบันทึกเอกสารหรือไม่
เมื่อบันทึกเอกสารแล้ว การขีดฆ่าจะมีผลถาวร หากคุณต้องการเก็บข้อความต้นฉบับไว้โดยไม่ขีดฆ่า โปรดพิจารณาบันทึกสำเนาสำรองของเอกสารต้นฉบับก่อนทำการปรับเปลี่ยนใดๆ