Skip to content

abdulrahmanHatem911/test_x_printer

Repository files navigation

Test X-Printer 📄🖨️

تطبيق Flutter متقدم لطباعة المستندات والصور باستخدام طابعات X-Printer اللاسلكية والـ Bluetooth.

🌟 الميزات الرئيسية

🔌 الاتصال بالطابعة

  • البحث التلقائي: البحث عن الطابعات المتاحة عبر Bluetooth
  • الاتصال اللاسلكي: الاتصال بطابعات X-Printer بسهولة
  • مراقبة الحالة: متابعة حالة الاتصال والطابعة في الوقت الفعلي
  • قطع الاتصال: إمكانية قطع الاتصال بالطابعة بسهولة

📝 طباعة النصوص

  • طباعة النصوص المخصصة: إدخال وطباعة أي نص
  • تنسيقات متنوعة: دعم خطوط وأحجام مختلفة
  • محاذاة النص: يسار، وسط، يمين
  • تأثيرات النص: عريض، مائل، تحت خط

🖼️ طباعة الصور

  • اختيار الصور: اختيار الصور من معرض الهاتف
  • تحسين الجودة: تحسين حجم الصور للطباعة المثلى
  • معاينة فورية: مشاهدة الصورة قبل الطباعة

📄 طباعة ملفات PDF

  • اختيار ملفات PDF: تحديد ملفات PDF من الجهاز
  • تحويل تلقائي: تحويل صفحات PDF إلى صور
  • طباعة صفحة بصفحة: إمكانية طباعة صفحات محددة
  • معاينة الصفحات: عرض جميع صفحات PDF قبل الطباعة

⚡ وظائف إضافية

  • قطع الورق: قطع الورق تلقائياً بعد الطباعة
  • أمثلة للطباعة: نماذج جاهزة لاختبار الطابعة
  • واجهة سهلة: تصميم بسيط وسهل الاستخدام

🚀 كيفية الاستخدام

1. تشغيل التطبيق

flutter run

2. الاتصال بالطابعة

  1. اضغط على زر "Select Device"
  2. اضغط على "Scan" للبحث عن الطابعات
  3. اختر طابعتك من القائمة
  4. انتظر حتى يظهر "connected"

3. طباعة النصوص

  1. اكتب النص في حقل "Content"
  2. اضغط على "Print Text" (إذا كان متاحاً)

4. طباعة الصور

  1. اضغط على "Print Image"
  2. اختر صورة من المعرض
  3. ستتم طباعة الصورة تلقائياً

5. طباعة ملفات PDF

  1. اضغط على "Upload File"
  2. اختر ملف PDF من جهازك
  3. انتظر تحويل الصفحات إلى صور
  4. اضغط على "Print Page X" لطباعة صفحة محددة

6. وظائف إضافية

  • قطع الورق: اضغط على "Cut Paper"
  • مثال للطباعة: اضغط على "Print Example"

🛠️ التقنيات المستخدمة

Framework & Language

  • Flutter 3.8+: إطار العمل الأساسي
  • Dart: لغة البرمجة

المكتبات الرئيسية

  • x_printer: ^0.0.7 - التحكم في طابعات X-Printer
  • pdf_render_plus: ^1.4.16 - تحويل PDF إلى صور
  • image_picker: ^1.2.0 - اختيار الصور
  • image: ^4.5.4 - معالجة الصور
  • file_picker: ^10.3.2 - اختيار الملفات

إدارة الحالة

  • bloc: ^9.0.0 & flutter_bloc: ^9.1.1 - إدارة حالة التطبيق
  • shared_preferences: ^2.5.3 - حفظ الإعدادات
  • get_it: ^8.2.0 - حقن التبعيات

أدوات إضافية

  • fluttertoast: ^8.2.12 - رسائل التنبيه
  • dio: ^5.9.0 - طلبات الشبكة
  • path_provider: ^2.1.5 - إدارة المسارات

📱 متطلبات النظام

Android

  • الحد الأدنى: Android 21 (Android 5.0)
  • الأذونات: Bluetooth, Storage, Camera
  • المساحة: 50+ MB

iOS

  • الحد الأدنى: iOS 12.0+
  • الأذونات: Bluetooth, Photo Library
  • المساحة: 50+ MB

🔧 التثبيت والتطوير

1. استنساخ المشروع

git clone https://github.com/abdulrahmanHatem911/test_x_printer.git
cd test_x_printer

2. تثبيت التبعيات

flutter pub get

3. تشغيل التطبيق

flutter run

4. بناء التطبيق للإنتاج

# Android
flutter build apk --release

# iOS
flutter build ios --release

🎯 الاستخدامات المقترحة

  • المطاعم: طباعة فواتير الطعام
  • المتاجر: طباعة إيصالات المبيعات
  • المكاتب: طباعة المستندات والتقارير
  • التعليم: طباعة المواد التعليمية
  • الخدمات: طباعة تذاكر الخدمة

🐛 حل المشاكل الشائعة

مشكلة الاتصال بالطابعة

  • تأكد من تشغيل Bluetooth
  • تأكد من قرب الطابعة من الجهاز
  • أعد تشغيل الطابعة

مشكلة في طباعة PDF

  • تأكد من أن الملف ليس محمياً
  • تحقق من حجم الملف (يفضل أقل من 10MB)
  • تأكد من صيغة PDF صحيحة

مشكلة في طباعة الصور

  • تحقق من جودة الصورة
  • تأكد من حجم الصورة مناسب
  • جرب صورة بصيغة مختلفة

📄 الرخصة

هذا المشروع مفتوح المصدر ومتاح للاستخدام التعليمي والتطويري.

👨‍💻 المطور

عبد الرحمن حاتم

🌐 Connect with me

---

🌟 إذا أعجبك المشروع، لا تنس إعطائه نجمة!

About

flutter mobile application that demonstrates Bluetooth printer integration. The project is fully automated with a CI/CD pipeline using GitHub Actions, generating signed APK builds and delivering them directly to Telegram channels for easy distribution

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors