English · 简体中文 · 日本語 · हिन्दी · Français · Español · বাংলা · 한국어
अपनी भाषा में वैज्ञानिक दस्तावेज़ किसी भी प्लेटफ़ॉर्म पर रीयल-टाइम में पढ़ें। PDFMathTranslate की अत्याधुनिक कृत्रिम बुद्धिमत्ता से संचालित।
- लेआउट सुरक्षित रखते हुए अनूदित दस्तावेज़ पढ़ें: सूत्रों, तालिकाओं और अन्य आवश्यक सामग्री को सुरक्षित रखें।
- प्रतीक्षा किए बिना पढ़ना शुरू करें: पढ़ते समय लेआउट पहचानें और सामग्री का अनुवाद करें।
- अपनी पसंदीदा भाषा में पढ़ें: इंटरफ़ेस, स्रोत और लक्ष्य भाषाओं की विस्तृत श्रेणी में से चुनें और आगे अनुकूलन के विकल्प पाएँ।
- अपनी पसंदीदा अनुवाद सेवा चुनें:
- प्रमुख AI प्रदाताओं से कनेक्ट करें।
- OpenAI-संगत API के माध्यम से कस्टम सेवाओं का उपयोग करें।
- हमारी साझेदारियों के माध्यम से मुफ़्त अनुवाद पाएँ, ताकि बहुभाषी पठन अधिक सुलभ हो।
- पठन के साथ अपने नोट्स रखें: मूल और अनूदित दोनों दस्तावेज़ों में अंश हाइलाइट करें और टिप्पणियाँ जोड़ें।
- कुशलतापूर्वक नेविगेट करें:
- थंबनेल, त्वरित लिंक, खोज, आउटलाइन, पृष्ठ संख्या और गैलरी दृश्य के माध्यम से दस्तावेज़ देखें।
- कई पठन लेआउट में से चुनें।
- विंडो और टैब में अपना काम व्यवस्थित करें।
- पठन अनुभव को अपने अनुसार ढालें:
- विषय-वाक्यों, वैज्ञानिक निष्कर्षों और तार्किक संबंधों को अपने-आप उभारें।
- अपने कार्यप्रवाह के अनुरूप अनुवाद व्यवहार समायोजित करें।
- फ़ॉन्ट, आइकन, ऐक्सेंट रंग और डार्क मोड अनुकूलित करें।
- लेआउट पहचान की गति और गुणवत्ता के बीच संतुलन बनाएँ।
- सहज स्क्रॉलिंग सक्षम करें।
- पाठ को समझना आसान बनाएँ:
- TF-IDF भारांकन से विशिष्ट शब्दों को उभारें।
- निश्चित लंबाई या शब्द-मूल पर ज़ोर देने वाली बायोनिक रीडिंग सक्षम करें।
- अपना कार्यप्रवाह खुला रखें: ऐप्लिकेशन और उपकरणों के बीच फ़ाइलें साझा और संपादित करें—उदाहरण के लिए, मोबाइल उपकरण पर पढ़ना जारी रखने के लिए AirDrop का उपयोग करें।
- सभी प्लेटफ़ॉर्म पर परिचित इंटरफ़ेस का आनंद लें: macOS, Windows, Linux और iOS पर पढ़ें।
| तारीख | सुविधा | योगदानकर्ता |
|---|---|---|
| 2026-10-17 | साथी डिवाइस के पेयरिंग कोड को आठ वर्णों तक छोटा करें | @reycn |
| 2026-10-17 | स्मूद स्क्रॉलिंग को ज़बरदस्ती लागू करने के लिए केवल-माउस विकल्प जोड़ें | @reycn |
| 2026-10-17 | Art और Zotero ऐप आइकन जोड़ें तथा आधुनिक आइकन को ताज़ा करें | @reycn |
| 2026-10-17 | विंडो न्यूनतम होने पर भी सेवा मोड में अनुवाद जारी रखें | @reycn |
| 2026-10-16 | रिमोट उपकरणों के साथ कर्नेल साझा करें और कनेक्टेड क्लाइंट दिखाएँ | @reycn |
| 2026-10-16 | Cmd+C से चयन या फ़ोकस किए गए एनोटेशन की कॉपी करें और टोस्ट दिखाएँ | @reycn |
| 2026-10-16 | Appearance सेटिंग में ऐप आइकन पिकर जोड़ें | @reycn |
| प्लेटफ़ॉर्म | macOS | Windows | Linux |
|---|---|---|---|
| स्क्रीनशॉट | ![]() |
![]() |
![]() |
| डाउनलोड लिंक | GitHub Actions | GitHub Actions | GitHub Actions |
| स्थापना | macOS ZIP निकालें, PDFMathReader.app को /Applications में ले जाएँ और खोलें। |
PDFMathReader-win32-x64.exe पर डबल-क्लिक करें (या 32-बिट Windows के लिए ia32 संस्करण पर)। |
अपने CPU के लिए .tar.gz निकालें, फिर उसके फ़ोल्डर से ./PDFMathReader चलाएँ। |
| अतिरिक्त टिप्पणियाँ | यदि macOS कहता है कि ऐप “damaged” है, तो डाउनलोड विश्वसनीय है इसकी पुष्टि करें, फिर Terminal में sudo xattr -dr com.apple.quarantine /Applications/PDFMathReader.app चलाएँ। संकेत मिलने पर अपना Mac लॉगिन पासवर्ड दर्ज करें (यह प्रदर्शित नहीं होगा), फिर ऐप दोबारा खोलें। |
पोर्टेबल ऐप में उसका रनटाइम शामिल है। इसे लॉन्च करने पर PDF के लिए Open with PDFMathReader मेनू पंजीकृत होता है; executable को स्थानांतरित करने के बाद इसे फिर लॉन्च करें। | अपने CPU आर्किटेक्चर से मेल खाने वाला पैकेज चुनें। |
- iOS: इसी रिपॉज़िटरी में उपलब्ध, डेस्कटॉप क्लाइंट जैसा परिचित डिज़ाइन।
- Android: (योगदान का स्वागत है)
योगदान
- उपकरण: Bun निर्भरताओं और स्क्रिप्ट का प्रबंधन करता है; Vue/Vite UI बनाते हैं, जबकि Electron और Express Node.js पर चलते हैं। निर्भरताएँ बदलते समय
bun.lockको कमिट करें। - परीक्षण:
bun run buildचलाएँ, फिरbun run test; CI स्क्रिप्टnode --test .github/scripts/*.test.*का उपयोग करती हैं। व्यवहार में बदलावों के लिए लक्षित प्रतिगमन परीक्षण कवरेज जोड़ें; परीक्षण प्राथमिकताएँ देखें। - CI: कोड शैली फ़ॉर्मैटिंग और लिंट की जाँच करती है; पैकेजिंग macOS, Windows और Linux पर ऐप तैयार कर चलाती है। रिलीज़ संस्करण बढ़ने पर सफल डिफ़ॉल्ट शाखा के पैकेज प्रकाशित करती है।
- शैली: कमिट करने से पहले
bun run style:fixचलाएँ। Husky स्टेज की गई फ़ाइलों को अपने-आप फ़ॉर्मैट और जाँच करता है तथा अनसुलझी त्रुटियों को रोकता है। Prettier/ESLint JS और Vue, Ruff Python तथा swift-format Swift की जाँच करते हैं; सेटअप और नियम देखें।
स्थानीय विकास
Bun 1.3.14 और Node.js 22.22.1 या उसके बाद का संस्करण स्थापित करें। स्रोत से डेस्कटॉप ऐप चलाने के लिए:
bun install --frozen-lockfile
bun run desktopसंबंधित प्लेटफ़ॉर्म पर बिल्ड करें:
# macOS (हस्ताक्षर पहचान आवश्यक; हस्ताक्षर छोड़ने के लिए --unsigned जोड़ें)
bun run package:mac
# Windows
bun run package:winफ़्रंटएंड लाइब्रेरी (Vue, MacVue और Fluent UI) बिल्ड निर्भरताएँ हैं: Vite उन्हें dist में शामिल करता है। सर्वर या Electron की मुख्य प्रक्रिया जिन Node निर्भरताओं का उपयोग करती है, वे रनटाइम निर्भरताएँ बनी रहती हैं। बिल्ड करने से पहले bun install --frozen-lockfile से इंस्टॉल करें; केवल उत्पादन निर्भरताओं वाला इंस्टॉल ऐप को बिल्ड या पैकेज नहीं कर सकता।
परिचय पृष्ठ पर GitHub Release की अद्यतन स्थिति, मैन्युअल जाँच बटन और स्वचालित जाँच स्विच (डिफ़ॉल्ट रूप से सक्षम) होते हैं। पैकेज किए गए ऐप स्टार्टअप के बाद और हर छह घंटे में विलंबित रूप से जाँच करते हैं; कोई प्रकाशित रिलीज़ न होने पर सामान्य रिक्त स्थिति दिखाई देती है। स्थिर संस्करण टैगों में vX.Y.Z या X.Y.Z का उपयोग होना चाहिए। संबंधित रिलीज़ फ़ाइलों में macOS के लिए PDFMathReader-<platform>-<arch>.zip, Windows के लिए .exe या Linux के लिए .tar.gz होते हैं। उपलब्ध अद्यतन संबंधित डाउनलोड खोलते हैं, या संसाधन न होने पर रिलीज़ पृष्ठ खोलते हैं; इंस्टॉलेशन उपयोगकर्ता को स्वयं करना होता है।
परिचय पृष्ठ ऐप्लिकेशन, इंस्टॉल किए गए कर्नेल और UV संस्करण दिखाता है। प्रत्येक Vite बिल्ड में dist/build-info.json पैकेज संस्करण और नवीनतम दस कन्वेंशनल feat कमिट (स्कोप किए गए और पीछे की संगतता तोड़ने वाले फ़ीचर सहित) शामिल करता है; रिलीज़ CI पूरा Git इतिहास चेकआउट करती है। इंस्टॉल किया गया ऐप इस स्नैपशॉट को Git या नेटवर्क ऐक्सेस के बिना पढ़ता है। Git के बिना स्रोत संग्रह से बनाए गए बिल्ड में अद्यतन सूची खाली होती है।
डिफ़ॉल्ट Electron पैकेज Express और PDF उपयोगिताओं को बैकएंड/मुख्य स्क्रिप्ट में बंडल करता है और उनके लाइसेंस सुरक्षित रखता है। स्टेज किए गए node_modules में केवल बाहरी रनटाइम मॉड्यूल कॉपी किए जाते हैं; नेटिव PDF Inspector बाइंडिंग और असमर्थित नेटिव लक्ष्यों के लिए PDF.js/DOMMatrix फ़ॉलबैक उपलब्ध रहते हैं। Electron स्वयं और पैकेजिंग टूल बिल्ड टूलचेन उपलब्ध कराता है।
ब्राउज़र विकास के लिए OPENAI_API_KEY सेट करें, bun run dev चलाएँ और 127.0.0.1:5173 खोलें। डिफ़ॉल्ट मॉडल को बदलने के लिए OPENAI_MODEL का उपयोग करें। डेस्कटॉप पर्यावरण चर Launch PDFMathReader.command से लोड किए जा सकते हैं।
bun run test
bun run buildऐप्लिकेशन सूट में 29 जोखिम-केंद्रित परीक्षण हैं। रखे गए कवरेज और नए मामले जोड़ने की नीति के लिए परीक्षण प्राथमिकताएँ देखें।
विवरण
PDFMathReader रीडर के लिए Vue 3 और PDF.js, डेस्कटॉप ऐप के लिए Electron और स्थानीय बैकएंड के लिए Express का उपयोग करता है। Vite फ़्रंटएंड विकास और बिल्ड का समर्थन करता है; pdf-lib PDF संशोधन संभालता है।
हर डेस्कटॉप विंडो में अपना रेंडरर और Electron यूटिलिटी प्रक्रिया में चलने वाला बैकएंड होता है। मुख्य प्रक्रिया विंडो, मेनू, क्रेडेंशियल, हाल के दस्तावेज़ और प्राथमिकताएँ संभालती है। सैंडबॉक्स किया हुआ preload डेस्कटॉप IPC उपलब्ध कराता है; बैकएंड अनुरोध 127.0.0.1 पर प्रमाणित HTTP का उपयोग करते हैं।
रेंडरिंग, लेआउट विश्लेषण और अनुवाद स्वतंत्र रूप से चलते हैं। पृष्ठ और थंबनेल वर्चुअलाइज़ किए जाते हैं, PDF.js और लेआउट विश्लेषण आवश्यकता पड़ने पर लोड होते हैं, और रेंडरिंग कैश का मेमोरी उपयोग सीमित रहता है। प्रत्येक दस्तावेज़ उसके स्थानीय बैकएंड पर एक बार अपलोड होता है; बाद के अनुरोध उसकी दस्तावेज़ ID का उपयोग करते हैं। दस्तावेज़, भाषा या कर्नेल बदलने पर पुराना अनुवाद कार्य रद्द कर दिया जाता है।
अनुवादित पाठ दस्तावेज़ों और ऐप के पुनः आरंभ होने के बाद भी कैश में रहता है। उसी सेवा और मॉडल के लिए एक जैसे अनुरोध सहेजे गए परिणाम का पुनः उपयोग करते हैं, जिनमें गणित-अनुवाद कर्नेल से आने वाले अनुरोध भी शामिल हैं। भाषाएँ, प्रॉम्प्ट और अनुवाद के अन्य विकल्प कैश कुंजी का हिस्सा रहते हैं। एक साथ आने वाले एक जैसे अनुरोध एक ही सेवा कॉल साझा करते हैं; विफल या रिक्त प्रतिक्रियाएँ कैश नहीं की जातीं।
| सेटिंग | इंजन | आउटपुट |
|---|---|---|
| अति तेज़ | PDF Inspector | मूल PDF पर पैराग्राफ़ ओवरले |
| तेज़ | PDFMathTranslate | सूत्रों को सुरक्षित रखने वाले अनूदित PDF पृष्ठ |
| सटीक | PDFMathTranslate-next | अधिक विस्तृत टाइपसेटिंग वाले अनूदित PDF पृष्ठ |
प्रायोगिक Jev पैराग्राफ़ निरंतरता पहचान अति तेज़ और तेज़ मोड में उपलब्ध है। तेज़ मोड अनुवाद और टाइपसेटिंग से पहले एक ही कॉलम में पुष्टि किए गए संलग्न अंशों को जोड़ता है और सूत्रों को उनकी जगह पर रखता है। अनिश्चित या विफल जाँचें अंशों को अलग रखती हैं। इसे सक्षम करने पर अलग पृष्ठ कैश का उपयोग होता है, इसलिए पहले का बिना जोड़ा गया आउटपुट फिर से तैयार किया जाता है।
प्रायोगिक: Settings → Experimental → Generate table of contents, Edit → Generate Table of Contents विकल्प जोड़ता है। यह बुकमार्क के बिना दस्तावेज़ों के लिए स्थानीय रूप से विषय-सूची बनाता है और Contents साइडबार में प्रगति दिखाता है। यह मुद्रित विषय-सूची पृष्ठ (डॉट लीडर और दाएँ-संरेखित पृष्ठ संख्याओं सहित) को पार्स करता है और उसकी पृष्ठ संख्याओं को भौतिक पृष्ठों से मैप करता है; यदि ऐसी सूची न हो, तो फ़ॉन्ट आकार, क्रमांकन और अंतराल से शीर्षकों का अनुमान लगाता है। कुछ भी कहीं नहीं भेजा जाता। टेक्स्ट लेयर के बिना स्कैन किए गए पृष्ठ समर्थित नहीं हैं और बनाई गई विषय-सूची दस्तावेज़ के साथ सहेजी नहीं जाती।
प्रायोगिक: Precise इसके बजाय दूरस्थ zotero-pdf2zh सर्वर के माध्यम से HTTP पर अनुवाद कर सकता है (Settings → Experimental)। PDFMathReader उस सर्वर के HTTP प्रोटोकॉल को क्लाइंट के रूप में लागू करता है; सर्वर बंडल नहीं किया जाता और वैकल्पिक है। रिमोट कर्नेल का उपयोग केवल तब होता है जब सर्वर की /health जाँच सफल हो; अन्यथा स्थानीय Precise कर्नेल चलता है। कोई API कुंजी नहीं भेजी जाती; सर्वर अपनी अनुवाद सेवा का उपयोग करता है। दूरस्थ पृष्ठों में पठन टेक्स्ट लेयर नहीं होती और चुनी गई अनुवाद सेवा तथा शब्दावलियाँ दूरस्थ रूप से अनूदित पृष्ठों पर लागू नहीं होतीं।
PDF रेंडरिंग और लेआउट विश्लेषण स्थानीय रहते हैं। अनुवाद दस्तावेज़ का पाठ OpenAI को भेजता है और API शुल्क लग सकते हैं। तेज़ और सटीक मोड अलग-अलग ऐप-प्रबंधित Python वातावरण में चलते हैं, जिन्हें uv से इंस्टॉल किया जाता है और जो बैकएंड प्रॉक्सी के माध्यम से OpenAI तक पहुँचते हैं। API कुंजियाँ रेंडरर के बाहर रहती हैं।
सहेजी गई डेस्कटॉप कुंजियाँ Electron safeStorage और macOS Keychain सुरक्षा से एन्क्रिप्ट की जाती हैं। सहेजी गई कुंजी OPENAI_API_KEY को अधिलेखित करती है; उसे साफ़ करने पर पर्यावरणीय फ़ॉलबैक बहाल हो जाता है। सुरक्षित स्टोरेज उपलब्ध न होने पर सहेजना अक्षम रहता है।
डेस्कटॉप डेटा ऐप निर्देशिका में ~/Library/Application Support/ के अंतर्गत रखा जाता है: क्रेडेंशियल, हाल के दस्तावेज़, अनुवाद/लेआउट कैश और कर्नेल वातावरण। ब्राउज़र-विकास कैश .cache/translations/ का उपयोग करते हैं। कैश और अस्थायी PDF में दस्तावेज़ की सामग्री हो सकती है; आरंभ पृष्ठ पर Clear केवल हाल के दस्तावेज़ों का इतिहास हटाता है।
ब्राउज़र विकास में Express और Vite एक स्वतंत्र Node.js प्रक्रिया में चलते हैं। नेटिव मेनू, डेस्कटॉप IPC और सुरक्षित डेस्कटॉप कुंजी संग्रहण केवल डेस्कटॉप ऐप में उपलब्ध हैं।
सीमाएँ
- प्लेटफ़ॉर्म समर्थन: macOS परीक्षित प्लेटफ़ॉर्म है। Windows और Linux में प्लेटफ़ॉर्म-विशिष्ट शैलियाँ हैं, लेकिन नेटिव रनटाइम सत्यापन लंबित है। पैकेजिंग कमांड macOS arm64 और Windows x64 को लक्ष्य बनाते हैं।
- लेआउट की सटीकता: अति तेज़ मोड ज्यामितीय पैराग्राफ़ समूहकरण और पाठ ओवरले का उपयोग करता है। जटिल तालिकाएँ, घुमाया हुआ पाठ, असामान्य पृष्ठभूमियाँ और लंबे अनुवाद मूल टाइपोग्राफ़ी बनाए न रख सकें। गणित-कर्नेल का आउटपुट अपस्ट्रीम लेआउट प्रबंधन पर निर्भर करता है।
- स्कैन किए गए दस्तावेज़: स्कैन किए गए PDF के लिए OCR चाहिए, जिसे यह ऐप लागू नहीं करता।
- अनुवाद की आवश्यकताएँ: अनुवाद के लिए OpenAI API कुंजी और नेटवर्क ऐक्सेस चाहिए। तेज़ और सटीक मोड के लिए
uvके माध्यम से अलग गणित कर्नेल इंस्टॉल करने पड़ते हैं। - दायरा: यह स्थानीय रीडर और अनुवाद ऐप है, पूर्ण PDF संपादन या निर्यात टूल नहीं है।
- सत्यापन: 30 मुख्य प्रतिगमन परीक्षण बैकएंड और रीडर सहायता तर्क को कवर करते हैं। मॉक-प्रदाता जाँचें लाइव OpenAI अनुवाद गुणवत्ता या API-कुंजी की वैधता सिद्ध नहीं करती हैं।
इस कार्य का कर्नेल Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing: System Demonstrations (EMNLP 2025) में स्वीकार किया गया है।
उद्धरण:
@inproceedings{ouyang-etal-2025-pdfmathtranslate,
title = "{PDFM}ath{T}ranslate: Scientific Document Translation Preserving Layouts",
author = "Ouyang, Rongxin and
Chu, Chang and
Xin, Zhikuang and
Ma, Xiangyao",
editor = {Habernal, Ivan and
Schulam, Peter and
Tiedemann, J{\"o}rg},
booktitle = "Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing: System Demonstrations",
month = nov,
year = "2025",
address = "Suzhou, China",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2025.emnlp-demos.71/",
pages = "918--924",
ISBN = "979-8-89176-334-0",
abstract = "Language barriers in scientific documents hinder the diffusion and development of science and technologies. However, prior efforts in translating such documents largely overlooked the information in layouts. To bridge the gap, we introduce PDFMathTranslate, the world{'}s first open-source software for translating scientific documents while preserving layouts. Leveraging the most recent advances in large language models and precise layout detection, we contribute to the community with key improvements in precision, flexibility, and efficiency. The work is open-sourced at https://github.com/byaidu/pdfmathtranslate with more than 222k downloads."
}
PDFMathReader GNU Affero General Public License, version 3 के अंतर्गत लाइसेंस प्राप्त है। पूरी जानकारी के लिए LICENSE देखें। निर्भरताएँ अपने-अपने लाइसेंस बनाए रखती हैं, जिनमें PDFMathTranslate, PDFMathTranslate-next और zotero-pdf2zh (AGPL-3.0, वैकल्पिक रिमोट कर्नेल प्रोटोकॉल) शामिल हैं।
सहयोग के लिए OpenAI, Anthropic, Warp, Immersive Translate और SiliconFlow का बहुत-बहुत धन्यवाद।




