![استخراج نص من ملف pdf java](images/Extract-Text-From-PDF.jpg#center)
في هذا المنشور ، ستتعلم كيفية استخراج النص من ملفات PDF بسلاسة باستخدام Java. يمكن أن يكون استخراج النص مفيدًا في سيناريوهات مختلفة مثل تحليل النص واسترجاع المعلومات وتحليل المستندات وما إلى ذلك. نظرًا لأن PDF هو أحد أكثر المستندات الرقمية استخدامًا ، فإن حالات استخدام استخراج النص من مستندات PDF تكون أكثر عددًا. لذلك دعونا نبدأ ونتحقق من كيفية إجراء استخراج نص PDF من داخل تطبيقات Java.
- Java Text Extraction API - تنزيل مجاني
- استخراج نص من ملف PDF باستخدام Java
- استخراج نص من صفحة محددة في PDF
- استخراج نص من منطقة الصفحة في PDF
Java API لاستخراج النص من PDF - تنزيل مجاني
Aspose.PDF for Java هي واجهة برمجة تطبيقات معروفة لمعالجة ملفات PDF توفر نطاقًا واسعًا من الميزات لإنشاء ملفات PDF ومعالجتها. تحتوي واجهة برمجة التطبيقات (API) على مستخرج نص قوي يوفر طرقًا مختلفة لاستخراج النص من مستندات PDF في بضعة أسطر من التعليمات البرمجية. يمكنك إما تنزيل JAR الخاص بواجهة برمجة التطبيقات أو تثبيته داخل التطبيقات المستندة إلى 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 باستخدام Java
فيما يلي خطوات استخراج نص من مستند PDF باستخدام Aspose.PDF لجافا.
- استخدم فئة مستند لتحميل ملف PDF.
- قم بإنشاء كائن من فئة TextAbsorber.
- اقبل TextAbsorber لجميع صفحات ملف PDF باستخدام طريقة Document.getPages().قبول (TextAbsorber).
- استخدم طريقة TextAbsorber.getText() لجلب كل النص من ملف PDF.
- احفظ النص في ملف TXT (اختياري).
يوضح نموذج التعليمات البرمجية التالي كيفية استخراج نص من PDF باستخدام Java.
// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى 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.
- قم بإنشاء مثيل لفئة TextDevice.
- حدد خيارات إضافية باستخدام TextExtractionOptions class.
- اضبط الخيارات باستخدام طريقة TextDevice.setExtractionOptions (TextExtractionOptions).
- استخدم TextDevice.Process (صفحة ، سلسلة) لاستخراج النص من الصفحة المحددة.
يوضح نموذج التعليمات البرمجية التالي كيفية استخراج نص من صفحة معينة في PDF باستخدام Java.
// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى https://github.com/aspose-pdf/Aspose.Pdf-for-Java
// افتح المستند
Document pdfDocument = new Document("input.pdf");
// إنشاء جهاز نصي
TextDevice textDevice = new TextDevice();
// تعيين خيارات استخراج النص - تعيين وضع استخراج النص (Raw أو Pure)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);
textDevice.setExtractionOptions(textExtOptions);
// احصل على النص من الصفحة الأولى من PDF واحفظه بتنسيق ملف
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");
استخراج نص من منطقة الصفحة في PDF
يمكنك أيضًا استخراج نص من منطقة معينة من الصفحة في ملف PDF. لهذا ، يمكنك تحديد مستطيل لتغطية المنطقة التي تريد استخراج النص منها. فيما يلي خطوات استخراج النص من منطقة الصفحة.
- استخدم فئة مستند لتحميل ملف PDF.
- قم بإنشاء كائن من فئة TextAbsorber.
- قم بتعيين حد لربط الصفحة وإنشاء مستطيل باستخدام TextAbsorber.getTextSearchOptions().setLimitToPageBounds (true) و [TextAbsorber.getTextSearchOptions().setRectangle (new Rectangle (100، 200، 250، 350))] 17 الطرق على التوالي.
- تقبل الممتص لصفحة معينة.
- استخدم طريقة TextAbsorber.getText() لاستخراج النص.
يوضح نموذج التعليمات البرمجية التالي كيفية استخراج نص من منطقة صفحة معينة في Java.
// للحصول على أمثلة وملفات بيانات كاملة ، يرجى الانتقال إلى 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 باستخدام Java. لقد رأيت طرقًا مختلفة لاستخراج النص مثل استخراج نص من ملف PDF كامل أو صفحة معينة أو منطقة صفحة معينة. يمكنك معرفة المزيد عن Java PDF API باستخدام التوثيق.
أنظر أيضا
معلومات: قامت Aspose بتطوير خدمة مجانية على الإنترنت Text to GIF تتيح لك تحريك النصوص أو إنشاء صور GIF من نصوص بسيطة.