ค้นหาข้อความและวาดรูปสี่เหลี่ยมผืนผ้า
การแนะนำ
คุณกำลังมองหาวิธีเพิ่มพูนทักษะการจัดการ PDF ของคุณหรือไม่ คุณต้องการเรียนรู้วิธีค้นหาข้อความเฉพาะในไฟล์ PDF และเน้นข้อความด้วยสี่เหลี่ยมผืนผ้าหรือไม่ คุณมาถูกที่แล้ว! วันนี้ ฉันจะแนะนำวิธีใช้ Aspose.PDF สำหรับ .NET เพื่อค้นหาข้อความในเอกสาร PDF และวาดสี่เหลี่ยมผืนผ้ารอบๆ ข้อความ บทความนี้จะให้คำแนะนำทีละขั้นตอนที่ออกแบบมาอย่างชัดเจนและมีประโยชน์ ช่วยให้คุณทำตามได้และนำเทคนิคเหล่านี้ไปใช้กับโครงการของคุณได้
ข้อกำหนดเบื้องต้น
ก่อนที่จะเริ่มลงลึกในบทช่วยสอน เรามาเตรียมสิ่งที่คุณต้องการเพื่อให้แน่ใจว่าเวิร์กโฟลว์จะราบรื่นกันก่อน:
ความเข้าใจพื้นฐานเกี่ยวกับ .NET: คุณควรมีความคุ้นเคยกับการเขียนโปรแกรม C# และกรอบงาน .NET จึงจะปฏิบัติตามบทช่วยสอนนี้ได้อย่างมีประสิทธิภาพ
ติดตั้ง Visual Studio แล้ว: คุณจะต้องมีสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) เพื่อเขียนและทดสอบโค้ดของคุณ Visual Studio Community เป็นตัวเลือกที่ยอดเยี่ยม และยังฟรีอีกด้วย
Aspose.PDF สำหรับ .NET: คุณต้องติดตั้งไลบรารี Aspose.PDF ไว้ในโปรเจ็กต์ของคุณ คุณสามารถดาวน์โหลดได้ที่นี่ หรือพิจารณาใบอนุญาตชั่วคราว สำหรับคุณสมบัติเพิ่มเติม
ตัวอย่างเอกสาร PDF: สำหรับบทช่วยสอนนี้ คุณจะต้องมีไฟล์ PDF ตัวอย่างชื่อ
SearchAndGetTextFromAll.pdf
เก็บไว้ในไดเร็กทอรีโครงการของคุณ
แพ็คเกจนำเข้า
ในการเริ่มต้น คุณต้องนำเข้าแพ็คเกจที่จำเป็นลงในโปรเจ็กต์ .NET ก่อน ทำตามขั้นตอนเหล่านี้:
เปิด Visual Studio
เปิดใช้งาน Visual Studio และสร้างแอปพลิเคชันคอนโซลใหม่ หรือใช้แอปพลิเคชันที่มีอยู่แล้วซึ่งคุณต้องการนำฟังก์ชัน PDF มาใช้
เพิ่ม Aspose.PDF ลงในโครงการของคุณ
- คลิกขวาที่โครงการของคุณใน Solution Explorer
- เลือก “จัดการแพ็คเกจ NuGet”
- ค้นหา
Aspose.PDF
และติดตั้งเวอร์ชั่นล่าสุด
การทำเช่นนี้ คุณกำลังวางรากฐานสำหรับการจัดการ PDF อันน่าทึ่งทั้งหมดที่คุณกำลังจะดำเนินการ
นำเข้าเนมสเปซ
ที่ด้านบนของไฟล์โปรแกรมของคุณ คุณจะต้องการนำเข้าเนมสเปซที่เกี่ยวข้องจากไลบรารี Aspose:
using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
using Aspose.Pdf.Facades;
ทำให้การเข้าถึงคลาสและวิธีการภายในไลบรารี Aspose.PDF สำหรับงานของคุณง่ายยิ่งขึ้น
ตอนนี้คุณได้ตั้งค่าทุกอย่างเรียบร้อยแล้ว มาแบ่งกระบวนการค้นหาข้อความใน PDF และวาดรูปสี่เหลี่ยมผืนผ้ารอบๆ ข้อความเป็นขั้นตอนที่จัดการได้
ขั้นตอนที่ 1: กำหนดเส้นทางสำหรับเอกสารของคุณ
ขั้นแรก ให้ตั้งค่าเส้นทางไปยังไฟล์ PDF ของคุณ อย่าลืมแทนที่YOUR DOCUMENT DIRECTORY
ด้วยเส้นทางจริงที่คุณSearchAndGetTextFromAll.pdf
ได้ถูกเก็บไว้
string dataDir = "YOUR DOCUMENT DIRECTORY";
ขั้นตอนที่ 2: เปิดเอกสาร PDF
ถัดไป ให้สร้างอินสแตนซ์ของDocument
ชั้นเรียนที่จะโหลด PDF ของคุณ:
Document document = new Document(dataDir + "SearchAndGetTextFromAll.pdf");
บรรทัดโค้ดนี้จะเปิดไฟล์ PDF ที่คุณระบุ ทำให้คุณสามารถจัดการเพิ่มเติมได้
ขั้นตอนที่ 3: สร้าง Text Absorber
ตอนนี้ คุณจะต้องมีวิธีค้นหาข้อความภายในเอกสารนั้น สำหรับสิ่งนี้ เราใช้TextFragmentAbsorber
-
TextFragmentAbsorber textAbsorber = new TextFragmentAbsorber(@"[\S]+");
นิพจน์ปกติ@"[\S]+"
ได้รับการออกแบบเพื่อให้ตรงกับสตริงที่ไม่ใช่ช่องว่างใน PDF
ขั้นตอนที่ 4: กำหนดค่าตัวเลือกการค้นหาข้อความ
ต่อไปคุณควรตั้งค่าตัวเลือกการค้นหาข้อความ:
TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textAbsorber.TextSearchOptions = textSearchOptions;
ที่นี่true
พารามิเตอร์หมายถึงการค้นหาจะคำนึงถึงตัวพิมพ์เล็ก/ใหญ่ คุณสามารถตั้งค่าได้false
หากคุณต้องการการค้นหาโดยไม่คำนึงถึงตัวพิมพ์เล็ก/ใหญ่
ขั้นตอนที่ 5: ยอมรับ Text Absorber ในเอกสาร
กับคุณTextFragmentAbsorber
และเมื่อตัวเลือกการค้นหาพร้อมแล้ว ก็ได้เวลาอ่านข้อความจากเอกสาร:
document.Pages.Accept(textAbsorber);
วิธีนี้จะตรวจสอบแต่ละหน้าใน PDF ของคุณเพื่อค้นหาชิ้นส่วนข้อความที่ตรงกับรูปแบบที่ระบุ
ขั้นตอนที่ 6: สร้าง PdfContentEditor
ในการวาดรูปทรงบนเอกสาร คุณจะต้องมีPdfContentEditor
-
var editor = new PdfContentEditor(document);
โปรแกรมแก้ไขนี้ช่วยให้คุณสามารถจัดการและแก้ไขเนื้อหา PDF ได้อย่างง่ายดาย
ขั้นตอนที่ 7: วนซ้ำผ่านชิ้นส่วนข้อความที่พบ
ตอนนี้ คุณจะต้องการวนซ้ำผ่านชิ้นส่วนข้อความที่พบเพื่อวาดรูปสี่เหลี่ยมผืนผ้ารอบๆ ชิ้นส่วนเหล่านั้น:
foreach (TextFragment textFragment in textAbsorber.TextFragments)
{
foreach (TextSegment textSegment in textFragment.Segments)
{
DrawBox(editor, textFragment.Page.Number, textSegment, System.Drawing.Color.Red);
}
}
ลูปนี้จะวนซ้ำผ่านแต่ละส่วนของข้อความและส่วนต่างๆ ของข้อความ โดยเรียกDrawBox
วิธีการวาดรูปสี่เหลี่ยม
ขั้นตอนที่ 8: กำหนดวิธี DrawBox
คุณจะต้องกำหนดDrawBox
วิธีการที่จะจัดการกับตรรกะการวาดรูปสี่เหลี่ยมผืนผ้า นี่คือการใช้งานที่เรียบง่าย:
private static void DrawBox(PdfContentEditor editor, int pageNumber, TextSegment textSegment, System.Drawing.Color color)
{
// คำนวณขนาดสี่เหลี่ยมผืนผ้าตามส่วนของข้อความ
float x = textSegment.Rectangle.LLX;
float y = textSegment.Rectangle.LLY;
float width = textSegment.Rectangle.Width;
float height = textSegment.Rectangle.Height;
// วาดรูปสี่เหลี่ยมผืนผ้าโดยใช้ค่าที่คำนวณได้
editor.DrawRectangle(pageNumber, x, y, width, height, color, 1);
}
วิธีการนี้จะกำหนดตำแหน่งและขนาดของสี่เหลี่ยมผืนผ้าโดยอิงตามสี่เหลี่ยมผืนผ้าที่เป็นขอบเขตของส่วน และใช้ตัวแก้ไขในการวาด
ขั้นตอนที่ 9: บันทึกเอกสารที่แก้ไข
หลังจากวาดรูปสี่เหลี่ยมผืนผ้ารอบข้อความที่พบแล้ว คุณสามารถบันทึกเอกสารที่แก้ไขได้:
dataDir = dataDir + "SearchTextAndDrawRectangle_out.pdf";
document.Save(dataDir);
ตรวจสอบให้แน่ใจว่าคุณบันทึกไฟล์ใหม่ด้วยชื่อที่ชัดเจนเพื่อหลีกเลี่ยงการเขียนทับเอกสารต้นฉบับของคุณ
ขั้นตอนที่ 10: ข้อความยืนยัน
สุดท้าย ให้พิมพ์ข้อความยืนยันไปยังคอนโซลเพื่อแจ้งให้คุณทราบว่าการดำเนินการสำเร็จแล้ว:
Console.WriteLine("\nRectangle drawn successfully on searched text.\nFile saved at " + dataDir);
และแล้วคุณก็ทำได้สำเร็จ! คุณได้สร้างสคริปต์เพื่อค้นหาข้อความใน PDF และเน้นข้อความด้วยสี่เหลี่ยมสำเร็จแล้ว
บทสรุป
ขอแสดงความยินดี! คุณเพิ่งปลดล็อคทักษะอันทรงพลังที่สามารถเพิ่มความสามารถในการจัดการ PDF ของคุณได้อย่างมากโดยใช้ Aspose.PDF สำหรับ .NET ด้วยขั้นตอนง่ายๆ เพียงไม่กี่ขั้นตอน คุณสามารถค้นหาข้อความใดๆ ในเอกสารของคุณและเน้นข้อความนั้นด้วยภาพ ทำให้เอกสาร PDF ของคุณโต้ตอบและจัดการได้ง่ายขึ้น อย่าลังเลที่จะทดลองใช้รูปแบบ regex และตัวเลือกสีต่างๆ เพื่อทำให้เครื่องมือนี้เป็นของคุณเองอย่างแท้จริง!
คำถามที่พบบ่อย
Aspose.PDF สำหรับ .NET คืออะไร?
Aspose.PDF สำหรับ .NET เป็นไลบรารีที่ให้วิธีการที่ครอบคลุมในการสร้าง จัดการ และแปลงเอกสาร PDF ด้วยโปรแกรม
ฉันสามารถใช้ Aspose.PDF ได้ฟรีหรือไม่?
ใช่ Aspose เสนอบริการทดลองใช้งานฟรีที่คุณสามารถใช้ทดสอบฟังก์ชันการทำงานของไลบรารีได้ ลองดูสิที่นี่.
ฉันต้องใช้ภาษาการเขียนโปรแกรมอะไรกับ Aspose.PDF สำหรับ .NET?
Aspose.PDF สำหรับ .NET ได้รับการออกแบบให้ใช้กับ C# และภาษา .NET อื่นๆ
ฉันจะได้รับความช่วยเหลือเกี่ยวกับ Aspose.PDF ได้อย่างไร
คุณสามารถเยี่ยมชมฟอรัมสนับสนุน Aspose เพื่อขอความช่วยเหลือเกี่ยวกับปัญหาหรือข้อสงสัยใดๆ ที่คุณอาจมี ค้นหาการสนับสนุนที่นี่.
ฉันจะดาวน์โหลด Aspose.PDF สำหรับ .NET ได้ที่ไหน
คุณสามารถดาวน์โหลดไลบรารีได้จากเว็บไซต์ Asposeที่นี่.