Skip to content

Repository files navigation

Smart PDF Print Router

English | العربية

GitHub release Windows Linux macOS License: MIT

English

Smart PDF Print Router is a Windows-first desktop application for importing PDF batches, assigning selected files to printers, and following each request through the Windows print queue.

Smart PDF Print Router Screenshot

Download

Platform Download
🪟 Windows SmartPDFPrintRouter.exe
🐧 Linux SmartPDFPrintRouter (Linux)
🍎 macOS SmartPDFPrintRouter (macOS)

Features

  • Drag and drop PDF files or folders; folders are scanned recursively.
  • Background metadata extraction for file name, page count, and size, so importing large batches does not freeze the interface.
  • Assign a group, printer, and copy count to any selected files.
  • Browse the same batch as a table, a PDF-preview grid, or a folder tree; selecting a folder selects every PDF below it for routing.
  • Discover local and network printers exposed by Windows.
  • Keep a local, persistent queue for planned printer targets and show both app jobs and Windows spooler jobs per printer.
  • Arabic and English interface, including right-to-left layout for Arabic.
  • Dark mode by default.

Important print-status note

Windows spooler status means the request was accepted, is being processed, or has left the print queue. It cannot prove that a physical page was successfully printed: a printer may still run out of paper, jam, or have device-side errors after the job leaves the Windows queue. The app presents this limitation in its status wording and reports spooler errors when Windows exposes them.

When no Windows printer is installed, you can add a saved printer target and route files to it. Those files stay in the application's persistent Pending queue. They cannot be sent to a real Windows print queue until that printer driver is installed on the machine; a name alone cannot create a Windows spooler job.

Requirements (run from source)

  • Python 3.10 or later
  • Windows 10/11 for real printer discovery, submission, and spooler tracking
  • A Windows application associated with PDF printto handling (for example Adobe Acrobat Reader or SumatraPDF)

Run locally

py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -e .
smart-pdf-print-router

Repository layout

src/smart_pdf_print_router/
  app.py                 Application entry point
  core.py                Domain model and state transitions
  services/              PDF metadata and Windows printing services
  ui/                    PyQt6 model and main window
docs/                    Documentation and screenshots

Current scope

The first release intentionally targets Windows. PDF rendering/printing is delegated to the registered Windows PDF handler through the printto verb. This is reliable for broad compatibility, but different PDF handlers expose different job names and copy-control behavior. For controlled enterprise deployments, configure the same supported PDF handler on all workstations.

العربية

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

واجهة التطبيق

التحميل

النظام التحميل
🪟 ويندوز SmartPDFPrintRouter.exe
🐧 لينكس SmartPDFPrintRouter (Linux)
🍎 ماك SmartPDFPrintRouter (macOS)

المزايا

  • سحب وإفلات ملفات PDF أو المجلدات، مع البحث داخل المجلدات الفرعية.
  • قراءة اسم الملف وعدد الصفحات والحجم في الخلفية بدون تجميد الواجهة عند استيراد دفعات كبيرة.
  • تعيين مجموعة وطابعة وعدد نسخ للملفات المحددة.
  • عرض الدفعة كجدول أو شبكة معاينات PDF أو شجرة مجلدات؛ اختيار مجلد يحدد كل ملفات PDF تحته لتوجيهها معاً.
  • اكتشاف الطابعات المحلية والشبكية المتاحة في Windows.
  • حفظ قائمة انتظار محلية دائمة للطابعات المخطط لها، وعرض مهام التطبيق ووظائف Windows لكل طابعة.
  • واجهة عربية وإنجليزية مع اتجاه من اليمين إلى اليسار عند اختيار العربية.
  • الوضع الداكن هو الافتراضي.

ملاحظة مهمة عن حالة الطباعة

حالة قائمة انتظار Windows تعني أن الطلب قُبل أو يُعالج أو غادر قائمة الانتظار. لا يمكنها تأكيد خروج الورقة فعلياً من الطابعة، فقد يحدث نفاد ورق أو انحشار أو خطأ داخل الطابعة بعد مغادرة الوظيفة لقائمة الانتظار. التطبيق يوضح هذا الفرق ويعرض أخطاء الـSpooler التي يوفّرها Windows.

عندما لا تكون هناك طابعة Windows مثبّتة، يمكن إضافة اسم طابعة محفوظ وتوجيه الملفات إليه. تبقى هذه الملفات في حالة انتظار داخل التطبيق حتى بعد إغلاقه. لا يمكن إرسالها إلى طابور Windows الحقيقي قبل تثبيت تعريف الطابعة على الجهاز، لأن اسم الطابعة وحده لا ينشئ مهمة في الـSpooler.

المتطلبات (التشغيل من الكود)

  • Windows 10 أو 11 لاكتشاف الطابعات والطباعة والتتبع الفعلي
  • Python 3.10 أو أحدث
  • برنامج قارئ PDF مسجل في Windows ويدعم أمر printto مثل Adobe Acrobat Reader أو SumatraPDF

التشغيل محلياً

py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -e .
smart-pdf-print-router

About

A Windows desktop application (PyQt6) to batch import PDFs, route them to selected printers with copy control, and track jobs via the Windows print spooler.

Resources

Contributing

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages