25 पॉइंट द्वारा GN⁺ 2025-08-16 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • EmbedPDF एक ओपन सोर्स PDF व्यूअर है जिसे किसी भी JavaScript प्रोजेक्ट में आसानी से इंटीग्रेट किया जा सकता है
  • React, Vue, Svelte, Preact, Vanilla JS जैसे विभिन्न फ्रंटएंड फ्रेमवर्क्स के साथ संगतता प्रदान करता है
  • annotation, highlight, वास्तविक टेक्स्ट हटाना (redaction), खोज, zoom in/out, rotation जैसी समृद्ध सुविधाएँ शामिल हैं
  • virtual scrolling और plugin architecture के साथ बेहतर performance और extensibility, दोनों का समर्थन करता है
  • MIT लाइसेंस के तहत कोई भी इसे स्वतंत्र रूप से उपयोग और योगदान कर सकता है

EmbedPDF ओपन सोर्स PDF व्यूअर प्रोजेक्ट का अवलोकन

  • EmbedPDF एक framework-independent ओपन सोर्स PDF व्यूअर है, जिसे किसी भी JavaScript प्रोजेक्ट में आसानी से एम्बेड किया जा सकता है
  • यह MIT लाइसेंस के तहत उपलब्ध है और React, Vue, Svelte, Preact, Vanilla JS जैसे आधुनिक फ्रंटएंड फ्रेमवर्क्स के साथ संगतता इसकी प्रमुख ताकत है
  • यह आधुनिक reading experience और developer-friendly API प्रदान करता है

मुख्य विशेषताएँ

  • annotation support: highlight, sticky notes, free text, ink आदि जैसी विभिन्न annotation सुविधाएँ प्रदान करता है
  • वास्तविक Redaction: redaction फीचर का उपयोग करने पर दस्तावेज़ के भीतर की वास्तविक सामग्री पूरी तरह से हट जाती है, जिससे सुरक्षा सुनिश्चित होती है
  • खोज, text selection, zoom in/out, rotation जैसी मुख्य PDF manipulation सुविधाएँ शामिल हैं
  • स्मूद और virtualized scrolling के कारण बड़े दस्तावेज़ भी performance में गिरावट के बिना देखे जा सकते हैं
  • plugin-based architecture और tree-shakeable plugins के माध्यम से अनावश्यक कोड को बाहर रखने और विस्तार में आसानी सुनिश्चित होती है

दस्तावेज़ और डेमो

  • आधिकारिक दस्तावेज़, installation guide, API reference, examples https://www.embedpdf.com पर देखे जा सकते हैं
  • live demo में सीधे PDF फ़ाइल अपलोड करके या sample document के साथ फीचर्स का अनुभव किया जा सकता है

ओपन सोर्स और लाइसेंस

  • MIT लाइसेंस के तहत source code का स्वतंत्र उपयोग और योगदान संभव है
  • इसमें PDFium शामिल है, और यह भाग Apache License 2.0 के अंतर्गत आता है

कम्युनिटी और योगदान

  • ओपन सोर्स कम्युनिटी में भागीदारी और विभिन्न योगदानों का स्वागत है
  • Contributing guide और Github Discussions के माध्यम से डेवलपर कम्युनिकेशन किया जा सकता है

प्रोजेक्ट का महत्व और अलग पहचान

  • मौजूदा commercial PDF व्यूअर्स के विकल्प के रूप में, कोई भी अपने आंतरिक सिस्टम या SaaS में PDF व्यूअर फीचर आसानी से जोड़ सकता है
  • विभिन्न फ्रेमवर्क्स के साथ उच्च संगतता और आधुनिक, modular structure इसकी अलग पहचान है
  • redaction जैसी उन्नत PDF processing सुविधाएँ ओपन सोर्स में उपलब्ध कराने का यह एक दुर्लभ उदाहरण है

1 टिप्पणियां

 
GN⁺ 2025-08-16
Hacker News की राय
  • वास्तव में महत्वपूर्ण काम PDFium में हो रहा है; यह बताया गया कि PDFium वह प्रोजेक्ट है जिसे Google ने Foxit से अधिग्रहण के बाद खुद विकसित करना जारी रखा है और यह अभी Chrome में इस्तेमाल हो रहा है (मैं इस समय चर्चा में चल रहे काम को कमतर नहीं आँक रहा, बस यह बता रहा हूँ कि यह पूरी तरह नए सिरे से लिखा गया PDF parser नहीं है)
    • मेरा मानना है कि कई PDF viewer, जिनमें commercial products भी शामिल हैं, PDFium पर आधारित हैं
  • Mozilla PDF.js पहले से मौजूद है, फिर भी यह प्रोजेक्ट क्यों बनाया गया, यह जानने की जिज्ञासा है https://github.com/mozilla/pdf.js (यह आलोचना नहीं है; जो चीज़ पहले से मौजूद है उसे फिर से बनाने के बहुत से कारण हो सकते हैं, इसलिए यह सिर्फ़ एक सीधी जिज्ञासा है)
    • मुख्य लक्ष्य ऐसा PDF viewer बनाना था जिसे developers अपनी website में आसानी से integrate कर सकें; PDF.js कुछ use cases में customize और extend करना मुश्किल या जटिल है
    • अगर PDF markup, जैसे annotations, shapes, comments, की ज़रूरत हो, तो या तो खुद बनाना पड़ता है या फिर काफ़ी महंगे subscription-based PDF editor ही विकल्प के रूप में सामने आते हैं; वास्तव में Apryse को integrate करने वाली teams से सुना है कि केवल basic PDF editing support की लागत भी काफ़ी भारी पड़ती है
    • सिर्फ़ ऊपर-ऊपर देखने से भी पता चलता है कि इसमें annotation comments जैसी ऐसी features हैं जो मौजूदा products से अलग हैं
    • अगर demo document को iPad या iPhone पर खोलें, तो पता चलता है कि Print Preview feature केवल desktop devices पर काम करती है
    • 402 open issues देखकर PDF की ज़बरदस्त जटिलता और उसकी सारी features को संभालने में लगने वाली मेहनत का अंदाज़ा लगाया जा सकता है
  • मैंने पहले एक side project पर काम किया था जिसमें PDF viewer embedded था; पहले version में pdf.js इस्तेमाल किया, लेकिन तेज़ zoom करने पर वह अटकता था और focus बनाए रखना मुश्किल था, इसलिए मैंने C++ pdfium और Metal rendering के साथ इसे खुद implement किया; इसे demo video में देखा जा सकता है, मैंने memory और performance का संतुलन रखने के लिए tiling approach लागू की; मुझे पता नहीं था कि pdfium WebAssembly में भी इतना अच्छा performance देगा, और सच कहूँ तो C++ की तुलना में web पर UI बनाना ज़्यादा आसान है
    • ईमानदारी से कहूँ तो demo कहीं ज़्यादा तेज़ और smooth लगता है, zoom behavior वाकई बहुत शानदार तरीके से implement किया गया है; इसे देखकर मेरा भी फिर से development में उतरकर performance बेहतर करने का मन हो रहा है
  • मैं pdf.js इस्तेमाल कर रहा हूँ (17MB, 158 pages, कई images, Windows environment) और testing के दौरान आई समस्याएँ साझा कर रहा हूँ
    • links काम नहीं करते
    • bookmarks दिखते हैं, लेकिन काम नहीं करते
    • Firefox में text select नहीं किया जा सकता
    • Chrome में middle click (scroll के लिए) text selection में बदल जाता है
    • pdf.js में scrolling ठीक है, लेकिन इस product में scroll करते समय कई सौ से हज़ार milliseconds तक screen धुंधली दिखती है और quality काफ़ी गिर जाती है; End key जैसी चीज़ से कई pages jump करने पर सिर्फ़ सफेद screen दिखती है
    • FF में up/down, page up/down, home/end काम नहीं करते (left/right काम करते हैं)
  • मैंने इसे जल्दी से test किया, और Firefox में annotation feature बिल्कुल काम नहीं कर रही थी, जबकि Chrome में underline, highlight जैसी सभी annotation features सामान्य रूप से काम कर रही थीं
    • Firefox में annotation test अभी तक नहीं कर पाया था, बताने के लिए धन्यवाद; Chrome में सब ठीक से काम कर रहा है, यह जानकर अच्छा लगा, इसे जल्द ही check करने की योजना है
  • जानना चाहता हूँ कि क्या embedded outline (annotations) editing का support है; PDF viewer/editor में यह हमेशा सबसे ज़्यादा खलने वाली feature रही है, और जब भी बिना outline वाला PDF मिलता है, तब इसकी ज़रूरत महसूस होती है
  • Linux+Firefox संयोजन में demo पर annotation/redaction tools बिल्कुल काम नहीं कर रहे थे, जबकि उसी machine पर Chromium में वे ठीक काम कर रहे थे
    • Firefox में आने वाली समस्या अभी-अभी ठीक कर दी गई है; अब Linux + Firefox और Chromium दोनों में annotation और redaction features सामान्य रूप से काम कर रही हैं
  • documentation भी शानदार है और headless React library का concept मुझे खास तौर पर पसंद आया; custom UI और features को आसानी से जोड़ा जा सकता है; किसी खास term को अपने-आप highlight/underline करने के बाद click या hover पर custom component दिखाना कितना मुश्किल है, यह पूछा गया
    • यह बहुत आसानी से किया जा सकता है; ऐसी functionality पहले से implement है; AnnotationLayer में सीधे selectionMenu और custom component render किए जा सकते हैं; अगर और गहराई में जाना हो तो Discord channel पर संपर्क करने को कहा गया
  • product प्रभावशाली लगता है; सवाल यह है कि इतनी feature-rich free PDF viewer का development आगे कैसे जारी रखने की योजना है, क्या enterprise features, PDF hosting या कोई दूसरा monetization model सोचा गया है
    • जवाब में कहा गया कि इन सबका उत्तर 'हाँ' है; client-side PDF viewer free + MIT license के साथ ही रहेगा, लेकिन PDF hosting और enterprise-grade analytics/access control जैसी अतिरिक्त features paid service के रूप में दी जाएँगी
  • कुल मिलाकर यह अच्छी तरह काम करता है, लेकिन redaction tool को view mode में switch करते समय (जब लाल लाइन active थी) redaction फिर भी active रहा, जिससे scroll नहीं हो पा रहा था; refresh करने पर समस्या ठीक हुई
    • यह अच्छा feedback है और इसे जल्द ठीक किया जाएगा; mobile पर precise area selection की सुविधा के कारण redaction mode में scrolling disable रहना जानबूझकर रखा गया behavior है, लेकिन view tab में switch करते ही redaction mode हर हाल में बंद हो जाना चाहिए; इसे पकड़ने के लिए धन्यवाद