برمجة سكريبت بايثون لتحويل PDF الى نص Text - كورتكس هكر
اكتب ما تود البحت عنه و اضغط Enter
معذرة، فالصفحة التي تبحث عنها في هذه المدونة ليست متوفرة.

08 ديسمبر، 2018

برمجة سكريبت بايثون لتحويل PDF الى نص Text

اقرأ أيضا



اليوم سنتعرف على مكتبة مميزة  pdftotext هذه المكتبة سنقوم باستعمالها لتحويل كتاب الكتروني pdf الى ملف نصي text . سنقوم ببرمجة سكريبت بسيط لفهم الية التحويل وهذا بشرح مثال حتى يتضح المقال.

الشرح

شرح تثبيت المكتبة وملحقاتها

تثبيت الملحقات OS Dependencies


افتح الطرفية أو Terminal وانسخ امر التثبيت المناسب لنظامك

Debian, Ubuntu, and friends:

```
sudo apt-get update
sudo apt-get install build-essential libpoppler-cpp-dev pkg-config python-dev
```

Fedora, Red Hat, and friends:

```
sudo yum install gcc-c++ pkgconfig poppler-cpp-devel python-devel redhat-rpm-config
```

macOS:

```
brew install pkg-config poppler
```


تثبيت المكتبة  pdftotext

```
pip install pdftotext
```


شرح برمجة السكريبت


افتح محرر البايثون الذي تفضله

أكتب أول سطر حتى نحدد نسخة البايثون المراد العمل عليها, طبعا دائما افضل النسخة القديمة 2 لانها تدعم جميع المكاتب.

#!/usr/bin/env python
ثم نحتاج استدعاء المكتبة


import pdftotext

1- نقوم بفتح ملف pdf المراد تحويله بواسطة دالة Open
ثم قراءة محتواه على شكل Read Binary باستعمال rb
ونضع محتواه في كائن نسميه f

with open("ScapyCheatSheet_v0.2.pdf", "rb") as f:

2- الأن نأتي لدالة التحويل pdftotext نمرر لها ملفنا السابق f
ستقوم بتحويله الى نص وتضعه في متغير المسمى pdf

    pdf = pdftotext.PDF(f)

3- نغلق الان عملية القراءة حتى لا تستهلك الرام
    f.close()


الأن مثلا سنقوم بكتابة ما قرأناه داخل ملف سأسميه output.txt


1- ننشئ ملف output.txt بواسطة الدالة open
2- نعطيه خاصية الكتابة w بمعنى write
3- وسنتحكم بهذا الملف أو الكائن باسم txt

with open("output.txt", 'w') as txt:

4- نقوم بكتابة ملفنا الذي حولناه سابقا المسمى pdf داخل الملف output.txt
والتي يشير اليها داخل سكريبت البايثون الخاص بنا الكائن txt باستعمال امر الكتابة ()txt.write.

    txt.write("\n\n".join(pdf).encode('utf-8'))

استعملنا الدالة join حتى نقوم بدمج جميع الصفحات في ملف واحد بحيث يضع بين الصفحات سطرين "n\n\"
استعملنا encode والترميز utf-8 حتى يقوم بكتابة الملف على القرص الصلب دون مشاكل
لانه يوجد رموز وربما الحروف العربية قد تتشوه ولا يتم حفظها
ثم اغلقنا مقبض الكتابة
    txt.close()
الكود النهائي


نتيجة التحويل


معلومات اضافية


لو اردنا تحويل ملف pdf يحتوي على رقم سري نستعمل الدالة كالاتي
نقوم بتمرير الكتاب المراد تحويله ومعه كلمة السر
    pdf = pdftotext.PDF(f,"password")

لمعرفة كم يحتوي الكتاب pdf من صفحات نستعمل الدالة len
print(len(pdf))

اذا اردنا طباعة أو تحويل صفحة معينة من الكتاب نستعمل  [رقم الصفحة]pdf نتعامل معها على انها مصفوفة
print(pdf[0])
print(pdf[1])


شارك الموضوع عبر :

كاتب الموضوع :

ليست هناك تعليقات:

إرسال تعليق

كورتكس هكر: شروحات اللينكس واختبار الاختراق والحماية | CortexHacker
كورتكس هكر هي مدونة تهتم بطرح مواضيع اختبار الاختراق وأمن المعلومات, وطرق اكتشاف الثغرات بالبرامج والمواقع و كيفية الحماية منها, وطرق التخفي وأسرار الديب ويب وكل ما يخص الاختراق الأخلاقي
جميع الحقوق محفوظة ل كورتكس هكر
صمم وكود بكل من طرف