
การดึงตารางจากไฟล์ PDF อาจเป็นงานทั่วไปเมื่อต้องจัดการกับการดึงหรือวิเคราะห์ข้อมูล ไม่ว่าคุณจะพยายามดึงตารางสำหรับการประมวลผลหรือส่งออกเพื่อใช้ในภายหลัง การทำให้กระบวนการนี้เป็นอัตโนมัติจะช่วยประหยัดเวลาและความพยายามได้ ในโพสต์บล็อกนี้ เราจะแสดงวิธีดึงตารางจาก PDF ใน C# หรือส่งออกข้อมูลที่ดึงออกมาเป็นไฟล์ CSV
เราจะครอบคลุมส่วนต่อไปนี้ในบทความนี้:
- เหตุใดจึงต้องแยกตารางจาก PDF?
- การแยกตาราง PDF - การกำหนดค่า API ของ C#
- แยกตารางจาก PDF ใน C#
- แปลงข้อมูลตารางจาก PDF เป็น CSV ใน C#
เหตุใดจึงต้องแยกตารางจาก PDF?
ไฟล์ PDF ถูกใช้กันอย่างแพร่หลายในการแบ่งปันข้อมูลในรูปแบบพกพา อย่างไรก็ตาม การแยกข้อมูลที่มีโครงสร้าง เช่น ตาราง อาจเป็นเรื่องท้าทาย เนื่องจากไฟล์ PDF ไม่ได้รับการออกแบบมาให้แก้ไขหรือจัดการได้ง่าย คุณสามารถทำให้ข้อมูลเข้าถึงได้ง่ายขึ้นด้วยการแยกข้อมูลตารางด้วยโปรแกรมใน C# ช่วยให้คุณสามารถวิเคราะห์ แก้ไข หรือจัดเก็บข้อมูลในรูปแบบต่างๆ เช่น CSV ซึ่งใช้กันอย่างแพร่หลายในการแลกเปลี่ยนข้อมูลระหว่างแอปพลิเคชันต่างๆ
การแยกตาราง PDF - การกำหนดค่า API ของ C#
คุณสามารถดึงข้อมูลจากตาราง PDF ได้โดยกำหนดค่า Conholdate.Total สำหรับ .NET ด้วยคำสั่งติดตั้ง NuGet ด้านล่าง:
PM> NuGet\Install-Package Conholdate.Total
แยกตารางจาก PDF ใน C#
ในส่วนนี้เราจะแนะนำการแยกตารางจากเอกสาร PDF โดยใช้ C#
- การโหลดเอกสาร PDF: โค้ดเริ่มต้นด้วยการโหลดไฟล์ PDF ลงในอ็อบเจ็กต์คลาสเอกสาร
- Table Absorber: คลาส TableAbsorber ใช้ในการตรวจจับและดูดซับตารางในแต่ละหน้าของ PDF
- การแยกข้อมูลตาราง: โค้ดจะวนซ้ำผ่านแต่ละตารางที่พบ โดยแยกเนื้อหาของแต่ละเซลล์ในตาราง และพิมพ์ออกมาในรูปแบบที่มีโครงสร้าง
วิธีการนี้เป็นวิธีที่มีประสิทธิภาพในการเข้าถึงข้อมูลแบบตารางจากเอกสาร PDF ช่วยให้คุณสามารถทำงานกับข้อมูลดังกล่าวผ่านโปรแกรมได้ โค้ดตัวอย่างด้านล่างนี้สาธิตการแยกตารางใน C#:
// โหลดแหล่งที่มาของเอกสาร PDF
var filePath = "input.pdf";
Aspose.Pdf.Document pdfDocument = new Aspose.Pdf.Document(filePath);
foreach (var page in pdfDocument.Pages)
{
Aspose.Pdf.Text.TableAbsorber absorber = new Aspose.Pdf.Text.TableAbsorber();
absorber.Visit(page);
foreach (AbsorbedTable table in absorber.TableList)
{
Console.WriteLine("Table");
foreach (AbsorbedRow row in table.RowList)
{
foreach (AbsorbedCell cell in row.CellList)
{
foreach (TextFragment fragment in cell.TextFragments)
{
var sb = new StringBuilder();
foreach (TextSegment seg in fragment.Segments)
sb.Append(seg.Text);
Console.Write("{sb.ToString()}|");
}
}
Console.WriteLine();
}
}
}
แปลงข้อมูลตาราง PDF เป็น CSV ใน C#
เมื่อคุณแยกข้อมูลตารางจาก PDF แล้ว คุณอาจต้องการบันทึกข้อมูลในรูปแบบที่เข้าถึงได้ง่ายกว่า เช่น CSV CSV (Comma Separated Values) ได้รับการรองรับอย่างกว้างขวางโดยแอปพลิเคชันต่างๆ เช่น Microsoft Excel, Google Sheets และระบบประมวลผลข้อมูลอื่นๆ ในส่วนนี้ เราจะแปลงข้อมูลตาราง PDF เป็น CSV ใน C#:
ขั้นตอนต่อไปนี้แสดงวิธีการส่งออกข้อมูลจากตาราง PDF ไปยังรูปแบบ CSV ใน C#:
- การโหลดเอกสาร PDF: เอกสาร PDF จะถูกโหลดลงในวัตถุเอกสารเหมือนเดิม
- ExcelSaveOptions: อินสแตนซ์ของ ExcelSaveOptions จะถูกสร้างขึ้นโดยใช้รูปแบบ CSV วิธีนี้จะช่วยให้มั่นใจว่าข้อมูลตารางจาก PDF จะถูกส่งออกเป็นไฟล์ CSV โดยตรง
- การบันทึกไฟล์ CSV: เรียกใช้วิธีการบันทึกเพื่อส่งออกข้อมูลตาราง PDF ไปยังไฟล์ .csv
ตัวอย่างโค้ดด้านล่างนี้แสดงวิธีการแปลงตาราง PDF เป็นรูปแบบ CSV ใน C#:
// โหลดเอกสาร PDF
Document pdfDocument = new Document("input.pdf");
// สร้างอินสแตนซ์ของวัตถุตัวเลือก ExcelSave
ExcelSaveOptions excelSave = new ExcelSaveOptions { Format = ExcelSaveOptions.ExcelFormat.CSV };
// บันทึกผลลัพธ์ในรูปแบบ XLS
pdfDocument.Save("PDFToXLS_out.xlsx", excelSave);
รับใบอนุญาตฟรี
คุณสามารถรับ ใบอนุญาตชั่วคราวฟรี เพื่อทดสอบฟีเจอร์ต่างๆ ของ API ได้โดยไม่มีข้อจำกัดในการประเมินใดๆ
สรุป
การแยกตารางจาก PDF และส่งออกข้อมูลเป็นรูปแบบ CSV ใน C# สามารถทำได้ง่ายและมีประสิทธิภาพใน C# ความสามารถในการแยกตารางอัตโนมัติช่วยในสถานการณ์ที่คุณต้องวิเคราะห์หรือแชร์ข้อมูลแบบตารางจาก PDF ในรูปแบบที่ยืดหยุ่นกว่า เช่น CSV ด้วยการทำตามขั้นตอนในโพสต์บล็อกนี้ คุณสามารถดึงและจัดเก็บข้อมูลตารางจากไฟล์ PDF ได้อย่างง่ายดาย กระบวนการนี้มีประโยชน์อย่างยิ่งในการวิเคราะห์ข้อมูล การรายงาน หรือการทำงานใดๆ ที่ต้องใช้ข้อมูลที่มีโครงสร้างจากเอกสาร PDF ที่ไม่ยืดหยุ่น หากมีคำถามใดๆ โปรดติดต่อเราที่ ฟอรัม