API ฟรี C# .NET สำหรับการสกัดข้อความ PDF และการวิเคราะห์
ไลบรารี .NET แบบโอเพนซอร์สชั้นนำสำหรับการสกัดข้อความ, รูปภาพ, เมตาดาต้า, และข้อมูลโครงสร้าง PDF จากไฟล์ PDF อย่างง่ายดาย. เพิ่มหน้า, ตาราง, ข้อความและรูปทรงใหม่ลงใน PDF.
PdfPig Library คืออะไร?
PdfPig เป็นไลบรารี .NET แบบโอเพนซอร์สที่ออกแบบมาสำหรับการอ่าน การแยกวิเคราะห์ และการดึงเนื้อหาจากไฟล์ PDF ใน C#. มันถูกพัฒนาเป็นพอร์ตของ Apache PDFBox สำหรับระบบนิเวศ .NET และได้รับการใช้งานอย่างกว้างขวางสำหรับการดึงข้อความจาก PDF การวิเคราะห์เอกสาร และการประมวลผล PDF ระดับต่ำ รองรับ .NET Standard และหลายเวอร์ชันของ .NET ทำให้มีความยืดหยุ่นสูงสำหรับสภาพแวดล้อมการพัฒนาสมัยใหม่ ไลบรารีนี้มีประโยชน์อย่างมากสำหรับการทำดัชนีเอกสาร เครื่องมือค้นหา การเตรียมข้อมูลเอกสารสำหรับ AI/ML การประมวลผลหลัง OCR การอัตโนมัติใบแจ้งหนี้ เครื่องมือการเข้าถึง PDF และระบบการดึงข้อมูล
ไฟล์ PDF มีอยู่ทั่วทุกที่—สัญญา รายงาน ใบแจ้งหนี้ eBook ใบแจ้งยอดธนาคาร งานวิจัย และแบบฟอร์มต่าง ๆ การสกัดข้อมูลเชิงโครงสร้างจาก PDF มักเป็นเรื่องยากเนื่องจาก PDF เป็นรูปแบบการนำเสนอเป็นหลัก ไม่ใช่รูปแบบเอกสารเชิงความหมาย PdfPig ทำให้ปัญหานี้ง่ายขึ้นโดยให้ผู้พัฒนาสามารถเข้าถึงข้อความดิบและคำ ตำแหน่งอักขระและกล่องขอบ ฟอนต์และข้อมูลสไตล์ รูปภาพและเมตาดาต้า รวมถึงรายละเอียดการจัดวางเอกสาร ต่างจากไลบรารี PDF หลายตัวที่มุ่งเน้นการสร้าง PDF เท่านั้น PdfPig เชี่ยวชาญในการอ่านเอกสาร PDF ที่มีอยู่แล้ว ทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับนักพัฒนาที่สร้างเครื่องมือค้นหา กระบวนการ OCR ตัวแยกใบแจ้งหนี้ ตัววิเคราะห์เอกสาร เครื่องมือปฏิบัติตามกฎระเบียบ หรือระบบสกัดเนื้อหา
เริ่มต้นใช้งาน PdfPig
ไลบรารี PdfPig มีให้เป็นแพ็กเกจ NuGet ดังนั้นจึงแนะนำอย่างยิ่งให้ใช้ NuGet เพื่อติดตั้ง PdfPig ในโปรเจกต์ของคุณ โปรดใช้คำสั่งต่อไปนี้เพื่อการติดตั้งที่สำเร็จ
ติดตั้ง PdfPig ผ่าน NuGet Package Manager
// Package Manager
Install-Package PdfPig
// .NET CLI
dotnet add package PdfPig
คุณยังสามารถติดตั้งด้วยตนเองได้; ดาวน์โหลดไฟล์เวอร์ชันล่าสุดโดยตรงจาก GitHub ที่เก็บ
ดึงข้อความจากเอกสาร PDF ผ่าน .NET
หนึ่งในกรณีการใช้งานที่พบบ่อยที่สุดของ PdfPig คือการสกัดข้อความธรรมดาจากเอกสาร PDF นักพัฒนาซอฟต์แวร์สามารถเปิดไฟล์ PDF และอ่านข้อความทีละหน้า หรือสกัดเนื้อหาทั้งหมดได้ สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับการทำดัชนีการค้นหา การสแกนคีย์เวิร์ด และการวิเคราะห์เนื้อหา ต่อไปนี้เป็นตัวอย่างง่าย ๆ ที่แสดงให้เห็นว่านักพัฒนาซอฟต์แวร์สามารถสกัดข้อความจากเอกสาร PDF ภายในแอปพลิเคชัน C# .NET ได้อย่างไร ขั้นแรกจะเปิดไฟล์ PDF แล้ววนซ้ำผ่านทุกหน้า จากนั้นอ่านเนื้อหาข้อความที่สกัดออกมา
วิธีดึงข้อความจากเอกสาร PDF ผ่าน C# API?
using UglyToad.PdfPig;
using (var document = PdfDocument.Open("sample.pdf"))
{
foreach (var page in document.GetPages())
{
string text = page.Text;
Console.WriteLine(text);
}
}
แบบฟอร์มโต้ตอบและการดึงไฟล์ที่ฝังอยู่
ไลบรารี PdfPig แบบโอเพ่นซอร์สสนับสนุนการสกัดแบบเนทีฟของแบบฟอร์ม Acrobat แบบโต้ตอบ (AcroForms) และการอ่านไฟล์ที่ซ่อนอยู่ในแนบไฟล์ PDF มันทำให้นักพัฒนาสามารถตรวจสอบคำนิยามฟอร์มทั่วทั้งระบบ, วนซ้ำผ่านองค์ประกอบฟอร์มโต้ตอบที่พิมพ์ประเภทต่าง ๆ (เช่น กล่องทำเครื่องหมาย, ฟิลด์ข้อความ, หรือปุ่มกด) และเข้าถึงข้อมูลไบต์ดิบพื้นฐานของไฟล์ที่ฝังอยู่ในคำอธิบายเอกสารเพื่อความร่วมมือของระบบอย่างราบรื่น
วิธีดึงข้อมูลฟอร์มแบบโต้ตอบโดยใช้ไลบรารี C# .NET?
using System;
using System.Collections.Generic;
using UglyToad.PdfPig;
using UglyToad.PdfPig.AcroForms;
class Program
{
static void ExtractInteractiveContent(string pdfPath)
{
using (PdfDocument document = PdfDocument.Open(pdfPath))
{
// Extracting Interactive Form Data
if (document.TryGetForm(out AcroForm form))
{
foreach (var field in form.Fields)
{
Console.WriteLine($"Form Field Name: {field.Information.Name} | Type: {field.Type}");
}
}
// Extracting Embedded Documents/Attachments
if (document.Advanced.TryGetEmbeddedFiles(out IReadOnlyList embeddedFiles))
{
foreach (var file in embeddedFiles)
{
Console.WriteLine($"Found Attachment: {file.Name} ({file.Bytes.Count} bytes)");
// File.WriteAllBytes(file.Name, file.Bytes.ToArray()); // Save attachment locally
}
}
}
}
}
การรวม PDF หลายไฟล์อย่างราบรื่นผ่าน C#
นอกเหนือจากการสกัดเนื้อหา PdfPig ยังมียูทิลิตี้การจัดการเอกสารที่เรียบง่าย โดยการใช้คลาส PdfMerger นักพัฒนาสามารถรวมโครงสร้าง PDF ที่แยกจากกันเป็นอาร์เรย์ไบต์ของไฟล์ผลลัพธ์เดียวที่เป็นเอกภาพ ซึ่งเป็นวิธีที่มีประสิทธิภาพในการต่อเนื่องรายงานเชิงโปรแกรม ใบแจ้งหนี้ หรือเอกสารสเตตเมนต์ของลูกค้าโดยไม่ต้องเพิ่มการพึ่งพาภายนอกที่หนักหน่วงใน pipeline .NET ของคุณ ตัวอย่างต่อไปนี้แสดงให้เห็นว่าผู้ใช้สามารถรวมหลายเอกสาร PDF ภายในแอปพลิเคชัน .NET ได้อย่างไร
วิธีรวมไฟล์ PDF หลายไฟล์ภายในแอป C# .NET?
using System.IO;
using UglyToad.PdfPig.Writer;
class Program
{
static void MergeDocuments(string firstPdf, string secondPdf, string outputPdf)
{
// Consolidate files into a single continuous byte sequence
byte[] mergedFileBytes = PdfMerger.Merge(firstPdf, secondPdf);
// Output the combined file stream directly to disk
File.WriteAllBytes(outputPdf, mergedFileBytes);
}
}
อ่านเมตาดาต้า, แบบฟอร์ม และคำอธิบายของ PDF
นอกเหนือจากการสกัดข้อความ ไลบรารีโอเพ่นซอร์ส PdfPig ได้รวมคุณลักษณะที่เปิดเผยเมตาดาต้าเอกสาร (ชื่อเรื่อง, ผู้เขียน, ผู้ผลิต) ฟิลด์ฟอร์มแบบโต้ตอบ, ลิงก์ไฮเปอร์ลิงก์, และบุ๊กมาร์ก ซึ่งมีคุณค่ามากสำหรับระบบการจัดประเภทเอกสาร การประมวลผลฟอร์มอัตโนมัติ และการทำดัชนีเนื้อหาเมื่อคุณต้องการทั้งเนื้อหาและบริบท