markpdfdown 0.1.3 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ar.md ADDED
@@ -0,0 +1,144 @@
1
+ <div dir="rtl">
2
+
3
+ # MarkPDFdown
4
+
5
+ [English](./README.md) | [中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Русский](./README.ru.md) | [العربية](./README.ar.md) | [فارسی](./README.fa.md)
6
+
7
+ تطبيق سطح مكتب يقوم بتحويل مستندات PDF إلى تنسيق Markdown باستخدام التعرف البصري لنماذج اللغة الكبيرة (LLM).
8
+
9
+ ## المميزات
10
+
11
+ - **دعم نماذج LLM متعددة**: OpenAI وAnthropic Claude وGoogle Gemini وOllama (نماذج محلية) وOpenAI Responses API
12
+ - **تحويل عالي الجودة**: يستفيد من قدرات الرؤية في LLM لتحويل دقيق من PDF إلى Markdown
13
+ - **معاينة جنبًا إلى جنب**: عرض صفحات PDF الأصلية بجانب Markdown المُنشأ
14
+ - **دعم الرياضيات والأكواد**: دعم كامل لمعادلات LaTeX (KaTeX) وكتل الأكواد مع تمييز بناء الجملة
15
+ - **واجهة متعددة اللغات**: الإنجليزية والصينية واليابانية والروسية والعربية والفارسية
16
+ - **المعالجة المتوازية**: مثيلات عمل قابلة للتكوين لتحويل أسرع
17
+ - **تتبع التقدم**: تحديثات الحالة في الوقت الفعلي ودعم إعادة المحاولة لكل صفحة
18
+ - **التخزين المحلي**: قاعدة بيانات SQLite لحفظ المهام
19
+
20
+ ## لقطات الشاشة
21
+
22
+ <img width="1264" height="848" alt="1769311168213_download" src="https://github.com/user-attachments/assets/15b5a801-6729-492a-a979-1fc4dba6853a" />
23
+
24
+ ## التثبيت
25
+
26
+ ### البدء السريع (موصى به)
27
+
28
+ التشغيل مباشرة باستخدام npx (يتطلب Node.js 18+):
29
+
30
+ ```bash
31
+ npx -y markpdfdown
32
+ ```
33
+
34
+ ### تحميل المثبت
35
+
36
+ قم بتحميل أحدث إصدار لمنصتك من صفحة [Releases](https://github.com/MarkPDFdown/markpdfdown-desktop/releases):
37
+
38
+ - **Windows**: `MarkPDFdown-{version}-x64.exe`
39
+ - **macOS**: `MarkPDFdown-{version}-arm64.dmg` / `MarkPDFdown-{version}-x64.dmg`
40
+ - **Linux**: `MarkPDFdown-{version}-x86_64.AppImage`
41
+
42
+ ## الاستخدام
43
+
44
+ 1. **تكوين المزود**: انتقل إلى الإعدادات وأضف بيانات اعتماد مزود LLM (مفتاح API، عنوان URL الأساسي)
45
+ 2. **إضافة النموذج**: قم بتكوين النموذج الذي تريد استخدامه للتحويل
46
+ 3. **رفع PDF**: اسحب وأفلت أو انقر لاختيار ملف PDF
47
+ 4. **اختيار النموذج**: اختر نموذج LLM للتحويل
48
+ 5. **التحويل**: ابدأ عملية التحويل
49
+ 6. **المعاينة**: عرض النتائج صفحة بصفحة مع المقارنة جنبًا إلى جنب
50
+ 7. **التحميل**: تصدير ملف Markdown المدمج
51
+
52
+ ## التطوير
53
+
54
+ ### المتطلبات الأساسية
55
+
56
+ - Node.js 18+
57
+ - npm 8+
58
+
59
+ ### الإعداد
60
+
61
+ ```bash
62
+ # تثبيت التبعيات
63
+ npm install
64
+
65
+ # إنشاء عميل Prisma
66
+ npm run generate
67
+
68
+ # تشغيل ترحيلات قاعدة البيانات
69
+ npm run migrate:dev
70
+
71
+ # تشغيل خادم التطوير
72
+ npm run dev
73
+ ```
74
+
75
+ ### البناء
76
+
77
+ ```bash
78
+ # بناء الإنتاج
79
+ npm run build
80
+
81
+ # مثبتات خاصة بالمنصة
82
+ npm run build:win # مثبت Windows NSIS
83
+ npm run build:mac # macOS DMG
84
+ npm run build:linux # Linux AppImage
85
+ ```
86
+
87
+ ### الاختبار
88
+
89
+ ```bash
90
+ npm test # تشغيل جميع الاختبارات
91
+ npm run test:unit # اختبارات الوحدة فقط
92
+ npm run test:renderer # اختبارات المكونات فقط
93
+ npm run test:coverage # إنشاء تقرير التغطية
94
+ ```
95
+
96
+ ### هيكل المشروع
97
+
98
+ ```
99
+ src/
100
+ ├── main/ # العملية الرئيسية لـ Electron
101
+ │ ├── index.ts # نقطة الدخول، إنشاء النافذة، إعداد IPC
102
+ │ └── ipc/ # معالجات IPC
103
+ ├── preload/ # سكربتات التحميل المسبق (window.api)
104
+ ├── renderer/ # واجهة React الأمامية
105
+ │ ├── components/ # مكونات واجهة المستخدم
106
+ │ ├── pages/ # صفحات المسارات
107
+ │ └── locales/ # ترجمات i18n
108
+ ├── core/ # منطق الأعمال (العمارة النظيفة)
109
+ │ ├── infrastructure/ # قاعدة البيانات، الخدمات الخارجية
110
+ │ ├── application/ # العمال، التنسيق
111
+ │ ├── domain/ # الواجهات، أنواع المجال
112
+ │ └── shared/ # ناقل الأحداث، الأدوات المساعدة
113
+ └── shared/ # الأنواع المشتركة بين main/renderer
114
+ ```
115
+
116
+ ## المكدس التقني
117
+
118
+ - **الإطار**: Electron 35 + React 18 + TypeScript
119
+ - **أداة البناء**: Vite 6
120
+ - **واجهة المستخدم**: Ant Design 5
121
+ - **قاعدة البيانات**: Prisma ORM + SQLite
122
+ - **معالجة PDF**: pdf-lib، pdf-to-png-converter، Sharp
123
+ - **Markdown**: react-markdown، remark-gfm، remark-math، rehype-katex، rehype-prism-plus
124
+ - **الاختبار**: Vitest + Testing Library
125
+
126
+ ## مزودو LLM المدعومون
127
+
128
+ | المزود | النماذج | ملاحظات |
129
+ |--------|---------|---------|
130
+ | OpenAI | GPT-4o، GPT-4-turbo، إلخ. | يتطلب مفتاح API |
131
+ | Anthropic | Claude 3.5، Claude 3، إلخ. | يتطلب مفتاح API |
132
+ | Google Gemini | Gemini Pro، Gemini Flash، إلخ. | يتطلب مفتاح API |
133
+ | Ollama | LLaVA، Llama 3.2 Vision، إلخ. | محلي، لا يحتاج مفتاح API |
134
+ | OpenAI Responses | أي نموذج متوافق مع OpenAI | دعم نقطة النهاية المخصصة |
135
+
136
+ ## الترخيص
137
+
138
+ [Apache-2.0](./LICENSE)
139
+
140
+ ## المساهمة
141
+
142
+ المساهمات مرحب بها! يرجى قراءة ملف [AGENTS.md](./AGENTS.md) للاطلاع على إرشادات التطوير.
143
+
144
+ </div>
package/README.fa.md ADDED
@@ -0,0 +1,144 @@
1
+ <div dir="rtl">
2
+
3
+ # MarkPDFdown
4
+
5
+ [English](./README.md) | [中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Русский](./README.ru.md) | [العربية](./README.ar.md) | [فارسی](./README.fa.md)
6
+
7
+ یک برنامه دسکتاپ که اسناد PDF را با استفاده از تشخیص بصری مدل‌های زبانی بزرگ (LLM) به فرمت Markdown تبدیل می‌کند.
8
+
9
+ ## ویژگی‌ها
10
+
11
+ - **پشتیبانی از چندین LLM**: OpenAI، Anthropic Claude، Google Gemini، Ollama (مدل‌های محلی) و OpenAI Responses API
12
+ - **تبدیل با کیفیت بالا**: استفاده از قابلیت‌های بینایی LLM برای تبدیل دقیق PDF به Markdown
13
+ - **پیش‌نمایش کنار هم**: مشاهده صفحات اصلی PDF در کنار Markdown تولید شده
14
+ - **پشتیبانی از ریاضیات و کد**: پشتیبانی کامل از معادلات LaTeX (KaTeX) و بلوک‌های کد با برجسته‌سازی نحوی
15
+ - **رابط کاربری چند زبانه**: انگلیسی، چینی، ژاپنی، روسی، عربی و فارسی
16
+ - **پردازش موازی**: نمونه‌های کارگر قابل تنظیم برای تبدیل سریع‌تر
17
+ - **پیگیری پیشرفت**: به‌روزرسانی وضعیت در زمان واقعی و پشتیبانی از تلاش مجدد برای هر صفحه
18
+ - **ذخیره‌سازی محلی**: پایگاه داده SQLite برای ماندگاری وظایف
19
+
20
+ ## تصاویر
21
+
22
+ <img width="1264" height="848" alt="1769311168213_download" src="https://github.com/user-attachments/assets/15b5a801-6729-492a-a979-1fc4dba6853a" />
23
+
24
+ ## نصب
25
+
26
+ ### شروع سریع (پیشنهادی)
27
+
28
+ اجرای مستقیم با npx (نیاز به Node.js 18+):
29
+
30
+ ```bash
31
+ npx -y markpdfdown
32
+ ```
33
+
34
+ ### دانلود نصب‌کننده
35
+
36
+ آخرین نسخه را برای پلتفرم خود از صفحه [Releases](https://github.com/MarkPDFdown/markpdfdown-desktop/releases) دانلود کنید:
37
+
38
+ - **Windows**: `MarkPDFdown-{version}-x64.exe`
39
+ - **macOS**: `MarkPDFdown-{version}-arm64.dmg` / `MarkPDFdown-{version}-x64.dmg`
40
+ - **Linux**: `MarkPDFdown-{version}-x86_64.AppImage`
41
+
42
+ ## نحوه استفاده
43
+
44
+ 1. **پیکربندی ارائه‌دهنده**: به تنظیمات بروید و اعتبارنامه‌های ارائه‌دهنده LLM را اضافه کنید (کلید API، آدرس پایه)
45
+ 2. **افزودن مدل**: مدلی که می‌خواهید برای تبدیل استفاده کنید را پیکربندی کنید
46
+ 3. **آپلود PDF**: فایل PDF را بکشید و رها کنید یا کلیک کنید تا انتخاب کنید
47
+ 4. **انتخاب مدل**: مدل LLM را برای تبدیل انتخاب کنید
48
+ 5. **تبدیل**: فرآیند تبدیل را شروع کنید
49
+ 6. **پیش‌نمایش**: نتایج را صفحه به صفحه با مقایسه کنار هم مشاهده کنید
50
+ 7. **دانلود**: فایل Markdown ادغام شده را صادر کنید
51
+
52
+ ## توسعه
53
+
54
+ ### پیش‌نیازها
55
+
56
+ - Node.js 18+
57
+ - npm 8+
58
+
59
+ ### راه‌اندازی
60
+
61
+ ```bash
62
+ # نصب وابستگی‌ها
63
+ npm install
64
+
65
+ # تولید کلاینت Prisma
66
+ npm run generate
67
+
68
+ # اجرای مایگریشن‌های پایگاه داده
69
+ npm run migrate:dev
70
+
71
+ # شروع سرور توسعه
72
+ npm run dev
73
+ ```
74
+
75
+ ### ساخت
76
+
77
+ ```bash
78
+ # ساخت تولیدی
79
+ npm run build
80
+
81
+ # نصب‌کننده‌های مخصوص پلتفرم
82
+ npm run build:win # نصب‌کننده Windows NSIS
83
+ npm run build:mac # macOS DMG
84
+ npm run build:linux # Linux AppImage
85
+ ```
86
+
87
+ ### تست
88
+
89
+ ```bash
90
+ npm test # اجرای تمام تست‌ها
91
+ npm run test:unit # فقط تست‌های واحد
92
+ npm run test:renderer # فقط تست‌های کامپوننت
93
+ npm run test:coverage # تولید گزارش پوشش
94
+ ```
95
+
96
+ ### ساختار پروژه
97
+
98
+ ```
99
+ src/
100
+ ├── main/ # فرآیند اصلی Electron
101
+ │ ├── index.ts # نقطه ورود برنامه، ایجاد پنجره، راه‌اندازی IPC
102
+ │ └── ipc/ # هندلرهای IPC
103
+ ├── preload/ # اسکریپت‌های پیش‌بارگذاری (window.api)
104
+ ├── renderer/ # فرانت‌اند React
105
+ │ ├── components/ # کامپوننت‌های UI
106
+ │ ├── pages/ # صفحات مسیر
107
+ │ └── locales/ # ترجمه‌های i18n
108
+ ├── core/ # منطق کسب‌وکار (معماری تمیز)
109
+ │ ├── infrastructure/ # پایگاه داده، سرویس‌های خارجی
110
+ │ ├── application/ # کارگرها، هماهنگ‌سازی
111
+ │ ├── domain/ # رابط‌ها، انواع دامنه
112
+ │ └── shared/ # گذرگاه رویداد، ابزارها
113
+ └── shared/ # انواع مشترک بین main/renderer
114
+ ```
115
+
116
+ ## پشته فناوری
117
+
118
+ - **فریم‌ورک**: Electron 35 + React 18 + TypeScript
119
+ - **ابزار ساخت**: Vite 6
120
+ - **رابط کاربری**: Ant Design 5
121
+ - **پایگاه داده**: Prisma ORM + SQLite
122
+ - **پردازش PDF**: pdf-lib، pdf-to-png-converter، Sharp
123
+ - **Markdown**: react-markdown، remark-gfm، remark-math، rehype-katex، rehype-prism-plus
124
+ - **تست**: Vitest + Testing Library
125
+
126
+ ## ارائه‌دهندگان LLM پشتیبانی شده
127
+
128
+ | ارائه‌دهنده | مدل‌ها | یادداشت‌ها |
129
+ |-------------|--------|------------|
130
+ | OpenAI | GPT-4o، GPT-4-turbo و غیره | نیاز به کلید API |
131
+ | Anthropic | Claude 3.5، Claude 3 و غیره | نیاز به کلید API |
132
+ | Google Gemini | Gemini Pro، Gemini Flash و غیره | نیاز به کلید API |
133
+ | Ollama | LLaVA، Llama 3.2 Vision و غیره | محلی، بدون نیاز به کلید API |
134
+ | OpenAI Responses | هر مدل سازگار با OpenAI | پشتیبانی از endpoint سفارشی |
135
+
136
+ ## مجوز
137
+
138
+ [Apache-2.0](./LICENSE)
139
+
140
+ ## مشارکت
141
+
142
+ از مشارکت‌ها استقبال می‌شود! لطفاً فایل [AGENTS.md](./AGENTS.md) را برای راهنمای توسعه مطالعه کنید.
143
+
144
+ </div>
package/README.ja.md ADDED
@@ -0,0 +1,140 @@
1
+ # MarkPDFdown
2
+
3
+ [English](./README.md) | [中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Русский](./README.ru.md) | [العربية](./README.ar.md) | [فارسی](./README.fa.md)
4
+
5
+ 大規模言語モデル(LLM)の視覚認識機能を使用して、PDFドキュメントをMarkdown形式に変換するデスクトップアプリケーションです。
6
+
7
+ ## 機能
8
+
9
+ - **マルチLLMサポート**:OpenAI、Anthropic Claude、Google Gemini、Ollama(ローカルモデル)、OpenAI Responses API
10
+ - **高品質変換**:LLMのビジョン機能を活用した正確なPDFからMarkdownへの変換
11
+ - **並列プレビュー**:元のPDFページと生成されたMarkdownを並べて表示
12
+ - **数式・コードサポート**:LaTeX数式(KaTeX)とシンタックスハイライト付きコードブロックの完全サポート
13
+ - **多言語UI**:英語、中国語、日本語、ロシア語、アラビア語、ペルシア語
14
+ - **並列処理**:高速変換のための設定可能なワーカーインスタンス
15
+ - **進捗追跡**:リアルタイムのステータス更新とページごとのリトライサポート
16
+ - **ローカルストレージ**:タスク永続化のためのSQLiteデータベース
17
+
18
+ ## スクリーンショット
19
+
20
+ <img width="1264" height="848" alt="1769311168213_download" src="https://github.com/user-attachments/assets/15b5a801-6729-492a-a979-1fc4dba6853a" />
21
+
22
+ ## インストール
23
+
24
+ ### クイックスタート(推奨)
25
+
26
+ npxで直接実行(Node.js 18+が必要):
27
+
28
+ ```bash
29
+ npx -y markpdfdown
30
+ ```
31
+
32
+ ### インストーラーのダウンロード
33
+
34
+ [Releases](https://github.com/MarkPDFdown/markpdfdown-desktop/releases)ページからお使いのプラットフォーム用の最新版をダウンロードしてください:
35
+
36
+ - **Windows**:`MarkPDFdown-{version}-x64.exe`
37
+ - **macOS**:`MarkPDFdown-{version}-arm64.dmg` / `MarkPDFdown-{version}-x64.dmg`
38
+ - **Linux**:`MarkPDFdown-{version}-x86_64.AppImage`
39
+
40
+ ## 使い方
41
+
42
+ 1. **プロバイダーの設定**:設定画面でLLMプロバイダーの認証情報(APIキー、ベースURL)を追加
43
+ 2. **モデルの追加**:変換に使用するモデルを設定
44
+ 3. **PDFのアップロード**:ドラッグ&ドロップまたはクリックしてPDFファイルを選択
45
+ 4. **モデルの選択**:変換に使用するLLMモデルを選択
46
+ 5. **変換**:変換プロセスを開始
47
+ 6. **プレビュー**:並列比較で結果をページごとに表示
48
+ 7. **ダウンロード**:結合されたMarkdownファイルをエクスポート
49
+
50
+ ## 開発
51
+
52
+ ### 前提条件
53
+
54
+ - Node.js 18+
55
+ - npm 8+
56
+
57
+ ### セットアップ
58
+
59
+ ```bash
60
+ # 依存関係のインストール
61
+ npm install
62
+
63
+ # Prismaクライアントの生成
64
+ npm run generate
65
+
66
+ # データベースマイグレーションの実行
67
+ npm run migrate:dev
68
+
69
+ # 開発サーバーの起動
70
+ npm run dev
71
+ ```
72
+
73
+ ### ビルド
74
+
75
+ ```bash
76
+ # プロダクションビルド
77
+ npm run build
78
+
79
+ # プラットフォーム別インストーラー
80
+ npm run build:win # Windows NSISインストーラー
81
+ npm run build:mac # macOS DMG
82
+ npm run build:linux # Linux AppImage
83
+ ```
84
+
85
+ ### テスト
86
+
87
+ ```bash
88
+ npm test # 全テストを実行
89
+ npm run test:unit # ユニットテストのみ
90
+ npm run test:renderer # コンポーネントテストのみ
91
+ npm run test:coverage # カバレッジレポートを生成
92
+ ```
93
+
94
+ ### プロジェクト構造
95
+
96
+ ```
97
+ src/
98
+ ├── main/ # Electronメインプロセス
99
+ │ ├── index.ts # アプリエントリー、ウィンドウ作成、IPCセットアップ
100
+ │ └── ipc/ # IPCハンドラー
101
+ ├── preload/ # プリロードスクリプト(window.api)
102
+ ├── renderer/ # Reactフロントエンド
103
+ │ ├── components/ # UIコンポーネント
104
+ │ ├── pages/ # ルートページ
105
+ │ └── locales/ # i18n翻訳
106
+ ├── core/ # ビジネスロジック(クリーンアーキテクチャ)
107
+ │ ├── infrastructure/ # データベース、外部サービス
108
+ │ ├── application/ # ワーカー、オーケストレーション
109
+ │ ├── domain/ # インターフェース、ドメイン型
110
+ │ └── shared/ # イベントバス、ユーティリティ
111
+ └── shared/ # メイン/レンダラー間の共有型
112
+ ```
113
+
114
+ ## 技術スタック
115
+
116
+ - **フレームワーク**:Electron 35 + React 18 + TypeScript
117
+ - **ビルドツール**:Vite 6
118
+ - **UI**:Ant Design 5
119
+ - **データベース**:Prisma ORM + SQLite
120
+ - **PDF処理**:pdf-lib、pdf-to-png-converter、Sharp
121
+ - **Markdown**:react-markdown、remark-gfm、remark-math、rehype-katex、rehype-prism-plus
122
+ - **テスト**:Vitest + Testing Library
123
+
124
+ ## 対応LLMプロバイダー
125
+
126
+ | プロバイダー | モデル | 備考 |
127
+ |-------------|--------|------|
128
+ | OpenAI | GPT-4o、GPT-4-turboなど | APIキーが必要 |
129
+ | Anthropic | Claude 3.5、Claude 3など | APIキーが必要 |
130
+ | Google Gemini | Gemini Pro、Gemini Flashなど | APIキーが必要 |
131
+ | Ollama | LLaVA、Llama 3.2 Visionなど | ローカル実行、APIキー不要 |
132
+ | OpenAI Responses | OpenAI互換モデル | カスタムエンドポイントサポート |
133
+
134
+ ## ライセンス
135
+
136
+ [Apache-2.0](./LICENSE)
137
+
138
+ ## コントリビューション
139
+
140
+ コントリビューションを歓迎します!開発ガイドラインについては[AGENTS.md](./AGENTS.md)ファイルをお読みください。
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # MarkPDFdown
2
2
 
3
+ [English](./README.md) | [中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Русский](./README.ru.md) | [العربية](./README.ar.md) | [فارسی](./README.fa.md)
4
+
3
5
  A desktop application that converts PDF documents to Markdown format using Large Language Model (LLM) visual recognition.
4
6
 
5
7
  ## Features
@@ -15,11 +17,21 @@ A desktop application that converts PDF documents to Markdown format using Large
15
17
 
16
18
  ## Screenshots
17
19
 
18
- <!-- Add screenshots here -->
20
+ <img width="1264" height="848" alt="1769311168213_download" src="https://github.com/user-attachments/assets/15b5a801-6729-492a-a979-1fc4dba6853a" />
19
21
 
20
22
  ## Installation
21
23
 
22
- Download the latest release for your platform from the [Releases](https://github.com/MarkPDFdown/desktop/releases) page:
24
+ ### Quick Start (Recommended)
25
+
26
+ Run directly with npx (requires Node.js 18+):
27
+
28
+ ```bash
29
+ npx -y markpdfdown
30
+ ```
31
+
32
+ ### Download Installer
33
+
34
+ Download the latest release for your platform from the [Releases](https://github.com/MarkPDFdown/markpdfdown-desktop/releases) page:
23
35
 
24
36
  - **Windows**: `MarkPDFdown-{version}-x64.exe`
25
37
  - **macOS**: `MarkPDFdown-{version}-arm64.dmg` / `MarkPDFdown-{version}-x64.dmg`
package/README.ru.md ADDED
@@ -0,0 +1,140 @@
1
+ # MarkPDFdown
2
+
3
+ [English](./README.md) | [中文](./README.zh-CN.md) | [日本語](./README.ja.md) | [Русский](./README.ru.md) | [العربية](./README.ar.md) | [فارسی](./README.fa.md)
4
+
5
+ Настольное приложение для конвертации PDF-документов в формат Markdown с использованием визуального распознавания на основе больших языковых моделей (LLM).
6
+
7
+ ## Возможности
8
+
9
+ - **Поддержка нескольких LLM**: OpenAI, Anthropic Claude, Google Gemini, Ollama (локальные модели) и OpenAI Responses API
10
+ - **Высококачественная конвертация**: Использование возможностей компьютерного зрения LLM для точного преобразования PDF в Markdown
11
+ - **Параллельный просмотр**: Просмотр оригинальных страниц PDF рядом с сгенерированным Markdown
12
+ - **Поддержка формул и кода**: Полная поддержка LaTeX-уравнений (KaTeX) и блоков кода с подсветкой синтаксиса
13
+ - **Многоязычный интерфейс**: Английский, китайский, японский, русский, арабский и персидский
14
+ - **Параллельная обработка**: Настраиваемое количество рабочих процессов для ускорения конвертации
15
+ - **Отслеживание прогресса**: Обновление статуса в реальном времени и поддержка повторной обработки отдельных страниц
16
+ - **Локальное хранилище**: База данных SQLite для сохранения задач
17
+
18
+ ## Скриншоты
19
+
20
+ <img width="1264" height="848" alt="1769311168213_download" src="https://github.com/user-attachments/assets/15b5a801-6729-492a-a979-1fc4dba6853a" />
21
+
22
+ ## Установка
23
+
24
+ ### Быстрый старт (рекомендуется)
25
+
26
+ Запуск напрямую через npx (требуется Node.js 18+):
27
+
28
+ ```bash
29
+ npx -y markpdfdown
30
+ ```
31
+
32
+ ### Скачать установщик
33
+
34
+ Скачайте последнюю версию для вашей платформы со страницы [Releases](https://github.com/MarkPDFdown/markpdfdown-desktop/releases):
35
+
36
+ - **Windows**: `MarkPDFdown-{version}-x64.exe`
37
+ - **macOS**: `MarkPDFdown-{version}-arm64.dmg` / `MarkPDFdown-{version}-x64.dmg`
38
+ - **Linux**: `MarkPDFdown-{version}-x86_64.AppImage`
39
+
40
+ ## Использование
41
+
42
+ 1. **Настройка провайдера**: Перейдите в Настройки и добавьте учётные данные LLM-провайдера (API-ключ, базовый URL)
43
+ 2. **Добавление модели**: Настройте модель, которую хотите использовать для конвертации
44
+ 3. **Загрузка PDF**: Перетащите или нажмите для выбора PDF-файла
45
+ 4. **Выбор модели**: Выберите LLM-модель для конвертации
46
+ 5. **Конвертация**: Запустите процесс конвертации
47
+ 6. **Просмотр**: Просматривайте результаты постранично с параллельным сравнением
48
+ 7. **Скачивание**: Экспортируйте объединённый Markdown-файл
49
+
50
+ ## Разработка
51
+
52
+ ### Требования
53
+
54
+ - Node.js 18+
55
+ - npm 8+
56
+
57
+ ### Настройка
58
+
59
+ ```bash
60
+ # Установка зависимостей
61
+ npm install
62
+
63
+ # Генерация Prisma-клиента
64
+ npm run generate
65
+
66
+ # Запуск миграций базы данных
67
+ npm run migrate:dev
68
+
69
+ # Запуск сервера разработки
70
+ npm run dev
71
+ ```
72
+
73
+ ### Сборка
74
+
75
+ ```bash
76
+ # Продакшн-сборка
77
+ npm run build
78
+
79
+ # Установщики для конкретных платформ
80
+ npm run build:win # Windows NSIS установщик
81
+ npm run build:mac # macOS DMG
82
+ npm run build:linux # Linux AppImage
83
+ ```
84
+
85
+ ### Тестирование
86
+
87
+ ```bash
88
+ npm test # Запуск всех тестов
89
+ npm run test:unit # Только юнит-тесты
90
+ npm run test:renderer # Только тесты компонентов
91
+ npm run test:coverage # Генерация отчёта о покрытии
92
+ ```
93
+
94
+ ### Структура проекта
95
+
96
+ ```
97
+ src/
98
+ ├── main/ # Главный процесс Electron
99
+ │ ├── index.ts # Точка входа, создание окна, настройка IPC
100
+ │ └── ipc/ # Обработчики IPC
101
+ ├── preload/ # Preload-скрипты (window.api)
102
+ ├── renderer/ # React-фронтенд
103
+ │ ├── components/ # UI-компоненты
104
+ │ ├── pages/ # Страницы маршрутов
105
+ │ └── locales/ # i18n-переводы
106
+ ├── core/ # Бизнес-логика (Чистая архитектура)
107
+ │ ├── infrastructure/ # База данных, внешние сервисы
108
+ │ ├── application/ # Воркеры, оркестрация
109
+ │ ├── domain/ # Интерфейсы, доменные типы
110
+ │ └── shared/ # Шина событий, утилиты
111
+ └── shared/ # Общие типы между main/renderer
112
+ ```
113
+
114
+ ## Технологический стек
115
+
116
+ - **Фреймворк**: Electron 35 + React 18 + TypeScript
117
+ - **Инструмент сборки**: Vite 6
118
+ - **UI**: Ant Design 5
119
+ - **База данных**: Prisma ORM + SQLite
120
+ - **Обработка PDF**: pdf-lib, pdf-to-png-converter, Sharp
121
+ - **Markdown**: react-markdown, remark-gfm, remark-math, rehype-katex, rehype-prism-plus
122
+ - **Тестирование**: Vitest + Testing Library
123
+
124
+ ## Поддерживаемые LLM-провайдеры
125
+
126
+ | Провайдер | Модели | Примечания |
127
+ |-----------|--------|------------|
128
+ | OpenAI | GPT-4o, GPT-4-turbo и др. | Требуется API-ключ |
129
+ | Anthropic | Claude 3.5, Claude 3 и др. | Требуется API-ключ |
130
+ | Google Gemini | Gemini Pro, Gemini Flash и др. | Требуется API-ключ |
131
+ | Ollama | LLaVA, Llama 3.2 Vision и др. | Локально, без API-ключа |
132
+ | OpenAI Responses | Любая OpenAI-совместимая модель | Поддержка пользовательских эндпоинтов |
133
+
134
+ ## Лицензия
135
+
136
+ [Apache-2.0](./LICENSE)
137
+
138
+ ## Участие в разработке
139
+
140
+ Приветствуются вклады в проект! Пожалуйста, прочитайте файл [AGENTS.md](./AGENTS.md) для ознакомления с руководством по разработке.