English | 中文 | 日本語 | Русский | العربية | فارسی
یک برنامه دسکتاپ که اسناد PDF را با استفاده از تشخیص بصری مدلهای زبانی بزرگ (LLM) به فرمت Markdown تبدیل میکند.
- پشتیبانی از چندین LLM: OpenAI، Anthropic Claude، Google Gemini، Ollama (مدلهای محلی) و OpenAI Responses API
- تبدیل با کیفیت بالا: استفاده از قابلیتهای بینایی LLM برای تبدیل دقیق PDF به Markdown
- پیشنمایش کنار هم: مشاهده صفحات اصلی PDF در کنار Markdown تولید شده
- پشتیبانی از ریاضیات و کد: پشتیبانی کامل از معادلات LaTeX (KaTeX) و بلوکهای کد با برجستهسازی نحوی
- رابط کاربری چند زبانه: انگلیسی، چینی، ژاپنی، روسی، عربی و فارسی
- پردازش موازی: نمونههای کارگر قابل تنظیم برای تبدیل سریعتر
- پیگیری پیشرفت: بهروزرسانی وضعیت در زمان واقعی و پشتیبانی از تلاش مجدد برای هر صفحه
- ذخیرهسازی محلی: پایگاه داده SQLite برای ماندگاری وظایف
اجرای مستقیم با npx (نیاز به Node.js 18+):
npx -y markpdfdownآخرین نسخه را برای پلتفرم خود از صفحه Releases دانلود کنید:
- Windows:
MarkPDFdown-{version}-x64.exe - macOS:
MarkPDFdown-{version}-arm64.dmg/MarkPDFdown-{version}-x64.dmg - Linux:
MarkPDFdown-{version}-x86_64.AppImage
- پیکربندی ارائهدهنده: به تنظیمات بروید و اعتبارنامههای ارائهدهنده LLM را اضافه کنید (کلید API، آدرس پایه)
- افزودن مدل: مدلی که میخواهید برای تبدیل استفاده کنید را پیکربندی کنید
- آپلود PDF: فایل PDF را بکشید و رها کنید یا کلیک کنید تا انتخاب کنید
- انتخاب مدل: مدل LLM را برای تبدیل انتخاب کنید
- تبدیل: فرآیند تبدیل را شروع کنید
- پیشنمایش: نتایج را صفحه به صفحه با مقایسه کنار هم مشاهده کنید
- دانلود: فایل Markdown ادغام شده را صادر کنید
- Node.js 18+
- npm 8+
# نصب وابستگیها
npm install
# تولید کلاینت Prisma
npm run generate
# اجرای مایگریشنهای پایگاه داده
npm run migrate:dev
# شروع سرور توسعه
npm run dev# ساخت تولیدی
npm run build
# نصبکنندههای مخصوص پلتفرم
npm run build:win # نصبکننده Windows NSIS
npm run build:mac # macOS DMG
npm run build:linux # Linux AppImagenpm test # اجرای تمام تستها
npm run test:unit # فقط تستهای واحد
npm run test:renderer # فقط تستهای کامپوننت
npm run test:coverage # تولید گزارش پوششsrc/
├── main/ # فرآیند اصلی Electron
│ ├── index.ts # نقطه ورود برنامه، ایجاد پنجره، راهاندازی IPC
│ └── ipc/ # هندلرهای IPC
├── preload/ # اسکریپتهای پیشبارگذاری (window.api)
├── renderer/ # فرانتاند React
│ ├── components/ # کامپوننتهای UI
│ ├── pages/ # صفحات مسیر
│ └── locales/ # ترجمههای i18n
├── core/ # منطق کسبوکار (معماری تمیز)
│ ├── infrastructure/ # پایگاه داده، سرویسهای خارجی
│ ├── application/ # کارگرها، هماهنگسازی
│ ├── domain/ # رابطها، انواع دامنه
│ └── shared/ # گذرگاه رویداد، ابزارها
└── shared/ # انواع مشترک بین main/renderer
- فریمورک: Electron 35 + React 18 + TypeScript
- ابزار ساخت: Vite 6
- رابط کاربری: Ant Design 5
- پایگاه داده: Prisma ORM + SQLite
- پردازش PDF: pdf-lib، pdf-to-png-converter، Sharp
- Markdown: react-markdown، remark-gfm، remark-math، rehype-katex، rehype-prism-plus
- تست: Vitest + Testing Library
| ارائهدهنده | مدلها | یادداشتها |
|---|---|---|
| OpenAI | GPT-4o، GPT-4-turbo و غیره | نیاز به کلید API |
| Anthropic | Claude 3.5، Claude 3 و غیره | نیاز به کلید API |
| Google Gemini | Gemini Pro، Gemini Flash و غیره | نیاز به کلید API |
| Ollama | LLaVA، Llama 3.2 Vision و غیره | محلی، بدون نیاز به کلید API |
| OpenAI Responses | هر مدل سازگار با OpenAI | پشتیبانی از endpoint سفارشی |
از مشارکتها استقبال میشود! لطفاً فایل AGENTS.md را برای راهنمای توسعه مطالعه کنید.