بسم الله الرحمن الرحيم

سأبدأ أولا بميزات البرنامج:

  1. تجزئة ملف من صفحة كذا إلى صفحة معينة.

  2. دمج ملفين في ملف واحد.

  3. تقليص ملف وإزالة هوامشه.

  4. استخراج الصور من الملف (وإن كان الملف مصورا سيُحول كله إلى صور)

لغة البرمجة والمكتبات

بُرمج التطبيق بلغة بايثون (وهو أمر ممتع) والواجهة بمكتبة tkinter (وهو امر ممل، بسبب قلة التخصيص...)

وأهم مهام التطبيق فهي من مكتبتي PyPDF2 و PyMuPDF يمكنك تثبيتها من خلال pip

المكتبة الأولى خفيفة الحجم: تقوم بجل المهام في البرنامج

المشاكل والإكراهات

المكتبة الثانية PyMuPDF لها مهمة واحدة في البرنامج وهي عرض الصورة المصغرة للملف في قسم crop

ويا للمفارقة المكتبة الأخيرة حجمها كبير، حوالي 9 ميغا لوحدها بعد عمل تجميع (compile) للبرنامج !!!!

وما يزيد الامر سوءا مع المكتبة هذه بالخصوص أنها غير متوافقة مع thread مما يسبب تهنج لواجهة البرنامج أثناء عملها!!!!

البديل المتوفر لهذا المكتبة يتطلب تثبيت برامج جانبية، وهذا سيء لتجربة المستخدم

المشكل الآخر يتعلق بتحزيم (installer) البرنامج.

عند إنشاء ملف واحد (onefile) باستخدام PyInstaller تتراقص جميع برامج الحماية لتعلن أن هذا الملف بوثقة للفيروسات والبرمجيات الضارة، ونفس النتيجة أحصل عليها عند رفع الملف على virusTotal جميع منصات الحماية تحذر منه.

بعد بحثي على الشبكة وجدت أن المشكلة شائعة وأن تصنيف برامج Pyinstaller Onefile كبرمجيات خبيثة راجع إلى أنه عبارة عن ملف ذاتي الاستخراج، وهو سلوك غير محبذ عند برامج الحماية.

الحل الذي توصلت إليه: تجميع البرنامج إلى exe باستخدام Pyinstaller ثم تحزيمه كملف مضغوط أو عمل installer ببرنامج Inno installer.

رابط البرنامج

ما رأيكم بالبرنامج؟