แยกข้อความโดยใช้อุปกรณ์ข้อความ
บทช่วยสอนนี้จะแนะนำคุณตลอดกระบวนการแยกข้อความจากเอกสาร PDF โดยใช้อุปกรณ์ข้อความใน Aspose.PDF สำหรับ .NET ซอร์สโค้ด C# ที่ให้มาสาธิตขั้นตอนที่จำเป็น
ความต้องการ
ก่อนที่คุณจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีสิ่งต่อไปนี้:
- Visual Studio หรือคอมไพเลอร์ C# อื่น ๆ ที่ติดตั้งบนเครื่องของคุณ
- Aspose.PDF สำหรับไลบรารี .NET คุณสามารถดาวน์โหลดได้จากเว็บไซต์อย่างเป็นทางการของ Aspose หรือใช้ตัวจัดการแพ็คเกจเช่น NuGet เพื่อติดตั้ง
ขั้นตอนที่ 1: ตั้งค่าโครงการ
- สร้างโปรเจ็กต์ C# ใหม่ในสภาพแวดล้อมการพัฒนาที่คุณต้องการ
- เพิ่มการอ้างอิงถึงไลบรารี Aspose.PDF สำหรับ .NET
ขั้นตอนที่ 2: นำเข้าเนมสเปซที่จำเป็น
ในไฟล์โค้ดที่คุณต้องการแยกข้อความ ให้เพิ่มคำสั่งต่อไปนี้ที่ด้านบนของไฟล์:
using Aspose.Pdf;
using Aspose.Pdf.Devices;
using System.IO;
using System.Text;
ขั้นตอนที่ 3: ตั้งค่าไดเร็กทอรีเอกสาร
ในโค้ด ให้ค้นหาบรรทัดที่ระบุว่าstring dataDir = "YOUR DOCUMENT DIRECTORY";
และแทนที่"YOUR DOCUMENT DIRECTORY"
พร้อมเส้นทางไปยังไดเร็กทอรีที่เก็บเอกสารของคุณ
ขั้นตอนที่ 4: เปิดเอกสาร PDF
เปิดเอกสาร PDF ที่มีอยู่โดยใช้ไฟล์Document
Constructor และส่งเส้นทางไปยังไฟล์ PDF อินพุต
Document pdfDocument = new Document(dataDir + "input.pdf");
ขั้นตอนที่ 5: แยกข้อความโดยใช้อุปกรณ์ข้อความ
สร้างกStringBuilder
วัตถุเพื่อเก็บข้อความที่แยกออกมา วนซ้ำแต่ละหน้าของเอกสารและใช้TextDevice
เพื่อแยกข้อความออกจากแต่ละหน้า
StringBuilder builder = new StringBuilder();
string extractedText = "";
foreach(Page pdfPage in pdfDocument.Pages)
{
using (MemoryStream textStream = new MemoryStream())
{
TextDevice textDevice = new TextDevice();
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
textDevice.ExtractionOptions = textExtOptions;
textDevice.Process(pdfPage, textStream);
textStream. Close();
extractedText = Encoding.Unicode.GetString(textStream.ToArray());
}
builder. Append(extractedText);
}
ขั้นตอนที่ 6: บันทึกข้อความที่แยกออกมา
ระบุเส้นทางของไฟล์เอาต์พุตและบันทึกข้อความที่แยกออกมาเป็นไฟล์ข้อความโดยใช้File.WriteAllText
วิธี.
dataDir = dataDir + "input_Text_Extracted_out.txt";
File.WriteAllText(dataDir, builder.ToString());
ตัวอย่างซอร์สโค้ดสำหรับแยกข้อความโดยใช้อุปกรณ์ข้อความโดยใช้ Aspose.PDF สำหรับ .NET
// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENT DIRECTORY";
// เปิดเอกสาร
Document pdfDocument = new Document( dataDir + "input.pdf");
System.Text.StringBuilder builder = new System.Text.StringBuilder();
//สตริงเพื่อเก็บข้อความที่แยกออกมา
string extractedText = "";
foreach (Page pdfPage in pdfDocument.Pages)
{
using (MemoryStream textStream = new MemoryStream())
{
// สร้างอุปกรณ์ข้อความ
TextDevice textDevice = new TextDevice();
// ตั้งค่าตัวเลือกการแยกข้อความ - ตั้งค่าโหมดการแยกข้อความ (ดิบหรือบริสุทธิ์)
TextExtractionOptions textExtOptions = new
TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Pure);
textDevice.ExtractionOptions = textExtOptions;
// แปลงหน้าใดหน้าหนึ่งและบันทึกข้อความลงในสตรีม
textDevice.Process(pdfPage, textStream);
// แปลงหน้าใดหน้าหนึ่งและบันทึกข้อความลงในสตรีม
textDevice.Process(pdfDocument.Pages[1], textStream);
// ปิดสตรีมหน่วยความจำ
textStream.Close();
// รับข้อความจากสตรีมหน่วยความจำ
extractedText = Encoding.Unicode.GetString(textStream.ToArray());
}
builder.Append(extractedText);
}
dataDir = dataDir + "input_Text_Extracted_out.txt";
// บันทึกข้อความที่แยกออกมาในไฟล์ข้อความ
File.WriteAllText(dataDir, builder.ToString());
Console.WriteLine("\nText extracted successfully using text device from page of PDF Document.\nFile saved at " + dataDir);
บทสรุป
คุณได้แยกข้อความจากเอกสาร PDF โดยใช้อุปกรณ์ข้อความใน Aspose.PDF สำหรับ .NET สำเร็จแล้ว ข้อความที่แยกออกมาได้รับการบันทึกลงในไฟล์เอาท์พุตที่ระบุ
คำถามที่พบบ่อย
ถาม: จุดประสงค์ของบทช่วยสอนนี้คืออะไร?
ตอบ: บทช่วยสอนนี้ให้คำแนะนำในการแยกข้อความจากเอกสาร PDF โดยใช้คุณสมบัติอุปกรณ์ข้อความใน Aspose.PDF สำหรับ .NET ซอร์สโค้ด C# ที่แนบมานี้สาธิตขั้นตอนที่จำเป็นเพื่อให้บรรลุภารกิจนี้
ถาม: ฉันควรนำเข้าเนมสเปซใด
ตอบ: ในไฟล์โค้ดที่คุณวางแผนจะแยกข้อความ ให้รวมคำสั่งต่อไปนี้ไว้ที่ตอนต้นของไฟล์:
using Aspose.Pdf;
using Aspose.Pdf.Devices;
using System.IO;
using System.Text;
ถาม: ฉันจะระบุไดเรกทอรีเอกสารได้อย่างไร
ตอบ: ในโค้ด ให้ค้นหาบรรทัดที่ระบุว่าstring dataDir = "YOUR DOCUMENT DIRECTORY";
และแทนที่"YOUR DOCUMENT DIRECTORY"
ด้วยเส้นทางจริงไปยังไดเร็กทอรีเอกสารของคุณ
ถาม: ฉันจะเปิดเอกสาร PDF ที่มีอยู่ได้อย่างไร
ตอบ: ในขั้นตอนที่ 4 คุณจะเปิดเอกสาร PDF ที่มีอยู่โดยใช้ไฟล์Document
ตัวสร้างและจัดเตรียมเส้นทางไปยังไฟล์ PDF อินพุต
ถาม: ฉันจะแยกข้อความโดยใช้อุปกรณ์ข้อความได้อย่างไร
ตอบ: ขั้นตอนที่ 5 เกี่ยวข้องกับการสร้างStringBuilder
วัตถุเพื่อเก็บข้อความที่แยกออกมา จากนั้นคุณจะวนซ้ำแต่ละหน้าของเอกสารและใช้TextDevice
พร้อมด้วยTextExtractionOptions
เพื่อแยกข้อความออกจากแต่ละหน้า
ถาม: ฉันจะบันทึกข้อความที่แยกออกมาเป็นไฟล์ได้อย่างไร
ตอบ: ในขั้นตอนที่ 6 คุณจะต้องระบุเส้นทางของไฟล์เอาต์พุตและใช้ไฟล์File.WriteAllText
วิธีการบันทึกข้อความที่แยกออกมาเป็นไฟล์ข้อความ
ถาม: สิ่งสำคัญที่ได้รับจากบทช่วยสอนนี้คืออะไร
ตอบ: เมื่อทำตามบทช่วยสอนนี้ คุณได้เรียนรู้วิธีใช้ประโยชน์จากคุณสมบัติอุปกรณ์ข้อความใน Aspose.PDF สำหรับ .NET เพื่อแยกข้อความจากเอกสาร PDF ข้อความที่แยกออกมาได้รับการบันทึกลงในไฟล์เอาท์พุตที่ระบุ ทำให้คุณสามารถจัดการและใช้เนื้อหาที่แยกออกมาได้ตามต้องการ