استخراج نص من ملف PDF

استخراج نص من ملف PDF في جافا

نعلم جميعًا أن ملفات PDF هي واحدة من التنسيقات الرقمية الأكثر أهمية والأكثر استخدامًا المستخدمة لتقديم المستندات وتبادلها بشكل موثوق ، بغض النظر عن البرامج أو الأجهزة أو نظام التشغيل. ومع ذلك ، في بعض السيناريوهات ، قد نكون مهتمين بالحصول على مقتطفات من ملفات PDF الكبيرة. أو قد نحتاج إلى حفظ ملف PDF إلى نص عبر الإنترنت. لذلك في هذه المقالة ، سوف نستكشف التفاصيل حول كيفية تطوير محول PDF إلى نص باستخدام Java REST API.

واجهة برمجة تطبيقات PDF Generator

احصل على النفوذ لإنشاء مستندات PDF باستخدام القوالب أو من البداية باستخدام REST API. في الوقت نفسه ، تمكنك API أيضًا من تحرير وتحويل ملفات PDF إلى تنسيقات مدعومة أخرى. يمكنك أيضًا الاستفادة من استخراج النص من PDF وفك تشفير ودمج ملفات PDF باستخدام Java Cloud SDK. الآن ، من أجل استخدام Aspose.PDF Cloud SDK for Java ، نحتاج إلى إضافة مرجعها في تطبيق Java الخاص بنا من خلال تضمين التفاصيل التالية في pom.xml (مشروع نوع بناء maven).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-cloud-pdf</artifactId>
        <version>21.11.0</version>
        <scope>compile</scope>
    </dependency>
</dependencies>

بعد التثبيت ، نحتاج إلى إنشاء حساب مجاني عبر Cloud Dashboard والحصول على بيانات اعتماد عميل مخصصة.

استخراج نص من ملف PDF باستخدام Java

دعنا نستكشف التفاصيل لاستخراج النص من PDF باستخدام Java cloud SDK. في هذا المثال ، سنستخدم الإدخال التالي [PdfWithTable.pdf] (https://raw.githubusercontent.com/aspose-pdf-cloud/aspose-pdf-cloud-java/master/testData/PdfWithTable.pdf) ملف.

pdf إلى نص ocr

الصورة 1: - ملف الإدخال من PDF لاستخراج النص.

pdf إلى نص ocr

صورة 2: - استخراج نص من معاينة PDF

// لمزيد من الأمثلة ، يرجى زيارة https://github.com/aspose-pdf-cloud/aspose-pdf-cloud-java/tree/master/Examples/src/main/java/com/aspose/asposecloudpdf/examples

try
    {
    // احصل على ClientID و ClientSecret من https://dashboard.aspose.cloud/
    String clientId = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
    String clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
		    
    // إنشاء مثيل لـ PdfApi
    PdfApi pdfApi = new PdfApi(clientSecret,clientId);
    // اسم مستند إدخال PDF
    String name = "PdfWithTable.pdf";
		        
    // قراءة محتوى ملف إدخال PDF
    File file = new File(name); 
    // تحميل PDF إلى التخزين السحابي
    pdfApi.uploadFile("input.pdf", file, null);
		        
    // تنسيق X للزاوية اليسرى السفلية
    Double LLX = 500.0;
    // ص - تنسيق الزاوية اليسرى السفلية.
    Double LLY = 500.0;
    // X - تنسيق الزاوية اليمنى العلوية.
    Double URX = 800.0;
    // ص - تنسيق الزاوية اليمنى العلوية.
    Double URY = 800.0;
			       
    // استدعاء API لتحويل PDF إلى نص
    TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    
		    
    // اجتياز حدث النص الفردي
    for(int counter=0; counter <=response.getTextOccurrences().getList().size()-1; counter++)
    {
        // كتابة محتوى نصي في وحدة التحكم
        System.out.println(response.getTextOccurrences().getList().get(counter).getText());
    }
		  
    System.out.println("Extract Text from PDF successful !");
    }catch(Exception ex)
    {
        System.out.println(ex);
    }

الآن دعنا نحاول فهم مقتطف الشفرة المحدد أعلاه:

PdfApi pdfApi = new PdfApi(clientSecret,clientId);

قم بإنشاء مثيل لـ PdfApi أثناء تمرير بيانات الاعتماد الشخصية كوسيطات.

File file = new File(name); 
pdfApi.uploadFile("input.pdf", file, null);

اقرأ ملف PDF المدخل باستخدام كائن ملف وقم بتحميله إلى التخزين السحابي باستخدام طريقة uploadFile (…) لفئة PdfAPi. يرجى ملاحظة أنه تم تحميل الملف بالاسم المستخدم في طريقة uploadFile.

TextRectsResponse response = pdfApi.getText("input.pdf", LLX, LLY, URX, URY, null, null, null, null, null);    

استدعِ الآن طريقة getText (..) حيث نحدد اسم ملف PDF المُدخل ، والأبعاد المستطيلة على الصفحة التي نحتاج منها لاستخراج المحتوى النصي ، وإعادة المحتوى المستخرج إلى كائن TextRectsResponse.

response.getTextOccurrences().getList().get(counter).getText()

أخيرًا ، من أجل طباعة محتوى النص المستخرج ، سنقوم بالتكرار من خلال جميع TextOccurances وعرضها في وحدة التحكم.

تحويل PDF إلى نص باستخدام أوامر cURL

بصرف النظر عن مقتطف كود Java ، يمكننا أيضًا إجراء عملية pdftotext باستخدام أوامر cURL. الآن ، أحد المتطلبات الأساسية لهذا الأسلوب هو إنشاء رمز وصول JWT (بناءً على بيانات اعتماد العميل) باستخدام الأمر التالي.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

بمجرد إنشاء JWT ، يرجى تنفيذ الأمر التالي لاستخراج النص من ملف PDF المتاح بالفعل في التخزين السحابي.

curl -v -X GET "https://api.aspose.cloud/v3.0/pdf/input.pdf/text?splitRects=true&LLX=0&LLY=0&URX=800&URY=800" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

معلومات سريعة

هل تبحث عن تطبيق PDF to Text free! يرجى محاولة استخدام [PDF Parser] (https://products.aspose.app/pdf/parser).

ملاحظات ختامية

في الختام ، يمكن أن يكون استخراج النص من ملفات PDF باستخدام Java حلاً قويًا لأولئك الذين يتطلعون إلى أتمتة احتياجات معالجة البيانات وتحليلها. بمساعدة هذا الدليل ، لديك الآن أساس متين للبناء عليه ويمكنك بسهولة تطبيق الحل المستند إلى Java الخاص بك لاستخراج النص من مستندات PDF. سواء كنت تبحث عن استخراج نص لتحليل البيانات أو التعلم الآلي أو أي غرض آخر ، توفر Java نظامًا أساسيًا مرنًا وموثوقًا لاحتياجاتك. لذا انطلق واختبر مهاراتك المكتسبة حديثًا!

إذا كنت مهتمًا باستكشاف الميزات المثيرة الأخرى التي تقدمها API ، فيرجى استكشاف وثائق المنتج. أخيرًا ، إذا واجهت أي مشكلة أثناء استخدام واجهة برمجة التطبيقات ، أو كان لديك أي استفسار ذي صلة ، فلا تتردد في الاتصال بنا عبر منتدى دعم المنتج مجانًا.

مقالات ذات صلة

يرجى زيارة الروابط التالية لمعرفة المزيد حول: