استخراج متن از پی دی اف جاوا

در این پست، نحوه استخراج متن از فایل های PDF به صورت یکپارچه با استفاده از جاوا را خواهید آموخت. استخراج متن می تواند در سناریوهای مختلفی مانند تجزیه و تحلیل متن، بازیابی اطلاعات، تجزیه اسناد و غیره مفید باشد. از آنجایی که PDF یکی از پرکاربردترین اسناد دیجیتالی است، موارد استفاده استخراج متن از اسناد پی دی اف بیشتر است. بنابراین بیایید شروع کنیم و نحوه استخراج متن PDF را از داخل برنامه های جاوا بررسی کنیم.

Java API برای استخراج متن از PDF - دانلود رایگان

Aspose.PDF for Java یک API دستکاری فایل PDF شناخته شده است که طیف گسترده ای از ویژگی ها را برای ایجاد و پردازش فایل های PDF فراهم می کند. API حاوی یک استخراج کننده متن قدرتمند است که روش های مختلفی را برای استخراج متن از اسناد PDF در چند خط کد ارائه می دهد. می‌توانید JAR API را دانلود یا با استفاده از پیکربندی‌های زیر در برنامه‌های مبتنی بر Maven خود نصب کنید.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.11</version>
</dependency>

استخراج متن از PDF با استفاده از جاوا

در زیر مراحل استخراج متن از یک سند PDF با استفاده از Aspose.PDF برای جاوا آمده است.

  • از کلاس Document برای بارگیری فایل PDF استفاده کنید.
  • یک شی از کلاس TextAbsorber ایجاد کنید.
  • TextAbsorber را برای تمام صفحات PDF با استفاده از روش Document.getPages().accept(TextAbsorber) بپذیرید.
  • از روش TextAbsorber.getText() برای واکشی تمام متن از PDF استفاده کنید.
  • متن را در یک فایل TXT (اختیاری) ذخیره کنید.

نمونه کد زیر نحوه استخراج متن از PDF با استفاده از جاوا را نشان می دهد.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-pdf/Aspose.Pdf-for-Java بروید
// سند را باز کنید
Document pdfDocument = new Document("input.pdf");

// برای استخراج متن، شی TextAbsorber ایجاد کنید
TextAbsorber textAbsorber = new TextAbsorber();

// جذب کننده را برای تمام صفحات بپذیرید
pdfDocument.getPages().accept(textAbsorber);

// متن استخراج شده را دریافت کنید
String extractedText = textAbsorber.getText();

// یک رایتر بسازید و فایل را باز کنید
java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt"));
writer.write(extractedText);

// یک خط متن در فایل tw.WriteLine(extractedText) بنویسید.
// جریان را ببندید
writer.close();

متن را از صفحه خاص در PDF استخراج کنید

همچنین می توانید با استفاده از مراحل زیر متن را از یک صفحه خاص از سند PDF استخراج کنید.

نمونه کد زیر نحوه استخراج متن از یک صفحه خاص در PDF با استفاده از جاوا را نشان می دهد.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-pdf/Aspose.Pdf-for-Java بروید
// سند باز
Document pdfDocument = new Document("input.pdf");
// دستگاه متنی ایجاد کنید
TextDevice textDevice = new TextDevice();

// تنظیم گزینه های استخراج متن - تنظیم حالت استخراج متن (خام یا خالص)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);

textDevice.setExtractionOptions(textExtOptions);

// متن را از صفحه اول PDF دریافت کرده و در فرمت فایل ذخیره کنید
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");

متن را از منطقه صفحه در PDF استخراج کنید

همچنین می توانید متن را از یک منطقه خاص از صفحه به صورت PDF استخراج کنید. برای این کار، می توانید یک مستطیل برای پوشش ناحیه ای که باید متن را از آنجا استخراج کنید، تعریف کنید. مراحل زیر برای استخراج متن از یک منطقه صفحه است.

  • از کلاس Document برای بارگیری فایل PDF استفاده کنید.
  • یک شی از کلاس TextAbsorber ایجاد کنید.
  • با استفاده از TextAbsorber.getTextSearchOptions().setLimitToPageBounds(true) و [TextAbsorber.getTextSearchOptions().setRectangle(مستطیل جدید(100، 200، 250)، و [TextAbsorber.getTextSearchOptions(). ] به ترتیب.
  • جذب کننده را برای صفحه خاص بپذیرید.
  • برای استخراج متن از روش TextAbsorber.getText() استفاده کنید.

نمونه کد زیر نحوه استخراج متن از یک منطقه صفحه خاص در جاوا را نشان می دهد.

// برای نمونه های کامل و فایل های داده، لطفاً به https://github.com/aspose-pdf/Aspose.Pdf-for-Java بروید
// سند باز
Document doc = new Document("page_0001.pdf");

// ایجاد شی TextAbsorber برای استخراج متن
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));
// جذب کننده را برای صفحه اول بپذیرید
doc.getPages().get_Item(1).accept(absorber);

// متن استخراج شده را دریافت کنید
String extractedText = absorber.getText();
// یک رایتر بسازید و فایل را باز کنید
BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));
// مطالب استخراج شده را بنویسید
writer.write(extractedText);
// بستن نویسنده
writer.close();

نتیجه

در این مقاله نحوه استخراج متن از PDF با استفاده از جاوا را یاد گرفتید. شما روش های مختلف استخراج متن مانند استخراج متن از یک PDF کامل، یک صفحه خاص یا یک منطقه صفحه خاص را دیده اید. می توانید با استفاده از مستندات درباره Java PDF API اطلاعات بیشتری کسب کنید.

همچنین ببینید

اطلاعات: Aspose اخیراً یک سرویس آنلاین رایگان Text to GIF توسعه داده است که به شما امکان می دهد متون را متحرک کنید یا GIF را از متون ساده تولید کنید.