شعار زيفيرنت

مكتبة PYPDF2: كيف يمكنك العمل مع ملفات PDF في Python؟

التاريخ:

يعد استخراج النص من PDF باستخدام PyPDF2 أمرًا صعبًا نظرًا لأنه يحتوي على دعم محدود لاستخراج النص. لن يكون إرجاع الكود بالشكل المناسب. قد تحصل على سلسلة من أحرف فواصل الأسطر بسبب دعم PyPDF2 المحدود.

يمكن إجراء العديد من العمليات على ملفات PDF باستخدام وحدة PyPDF2 ، بما في ذلك:

إذا كنت تعمل مع الفواتير والإيصالات أو كنت تقلق بشأن التحقق من الهوية ، فتحقق من شبكات Nanonets التعرف الضوئي على الحروف عبر الإنترنت or مستخرج نص PDF لاستخراج نص من مستندات PDF مجانا. انقر أدناه لمعرفة المزيد عن حلول أتمتة المؤسسات النانونية.


دروس PyPDF2 الأخرى

كيفية تدوير صفحات ملف PDF؟

وحدة Python النمطية PyPDF2 هي مكتبة تستخدم لمعالجة ملفات PDF. إنه سهل الاستخدام للغاية ومتوفر للعديد من المنصات المختلفة.

سنرى هنا كيف يمكننا تدوير صفحات ملف pdf. احفظ ملف PDF في ملف آخر وقم بتشغيل الكود التالي:

import PyPDF2
pdf_in = open('original.pdf', 'rb')
pdf_reader = PyPDF2.PdfFileReader(pdf_in)
pdf_writer = PyPDF2.PdfFileWriter()
for pagenum in range(pdf_reader.numPages):
page = pdf_reader.getPage(pagenum)
page.rotateClockwise(180)
pdf_writer.addPage(page)
pdf_out = open('rotated.pdf', 'wb')
pdf_writer.write(pdf_out)
pdf_out.close()
pdf_in.close()

كيفية دمج ملفات PDF؟

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

يمكن أن تساعد العديد من البرامج ، بما في ذلك Adobe والتطبيقات عبر الإنترنت ، في القيام بهذه المهمة بسرعة. ومع ذلك ، فإن معظمها إما معروض للبيع أو قد لا يوفر تدابير أمنية كافية.

افتح المحرر المفضل لديك ، ثم أنشئ ملفًا جديدًا يسمى "pdfMerger.py". تأكد من وجود برنامج Python في نفس الدليل مثل ملفات PDF التي سيتم إرفاقها.

يمكنك دمج ملفين أو أكثر من ملفات PDF باستخدام مجموعة التعليمات البرمجية التالية:

from PyPDF2 import PdfFileMerger, PdfFileReader
merger = PdfFileMerger()
merger.append(PdfFileReader(open(filename1, 'rb')))
merger.append(PdfFileReader(open(filename2, 'rb')))
merger.write("merged.pdf")

يبدو الرمز أعلاه واضحًا جدًا ، ولكن ماذا لو كنت تريد دمج أكثر من ملفين؟ لكل ملف تريد إضافته ، يجب تكرار السطر 3 ، مما يجعل طلبك طويلاً نوعًا ما. في هذه الحالة ، يمكن استخدام حلقة for.

تظهر طريقة أخرى لدمج ملفات PDF متعددة في الكود التالي.

كيفية تقسيم الصفحات من ملف PDF؟

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

سيسمح لك استخدام PdfFileReader لقراءة الملف الأصلي بالوصول إلى صفحة معينة برقم صفحتها عندما ترغب في استخراج صفحة معينة من ملف PDF وإنشائها كملف PDF منفصل (يبدأ رقم الصفحة من 0). تتيح لك وظيفة إضافة صفحة في PdfFileWriter إضافة صفحة PDF إلى كائن PDF جديد تمامًا وحفظه.

فيما يلي مثال على التعليمات البرمجية التي تفصل الصفحة الأولى من file1.pdf في ملف PDF منفصل يسمى first page.pdf.

from PyPDF2 import PdfFileWriter, PdfFileReader
input_pdf = PdfFileReader("file1.pdf")
output = PdfFileWriter()
output.addPage(input_pdf.getPage(0))
with open("first_page.pdf", "wb") as output_stream:
output.write(output_stream)

كيفية دمج صفحات ملف PDF؟

يمكنك استخدام PdfFileMerger لدمج عدة ملفات PDF في مستند واحد. على الرغم من أنه يمكنك أيضًا استخدام PdfFileWriter لإنجاز ذلك ، فإن دمج الصفحات دون تحريرها أولاً يجعل استخدام PdfFileMerger أكثر وضوحًا.

يظهر أدناه نموذج التعليمات البرمجية الذي يستخدم طريقة إلحاق PdfFileMerger لإضافة ملفات PDF متعددة وكتابتها في ملف واحد يسمى merged.

from PyPDF2 import PdfFileReader, PdfFileMerger
pdf_file1 = PdfFileReader("file1.pdf")
pdf_file2 = PdfFileReader("file2.pdf")
output = PdfFileMerger()
output.append(pdf_file1)
output.append(pdf_file2)
with open("merged.pdf", "wb") as output_stream:
output.write(output_stream)

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

إذا كنت ترغب في تحديد المكان الذي تريد أن تذهب إليه صفحاتك ، فيجب عليك استخدام وظيفة الدمج لأن وظيفة الإلحاق ستضيف دائمًا صفحات جديدة في النهاية. يمكّنك من تحديد موقع الصفحة الذي ترغب في إدراج صفحات جديدة فيه.

تشفير ملف PDF

يمكن تشفير ملف PDF باستخدام كلمة مرور أو شهادة رقمية. يتم اختيار طريقة التشفير من قبل المستخدم عند إنشاء الملف. يمكن فتح ملف PDF محمي بكلمة مرور وتحريره وطباعته من قبل أي شخص يعرف كلمة المرور. لا يمكن فتحه أو تحريره من قبل شخص لا يعرف كلمة المرور. المستند الموقّع رقميًا محمي أيضًا من التحرير غير المصرح به. ومع ذلك ، فإنه يتضمن أيضًا توقيعًا إلكترونيًا يمكن التحقق منه بواسطة أي شخص لديه حق الوصول إلى المستند الأصلي أو التوقيع الرقمي الخاص به.

for page in range(pdf.getNumPages()):
pdfwrite.addPage(pdf.getPage(page))
pdfwrite.encrypt(user_pwd=password, owner_pwd=None,
use_128bit=True)
with open(outputpdf, 'wb') as fh:
pdfwrite.write(fh)

يمكنك حماية ملف PDF بكلمة مرور باستخدام الرمز أعلاه تمامًا مثل هذا:

كيف تضيف علامة مائية إلى ملف PDF؟

العلامة المائية هي تراكب نص أو رسومي على واجهة المستند. يمكن أن يساعدك على حماية عملك من الاستخدام غير المصرح به أو سوء الاستخدام وإظهار السجلات التي تم تعديلها أو طباعتها. يمكنك إضافة نص ورسومات لعمل علامات مائية مخصصة لمستنداتك.

إليك مقتطف رمز حول كيفية إضافة علامة مائية إلى ملف PDF:

import PyPDF2
pdf_file = "doc.pdf"
watermark = "watermark.pdf"
merged_file = "merged.pdf"
input_file = open(pdf_file,'rb')
input_pdf = PyPDF2.PdfFileReader(input_file)
watermark_file = open(watermark,'rb')
watermark_pdf = PyPDF2.PdfFileReader(watermark_file)
pdf_page = input_pdf.getPage(0)
watermark_page = watermark_pdf.getPage(0)
pdf_page.mergePage(watermark_page)
output = PyPDF2.PdfFileWriter()
output.addPage(pdf_page)
merged_file = open(merged_file,'wb')
output.write(merged_file)
merged_file.close()
watermark_file.close()
input_file.close()

يجب مراعاة ثلاث وسائط بعناية أثناء استخدام وظيفة التشفير.

  • يتم استخدام كلمة مرور المستخدم pwd للحد من فتح الملف وقراءته ؛
  • كلمة مرور المستخدم هي خطوة واحدة أسفل المالك pwd ، str. يمكن فتح الملف دون أي قيود عند تقديمه. المالك الافتراضي pwd و user pwd هما نفسهما إذا لم يتم توفيرهما ؛
  • استخدم خيار 128bit Boolean لتحديد ما إذا كنت تريد استخدام 128 بت لكلمة مرور أم لا. يشير الخطأ "خطأ" إلى أنه يجب استخدام كلمة مرور 40 بت ؛ صحيح هو الافتراضي ؛

هل تريد أتمتة المهام اليدوية المتكررة؟ وفر الوقت والجهد والمال مع تحسين الكفاءة!


وفي الختام

يعد PyPDF2 أحد أسهل الطرق للتحويل بين ملفات PDF ، وهو مفتوح المصدر تمامًا. إذا كنت في عجلة من أمرك للمضي قدمًا ، فستجعلك الوثائق الممتازة عبر الإنترنت جاهزة للعمل في غضون دقائق. إذا كانت لديك أسئلة أو تحتاج إلى مزيد من المساعدة ، فسوف يقدم مجتمع PyPDF2 الودود مساعدتهم بكل سرور. بالإضافة إلى كونه سهل الاستخدام ، فإن PyPDF2 خفيف للغاية - ليس له تبعيات أخرى إلى جانب Python (مما يعني أنه سيعمل على كل منصة يمكن تخيلها تقريبًا).

علاوة على ذلك ، يتم توزيع PyPDF2 بموجب ترخيص على غرار BSD ، لذا فأنت حر في تجميعه مع برنامجك إذا أردت. باختصار ، هذه أداة رائعة لمعالجة ملفات PDF ، وننصح مطوري Python بفحصها.

الأسئلة الشائعة

هل تستطيع بايثون قراءة ملف PDF؟

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

يطرح سؤال آخر هنا إذا قرأت Python ملف PDF ، فعندئذٍ:

هل يمكن لبايثون قراءة ملفات Excel أيضًا؟

نعم ، يمكن لبايثون قراءة ملفات Excel. الباندا اجعل من السهل استيراد ملف Excel إلى Python. يجب عليك استخدام اكسل للقراءة لتحقيق هذا الهدف.

هل PyPDF2 مفتوح المصدر؟

PyPDF2 هو برنامج مفتوح المصدر مرخص بموجب LGPL.

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

تتضمن مكتبة PyPDF2 العديد من أدوات سطر الأوامر التي يمكن استخدامها لتحويل ملفات PDF إلى تنسيقات أخرى. يتم تثبيت هذه الأدوات مع وحدة Python عند تثبيتها.

هل PyPDF2 آمن؟

يهدف PyPDF2 إلى توفير واجهة Python نقية لـ libpdf (المكتبة المرجعية لـ C ++ PDF) بدلاً من وجود وحدة امتداد C منفصلة مرتبطة ببايثون.

الهدف الأساسي لـ PyPDF2 هو تسهيل إنشاء تطبيقات PDF للمطورين دون الحاجة إلى القلق بشأن تثبيت بيئة تطوير معقدة أو التعامل مع إصدارات متعددة من المكتبات الخارجية.

نعم ، يمكن لبرنامج Excel استخراج البيانات من ملف PDF.

يعد Excel أداة رائعة لمعالجة البيانات وهو سهل الاستخدام. إنها أيضًا قوية جدًا ويمكن استخدامها للتعامل مع العديد من أنواع البيانات المختلفة.

بالإضافة إلى ذلك ، يعد Excel ميزة كبيرة لأنه يمكنك استخدامه على أي نظام أساسي (Windows و Mac و Linux) ، ولا تحتاج إلى أي برنامج خاص.

إن عملية استخراج البيانات من PDF ليست مباشرة ، لكننا سنوضح لك كيفية القيام بذلك خطوة بخطوة.

من الصعب استخراج النص من ملف PDF. هناك اسباب كثيرة لهذا:

تم تصميم تنسيق PDF ليقرأه البشر وليس الآلات. يحتوي تنسيق المستندات الأكثر شيوعًا في العالم على العديد من الميزات الأنيقة التي تسهل على الأشخاص القراءة ، ولكن يصعب على أجهزة الكمبيوتر التعامل معها.

يمكن أن تحتوي ملفات PDF على أي محتوى (نصوص ومخططات وصور وما إلى ذلك) ، ويمكن وضعها بأي طريقة تريدها. هذا يعني أنه لا توجد طريقة قياسية لاستخراج نص من ملف PDF - كل ملف له تصميم فريد خاص به.

قد لا يكون النص الموجود في ملف PDF معين موجودًا في المكان الذي تتوقع وجوده فيه! تحتوي بعض ملفات PDF على جداول محتويات أو فهارس تحتوي على كل نصوص المستند ؛ البعض الآخر لديه هوامش أو حواشي ختامية ؛ البعض الآخر لديهم رؤوس وتذييلات تتكرر على فترات منتظمة ؛ يستخدم البعض الآخر الإطارات أو الطبقات بدلاً من الصفحات (هذا نادر).

يمكن استخراج النص من الصور باستخدام التعرف الضوئي على الحروف (OCR). برنامج OCR هو ما يحقق ذلك. أشهر برامج OCR مفتوحة المصدر هو محرك tesseract OCR.

PyPDF2 ليس برنامج OCR.

ما هو OCR Python؟

OCR Python هي مكتبة OCR كاملة الميزات مكتوبة بلغة Python النقية. إنه يلف محرك Tesseract مفتوح المصدر OCR ويوفر واجهة برمجة تطبيقات بسيطة للمطورين لاستخدامها. OCR ، التعرف الضوئي على الحروف ، يحول الصور النصية الممسوحة ضوئيًا إلى نص رقمي يمكن البحث فيه.

تستخدم OCR Python مخرجات Tesseract عالية الجودة كأساس لها ، ويمكن استخدامها مع أي محرك OCR آخر يستخدم مكتبات Leptonica أو Harp (مثل GOCR).

إذا كنت ترغب في رقمنة المستندات باستخدام OCR ، فستساعدك هذه المكتبة بسرعة وسهولة.


النانو OCR و OCR عبر الإنترنت لديها الكثير من الاهتمام استخدم حالات tيمكن أن تحسن أداء عملك ، وتوفر التكاليف وتعزز النمو. اكتشف كيف يمكن تطبيق حالات استخدام Nanonets على منتجك.


بقعة_صورة

أحدث المعلومات الاستخباراتية

بقعة_صورة