ขีดฆ่าคำ

การแนะนำ

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

ข้อกำหนดเบื้องต้น

ก่อนที่เราจะเริ่มต้นเขียนโค้ด มีข้อกำหนดเบื้องต้นบางประการที่คุณจะต้องปฏิบัติตามเพื่อปฏิบัติตามบทช่วยสอนนี้:

  1. ไลบรารี Aspose.PDF สำหรับ .NET: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้งไลบรารี Aspose.PDF สำหรับ .NET แล้ว คุณสามารถดาวน์โหลดได้ที่นี่.

  2. .NET Framework: ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง .NET Framework ไว้ในเครื่องของคุณแล้ว บทช่วยสอนนี้ได้รับการออกแบบมาสำหรับแอปพลิเคชัน .NET

  3. สภาพแวดล้อมการพัฒนา: คุณจะต้องมี IDE เช่น Visual Studio เพื่อเขียนและรันโค้ดของคุณ

  4. เอกสาร PDF: เตรียมไฟล์ PDF ตัวอย่างที่คุณต้องการใช้งานไว้ นี่คือเอกสารที่เราจะขีดฆ่าข้อความออก

  5. ความรู้พื้นฐานเกี่ยวกับ 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++)ลูปนี้จะวนซ้ำผ่านแต่ละหน้าของเอกสาร PDF
  • document.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. วิธีนี้ช่วยให้ปรับแต่งลักษณะของการขีดฆ่าได้

มีวิธียกเลิกการขีดฆ่าหลังจากบันทึกเอกสารหรือไม่

เมื่อบันทึกเอกสารแล้ว การขีดฆ่าจะมีผลถาวร หากคุณต้องการเก็บข้อความต้นฉบับไว้โดยไม่ขีดฆ่า โปรดพิจารณาบันทึกสำเนาสำรองของเอกสารต้นฉบับก่อนทำการปรับเปลี่ยนใดๆ