این آموزش جزئیاتی در مورد نحوه خواندن جدول PDF در جاوا و دسترسی به متن متعلق به هر سلول داخل جدول مورد نظر ارائه می دهد. شما کنترل کاملی خواهید داشت که به یک جدول خاص در صفحه هدف PDF مراجعه کنید و تمام سطرها و سلول ها را برای بازیابی داده ها تجزیه کنید. برای نوشتن این ** جدول خوان PDF در جاوا** به ابزار یا نرم افزار شخص ثالث دیگری نیاز نیست.
مراحل خواندن جدول PDF در جاوا
- برنامه جدولخوان PDF خود را برای اضافه کردن Aspose.PDF از مخزن Maven پیکربندی کنید
- فایل PDF نمونه حاوی یک جدول را با استفاده از شی کلاس Document بارگیری کنید
- نمونه سازی و مقداردهی اولیه شی TableAbsorber برای واکشی تمام جداول PDF از صفحه PDF انتخاب شده
- تمام سطرهای جدول مورد نظر را تکرار کنید
- تمام سلول های ردیف مورد نظر را تکرار کنید و تمام قطعات متن را از هر سلول واکشی کنید
- نمایش متن واکشی از سلول
این مراحل نحوه استفاده از جدول استخراج جاوا از PDF را به همراه اطلاعات کتابخانه های مورد نیاز که قرار است به پروژه اضافه شوند، توضیح می دهد. همچنین ترتیب عملیات برای تکمیل کار را بیان می کند مانند ابتدا بارگذاری PDF، سپس دسترسی به یک صفحه خاص و واکشی جدول مورد نظر. در نهایت، تمام ردیفها و سلولها را برای دریافت اطلاعات تجزیه کنید.
کد برای خواندن جدول PDF در جاوا
import com.aspose.pdf.License; | |
import com.aspose.pdf.AbsorbedCell; | |
import com.aspose.pdf.AbsorbedRow; | |
import com.aspose.pdf.AbsorbedTable; | |
import com.aspose.pdf.Document; | |
import com.aspose.pdf.TableAbsorber; | |
import com.aspose.pdf.TextFragmentCollection; | |
public class ReadPDFTableInJava { | |
public static void main(String[] args) throws Exception { // main function for reading PDF table data in ReadPDFTableInJava | |
// For avoiding the trial version limitation, load the Aspose.PDF license prior to reading table data | |
License licenseForHtmlToPdf = new License(); | |
licenseForHtmlToPdf.setLicense("Aspose.Pdf.lic"); | |
// Load a source PDF document which contains a table in it | |
Document pdfDocument = new Document("PdfWithTable.pdf"); | |
// Instantiate the TableAbsorber object for PDF tables extraction | |
TableAbsorber tableAbsorber = new TableAbsorber(); | |
// visit the table collection in the input PDF | |
tableAbsorber.visit(pdfDocument.getPages().get_Item(1)); | |
// Access the desired table from the tables collection | |
AbsorbedTable absorbedTable = tableAbsorber.getTableList().get(0); | |
// Parse all the rows and get each row using the AbsorbedRow | |
for (AbsorbedRow pdfTableRow : absorbedTable.getRowList()) | |
{ | |
// Access each cell in the cells collection using AbsorbedCell | |
for (AbsorbedCell pdfTableCell : pdfTableRow.getCellList()) | |
{ | |
// Access each text fragment from the cell | |
TextFragmentCollection textFragmentCollection = pdfTableCell.getTextFragments(); | |
// Access each text fragment from the fragments collection | |
for (com.aspose.pdf.TextFragment textFragment : textFragmentCollection) | |
{ | |
// Display the table cell text | |
System.out.println(textFragment.getText()); | |
} | |
} | |
} | |
System.out.println("Done"); | |
} | |
} |
برای استخراج جدول از PDF کد جاوا در اینجا ارائه شده است که از کلاس های TableAbsorber و AbsorbedTable برای مدیریت جداول در PDF استفاده می کند. همچنین از کلاس های AbsorbedRow و AbsorbedCell برای مدیریت سطرها و ستون ها قبل از استفاده از کلاس TextFragment برای واکشی داده های سلولی استفاده می کند. همچنین، بسیاری از کلاسهای جذبکننده دیگر برای عناصر مختلف در سند مانند فونتها، پاراگرافها، متن و تکههای متن موجود هستند.
در این مقاله توضیح داده شده است که با استفاده از جاوا PDF استخراج جدول در چند مرحله قابل انجام است. اگر می خواهید نحوه خواندن متن و تصاویر را از یک فایل PDF یاد بگیرید، به مقاله نحوه خواندن فایل پی دی اف در جاوا مراجعه کنید.