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.
| Platform | Download |
|---|---|
| 🪟 Windows | SmartPDFPrintRouter.exe |
| 🐧 Linux | SmartPDFPrintRouter (Linux) |
| 🍎 macOS | SmartPDFPrintRouter (macOS) |
- 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.
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.
- Python 3.10 or later
- Windows 10/11 for real printer discovery, submission, and spooler tracking
- A Windows application associated with PDF
printtohandling (for example Adobe Acrobat Reader or SumatraPDF)
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -e .
smart-pdf-print-routersrc/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
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