Pdf.js: मोबाइल पर अधिक प्राकृतिक ज़ूमिंग का उपयोग करें

को निर्मित 18 जन॰ 2013  ·  95टिप्पणियाँ  ·  स्रोत: mozilla/pdf.js

अब आपको दस्तावेज़ को ज़ूम करने के लिए मोबाइल पर भी प्लस / माइनस बटन मारना होगा। यह वास्तव में अजीब है क्योंकि विशेष रूप से चुटकी-टू-ज़ूम सक्रिय है। मुझे लगता है कि मोबाइल पर जाने का सबसे अच्छा तरीका शायद "प्राकृतिक" आकार में प्रस्तुत करना है, और ब्राउज़र को वेब पेज के समान ज़ूम को नियंत्रित करने दें।

1-viewer 2-feature

सबसे उपयोगी टिप्पणी

@ltullman @ hetalv985 मैं यह काम कर इसे अपने आप को लागू करने के लिए, यहाँ मेरे

https://gist.github.com/squallstar/1d720e93eabe7f60dc61b547d2c19228
बस दर्शक के अंत तक पेस्ट करें। end यही है।

सभी 95 टिप्पणियाँ

यह वही है जो हम करना चाहते थे, लेकिन V1 के लिए ज़ूम करने के लिए चुटकी समस्या थी इसलिए हमें ज़ूम बटन का उपयोग करना पड़ा।

क्या आप मुद्दों पर विस्तार से बता सकते हैं? मुझे लगता है कि PDF.js को अच्छी तरह से काम करने के लिए हम शायद आपके लिए उन लोगों को प्राथमिकता दे सकते हैं।

मुझे नहीं लगता कि आप चाहते हैं कि ब्राउज़र इस मामले में ज़ूमिंग करे। यदि pdf.js 800x600 पर एक दस्तावेज़ प्रस्तुत करता है, और आप ज़ूम इन चुटकी लेते हैं, तो ब्राउज़र बस उस 800x600 सामग्री को नए उच्च रिज़ॉल्यूशन पर रेंडर करना जारी रखेगा जो डिवाइस के रिज़ॉल्यूशन के आधार पर बकवास की तरह लग सकता है या नहीं भी हो सकता है बहुत जूम किया है। (मुझे लगता है कि pdf.js अभी भी प्रतिपादन और svg के लिए कैनवास का उपयोग करता है?)

@Snuffleupagus @timvandermeij क्या आप इस पर काम करने में रुचि रखते हैं? ऐसा लगता है कि गैया https://github.com/mozilla-b2g/gaia/blob/master/sared/js/gesture_detector.js में साझा लाइब्रेरी का उपयोग करना बहुत कठिन नहीं होना चाहिए

@brendandahl मैं इसे निश्चित रूप से अपनी टू-डू सूची में डालूंगा और जल्द ही इसका प्रयोग शुरू कर दूंगा। https://github.com/mozilla-b2g/gaia/blob/862de8489b648a9af7e8a5b88be031b5479404ba/apps/camera/js/panzoom.js#L15 एक अच्छा उदाहरण प्रतीत होता है, क्योंकि 'ट्रांसफ़ॉर्म' का उपयोग 2-फिंगर पिन ईवेंट के लिए किया जाता है। यह वास्तव में बहुत अच्छा होगा अगर चुटकी से काम चल जाए, क्योंकि यह मोबाइल पर काफी बार उपयोग किया जाता है।

मैं इस पर काम कर रहा हूं। इच्छुक उपयोगकर्ता प्रगति के लिए https://github.com/timvandermeij/pdf.js/tree/pinch-to-zoom पर नज़र रख सकते हैं। यह पहले से ही मेरे टैबलेट और फोन पर पिंच-टू-जूम कमांड को पकड़ रहा है, लेकिन सटीकता में सुधार होना चाहिए, साथ ही वास्तविक री-रेंडरिंग (मुझे पुराने पैमाने के साथ नए पैमाने की गणना करने के लिए एक तरीका खोजने की आवश्यकता होगी और नया मध्य बिंदु, या कोई अन्य तरीका)।

@timvandermeij इससे पहले कि हम इसे

मेरा दृढ़ता से मानना ​​है कि यहां सबसे अच्छा समाधान एक होने जा रहा है जो कि ब्राउज़र के कंपोजिटर पर निर्भर करता है ताकि वह क्षणिक ज़ूम (चुटकी या डबल टैप के दौरान एनीमेशन) कर सके और फिर नए रिज़ॉल्यूशन पर बस pdf.js को फिर से चालू करें। यहाँ दुखद बात यह है कि अभी सामग्री ज़ूम परिवर्तन से अनजान है, और मुझे नहीं लगता कि नए रिज़ॉल्यूशन के लिए कैनवास का आकार बदलना काम करेगा। हमें इसे संभालने के लिए कैनवास की युक्ति को बढ़ाने की आवश्यकता हो सकती है।

मुझे हथौड़े से कुछ सफलता मिली थी। मैंने ब्राउज़र के "देशी" चुटकी (जो धुंधली पीडीएफ की ओर जाता है) की अनुमति दी और चुटकी भर में मैंने पीडीएफ कैनवास को फिर से स्केल किया, स्केल = स्केल * ज़ूम के साथ और कैनवास को सीएसएस "ट्रांसफ़ॉर्म: स्केल (1 / ज़ूम)" दिया। तो सभी एक ही जगह (विशेष रूप से पाठ और लंगर) में होंगे। साफ-सुथरा दिखता है।

@ क्रेज मैंने कुछ समय पहले (# 3708 देखें) ज़ूम करने के लिए चुटकी को लागू करने के लिए एक पैच तैयार किया था, वह भी Hammer.js के साथ, लेकिन मैं अभी तक इसे मोबाइल / टैबलेट डिवाइसों पर ठीक से काम करने में सफल नहीं हुआ हूं। चुटकी की गति ने प्रदर्शन और स्थिरता की बहुत सारी समस्याएं पैदा कीं। क्या आप हमारे साथ अपने कार्यान्वयन को साझा करने का मन बनाते हैं? यदि नहीं, तो क्या आप कार्यान्वयन को ज़ूम करने के लिए अपने चुटकी के साथ एक पुल अनुरोध बना सकते हैं? अगर यह मोबाइल / टैबलेट उपकरणों पर अधिक धाराप्रवाह काम करता है तो शायद यह मेरी जगह ले सकता है। :)

हे skruse, आप ज़ूम के अंत में ज़ूम अनुपात की गणना करने में कैसे सक्षम थे?

var zoom = document.documentElement.clientWidth / window.innerWidth;

और मुझे प्रदर्शन के मुद्दे भी मिले: किसी को "स्केल" पैरामीटर के संदर्भ में, मोबाइल डिवाइस पर "बहुत दूर" में ज़ूम नहीं करना चाहिए। मुझे लगता है कि 2 या 3 बहुत अधिकतम है।

इसके लिए +2

किसी को इस 2 साल पुराने मुद्दे का हल मिला?

जहां तक ​​मुझे पता है इस बारे में कुछ नहीं किया गया है। मैं अपनी पिछली टिप्पणी का जिक्र https://github.com/mozilla/pdf.js/issues/2582#issuecomment -30316908 में करता हूं। वर्किंग कोड होने पर हम किसी को भी इसके लिए PR सबमिट करने के लिए आमंत्रित करते हैं।

इसके लिए एक समाधान देखना पसंद करेंगे। फिलहाल यह केवल एक चीज है जो मुझे pdf.js का उपयोग करने से रोक रही है

:(

पिंच ज़ूम बहुत अच्छा होगा! मुझे यह jquery प्लगइन मिला जो pdf.js का उपयोग करता है और इसमें चुटकी ज़ूम और स्वाइपिंग पृष्ठ हैं। http://touchpdf.net/demo/index.htm लेकिन यह शुरू से ही pdf.js में बना रहे तो अच्छा होगा :-)

+1 यहां देखना पसंद करेंगे।

+1, उदाहरण के लिए कहीं और भी है जो इस घटना को पकड़ने के लिए हथौड़े का उपयोग करता है। फिर pdf.js जूम फ़ंक्शन को कॉल करना एक अपेक्षाकृत "साफ" तरीका नहीं है?

@sporkman ने अंत में जो कुछ किया वह कैनवास को वास्तव में बड़ा बनाने के लिए किया गया था, फिर ज़ूमिंग की अनुमति देने के लिए देशी ब्राउज़र जूमिंग का उपयोग करना (मेरा ऐप टच डिवाइस के लिए डिज़ाइन किया गया था)। मैं जरूरत पड़ने पर स्रोत को साझा कर सकता हूं।

@rorysmorris स्क्रॉल करते समय

क्या आपने touch-action CSS संपत्ति का उपयोग करने की कोशिश की है?
https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action

5 अक्टूबर 2016 को 3:15 बजे, "toplay3" सूचनाएं @github.com ने लिखा:

@rorysmorris https://github.com/rorysmorris आपने कैसे प्राप्त करने का प्रबंधन किया
स्क्रॉल करते समय चुटकी बजाते हुए देशी ब्राउज़र ज़ूम को अक्षम करना? मेरे पास है
pdf.js पर भी हथौड़ा लागू किया है, लेकिन उस विशेष के आसपास नहीं मिल सकता है
मुद्दा

-
आप इसे प्राप्त कर रहे हैं क्योंकि आपको इस धागे की सदस्यता दी गई है।
इस ईमेल का उत्तर सीधे दें, इसे GitHub पर देखें
https://github.com/mozilla/pdf.js/issues/2582#issuecomment -2516707707,
या धागा म्यूट करें
https://github.com/notifications/unsubscribe-auth/ABTUT83E287dv4LSs4T_TGnzwe8yqCMYks5qw6LmgaJpZM4AXvZ2

@ रोब - डब्ल्यू
वाह प्रतिभा! अब पूरी तरह से काम करता है! बहुत बहुत धन्यवाद!

इस मुद्दे को कब लागू किया जाना है? इस मुद्दे को मूल रूप से पोस्ट किए जाने के बाद से इसका समय काफी था। कहने की जरूरत नहीं +1!

मैं अब एक साल से हर हफ्ते इस मुद्दे की जाँच करता हूँ। यह कोर में या हथौड़ा जेएस के साथ एक addon के रूप में करने के लिए भयानक होगा।

इस थ्रेड पर अधिक रचनात्मक होने के लिए, यहाँ UI की आवश्यकता है (यदि कोई वास्तव में समस्या के समाधान में मदद करना चाहता है) और PDF.js के लिए कुछ भी विशिष्ट नहीं है:

  • ज़ूम और DIV के पैन सेट (विभिन्न आकारों के साथ) जो लंबवत रूप से स्टैक्ड हैं
  • उपयोगकर्ता को विभिन्न पैमानों पर व्यूपोर्ट में खो जाने की अनुमति नहीं देता है
  • एक दिव्य दृश्यता या दृश्यमान पैमाने में परिवर्तन का पता लगाने और सूचित करने पर।

उत्तरार्द्ध महत्वपूर्ण है क्योंकि हम कम शक्ति वाले उपकरणों पर अधिकतम रिज़ॉल्यूशन के सभी पृष्ठों को पेंट नहीं करना चाहते हैं। अगर किसी के पास प्रोटोटाइप होगा, तो मुझे आईआरसी में ढूंढें मैं दृश्यता और स्केल घटनाओं के लिए PDFPageView को हुक करने में मदद करूंगा। मैं भी 5-शुरुआत-बग सेट करूँगा?

मैं मानता हूं कि यह एक अच्छा शुरुआती बग होगा, इसलिए मैं इसे इस तरह लेबल कर रहा हूं।

यह सिर्फ मोबाइल के लिए नहीं है, मुझे टू-फिंगर ट्रैकपैड जूमिंग (मैक पर) का समर्थन करने के लिए फीचर अनुरोध भी मिल रहे हैं।

अपनी संक्षिप्त जांच से, मैंने पाया कि अभी तक ज़ूम इशारों का समर्थन करने के लिए कोई क्रॉस-ब्राउज़र तरीका नहीं है।

+1

@ toplay3 और @ Rob - W आपने इसे काम करने के लिए क्या किया? "स्पर्श-क्रिया: ऑटो" जोड़ना? किसका? और तुमने क्या किया? धन्यवाद!

हाय सब, आप में से अधिकांश की तरह मैं चुटकी लेने में रुचि रखता हूँ काम करने के लिए, क्या कोई ऐसा करने में सक्षम है, यहां तक ​​कि हथौड़े जैसे बाहरी परिवादों का उपयोग करके? यदि आपने इसे बनाया है, तो सेट अप क्या है? @rorysmorris @ toplay3 @ रोब - डब्ल्यू धन्यवाद

👍

@rorysmorris उपरोक्त प्रश्न के बारे में कोई सलाह? धन्यवाद :)

हाय @squallstar - सबसे पहले मैंने अपने लिए इसे संभालने के लिए एक JS चुटकी और जूम लाइब्रेरी का उपयोग करने की कोशिश की, लेकिन मुझे कुछ समस्याएं मिलीं। यह ज़ूम नहीं किया था कि मैं कैसे चाहता था, यानी यह पीडीएफ कैनवास को पूरी तरह से ऑफ-स्क्रीन जाने की अनुमति देगा, जब मैं कभी नहीं चाहता था कि किनारे स्क्रीन किनारे से दूर हों, अगर यह समझ में आता है। अंत में, मैंने सिर्फ देशी जूमिंग का उपयोग किया जो मोबाइल ब्राउज़र में चुटकी / ज़ूम / नेविगेट करने के लिए बनाया गया है। मैं PDF को 3 डी पिक्सेल आकार में प्रदर्शित करने के लिए सेटअप कर रहा हूँ। यह प्रदर्शित होने वाले पिक्सेल आकार को सीएसएस के साथ घटाया गया है, इसलिए इसे ज़ूम इन करने पर यह काफी कुरकुरा बना रहेगा। अगर आपको किसी भी तरह की सहायता की आवश्यकता है, तो मैं आपको अपने काम का उदाहरण दिखा सकता हूं कार्यान्वयन।

@rorysmorris धन्यवाद, यह बहुत अच्छा होगा यदि आप मुझे दिखाते हैं (या एक स्निपेट भेजते हैं) या आपने इसे कैसे लागू किया। बहुत सराहना की 👍

@squallstar ने मुझे अपनी साइट पर संपर्क फ़ॉर्म के माध्यम से एक ईमेल भेजा है और मैं आपको आज बाद में इसका डेमो दूंगा :) http://rorymorris.co.uk

@squallstar यह वास्तव में एक समाधान नहीं है बल्कि एक तरह का वर्कअराउंड है। नुकसान हैं: प्रदर्शन, परिणाम उपकरणों पर निर्भरता है, ज़ूम अंतहीन नहीं है।

जावास्क्रिप्ट को उन कार्यों को करने के लिए उपयोग करने के विपरीत, देशी स्क्रॉलिंग और पैनिंग का उपयोग करके प्रदर्शन में बहुत सुधार किया जाता है। अधिकतम ज़ूम-स्तर मेटा व्यूपोर्ट टैग के साथ आसानी से कॉन्फ़िगर किया जा सकता है, और जो किसी भी तरह एक rasterised छवि पर अंतहीन ज़ूम चाहता है? महान "जिस तरह से" JS-ImageResizer "पुस्तकालय! @MickL

प्रदर्शन का अनुमान अधिक था। लैंडस्केप @ 2208px चौड़ाई में iPhone Plus का उपयोग करने की सुविधा देता है। अब आपके पास एक 6624px कैनवास होगा। पीडीएफ जटिलता और पन्नों की गिनती के आधार पर आपके पास HTML-पाठ, ग्राफिक्स आदि के साथ 3 प्रतिपादन 6000px कैनवस हो सकते हैं।

मुझे लगता है कि आपका समाधान बहुत से लोगों के लिए महान है। लेकिन जैसा कि आपने इसके नकली-ज़ूम का वर्णन किया है, यह वास्तव में PDF.js ज़ूम और रेंडरिंग ट्रिगर करता है :)

सच है, उस पहलू से प्रदर्शन-वार महान नहीं है। इसके लिए मेरे विशेष उपयोग के मामले में, मुझे आईपैड (रेटिना) के आकार में 300+ पेज पीडीएफ को प्रस्तुत करना था, साथ ही साथ हर एक के ऊपर एक ड्राइंग कैनवास होना चाहिए!

PDF.js ब्राउज़र (iOS Safari) को लगभग 10 प्रस्तुत किए गए PDF पृष्ठों पर क्रैश कर देगा, इसलिए अंत में मुझे पिछले / अगले बटनों के साथ एक बार में केवल एक PDF पृष्ठ दिखाना था। आदर्श नहीं! और मैं सहमत हूँ, PDF.js में निर्मित देशी ज़ूम कार्यक्षमता बहुत अच्छा है।

चुटकी ज़ूम काम करने के लिए checkout kamihq.com

@rorysmorris मैंने कल शाम आपको संपर्क फ़ॉर्म के माध्यम से अपना ईमेल भेजा है, कोई भी मौका जिससे आप मुझे उस उदाहरण को भेज सकते हैं जिसके बारे में आप बात कर रहे थे? :) धन्यवाद

क्या किसी के पास काम करने का उदाहरण ( @rorysmorris , @ Rob - W, आदि) कृपया साझा कर सकते हैं?

@rorysmorris मैंने आपको अपनी वेबसाइट के माध्यम से संपर्क करने की कोशिश की। अगर किसी के पास इसका एक कार्यशील उदाहरण है, तो क्या आप इसे साझा कर सकते हैं?

@ltullman @ hetalv985 मैं यह काम कर इसे अपने आप को लागू करने के लिए, यहाँ मेरे

https://gist.github.com/squallstar/1d720e93eabe7f60dc61b547d2c19228
बस दर्शक के अंत तक पेस्ट करें। end यही है।

धन्यवाद स्क्वास्टर। लेकिन हम दर्शक। Html का उपयोग नहीं कर रहे हैं। हम अपने iOS मोबाइल ऐप में पीडीएफ़ को एक डीवा टैग के अंदर दे रहे हैं। उस स्थिति में हम इस सुविधा का उपयोग कैसे करते हैं? क्या हमें दर्शक फ़ाइलों को शामिल करने की आवश्यकता है?

तो हमारे पास फ़ंक्शन handleMouseWheel जो बहुत समान है। टच जेस्चर ओमर हैमर जेएस के साथ सटीक फ़ंक्शन का उपयोग क्यों नहीं किया जाता है? क्या यह 1-2 घंटे में तय हो गया?

दुर्भाग्य से यह इतना आसान नहीं है। कृपया मेरी पिछली टिप्पणी https://github.com/mozilla/pdf.js/issues/2582#issuecomment -30316908 पर

यदि एकमात्र मुद्दा है ... :)

मैंने "ctrl + mousewheel" पर भी ध्यान दिया, यह Google मानचित्र पर कर्सर-स्थिति तक स्क्रॉल करता है। यदि कोई स्क्रॉलबार नहीं है (जो पृष्ठ-लोड पर डिफ़ॉल्ट है) तो यह काम नहीं करेगा। तो यह स्वाभाविक महसूस करने के लिए हमें चुटकी-ज़ूम और मूसवेल-ज़ूम की ज़रूरत पड़ने पर एक पैडिंग बनाना होगा।

एक अच्छा जोड़ यह होगा कि यदि mousewheel-zoom और pinch-zoom एक ही फ़ंक्शन का उपयोग करेगा।

आपकी प्रतिबद्धता पहले से ही अच्छी लग रही है। शायद प्रदर्शन कोई समस्या नहीं है, यह 3 साल पहले की तुलना में अधिक है। सबसे अच्छा समाधान होगा: स्टार्ट-पिंच -> धुंधला ज़ूम -> एंड-पिंच -> वास्तव में ज़ूम पीडीएफ। इसके अलावा user-scalable=no नवीनतम iOS पर अब काम नहीं कर रहा है। तो हम preventDefault() भी हो सकते हैं।

मैंने इसमें काफी समय लगाया। वास्तव में यह संभव लगता है, लेकिन कई समस्याएं हैं जिनका मैं हल नहीं कर सकता:

  • हथौड़ा.जेएस केवल पिंचेंड पर काम करता है (पिंचमोव हमेशा रद्द हो जाता है जब pdf.js zooms)
  • मैं पिनचेंड के केंद्र तक पूरी तरह से स्क्रॉल नहीं कर सका, भले ही मैंने उसी विधि का उपयोग किया, जैसा कि मूसवेल-जूम करता है
  • कभी-कभी हथौड़ा से केंद्र सही तरीके से सेट नहीं किया जाता है
  • कभी-कभी पिंचेंड को हथौड़ा से नहीं बुलाया जाता है। जेएस और कोई ज़ूम नहीं होता है
  • मैंने pinchmove पर css ट्रांसफ़ॉर्मेशन जोड़ने की कोशिश की (pinchmove पर css ज़ूम, pinchend पर pdf js ज़ूम) जो बहुत अच्छा प्रदर्शन देगा, लेकिन फिर से मैं पूरी तरह से स्क्रॉल करने में सक्षम नहीं था (स्थिति #viewer with css Translate)
  • हथौड़ा.जेएस किसी भी अन्य स्पर्श-क्रिया (हमारे मामले में नियमित रूप से पेज स्क्रॉल) को रोकता है, इसलिए मुझे हथौड़ा को संशोधित करना पड़ा। केवल 2 उंगलियों का उपयोग करने पर रोकें
  • (समान ज़ूम के लिए समान :) यदि कोई स्क्रॉलबार नहीं हैं (ज़ूम आउट किया गया है तो आप संपूर्ण दस्तावेज़ देखें) हम दस्तावेज़ को चुटकी के केंद्र में स्थिति (स्क्रॉल) कर सकते हैं।

संभवतः यह सब हल करने योग्य है लेकिन iOS 10 user-scalable=no साथ अक्षम होने पर भी पेज-ज़ूम की अनुमति देता है। तो चुटकी को रोकने पर कुछ बारDDault () काम नहीं कर रहा है और पूरे पृष्ठ को ज़ूम किया गया है। यह अंत उपयोगकर्ता के लिए प्रमुख मुद्दे को जन्म देगा (केवल बाहर निकलने का तरीका टूलबार को डबल-टैप करना है)।

@ मिक्कल मैंने इसे

जब आप संशोधित मूसव्हील विधि का उपयोग करते हैं, तो मैं सही ज़ूम पोजीशन इवेंट नहीं होने के बारे में बताता हूं कि मेरा वही मुद्दा है (लागू होने के लिए अगला पैमाना, वर्तमान "मध्य स्थिति" या लक्ष्य और जानने के लिए "मध्य स्थिति" का डेल्टा) pdfViewer.container.scrollLeft और pdfViewer.container.scrollTop द्वारा प्रबंधित बाएँ, दाएँ, ऊपर, नीचे जाने के लिए कितना। ऐसा लगता है कि टाइमआउट द्वारा हमेशा एक त्रुटि पेश की गई है जो दर्शक को हर डबल टच इवेंट पर रेंडर करने से रोकती है।

हर सीएसएस डेल्टा पर सब कुछ प्रदान करने से बचने के लिए उन सीएसएस पैमाने परिवर्तनों को लागू करने के लिए कोई संकेत कहाँ?

@betovidal मुझे पता है कि आपकी आखिरी पोस्ट के कुछ महीने हो गए हैं। क्या आपने PDF.js में काम करने के लिए चुटकी-ज़ूम करने पर कोई अपडेट किया है? मैं काम के लिए एक परियोजना पर काम कर रहा हूं जिसके लिए यह आवश्यक है।
शायद हम एक साथ काम कर सकते हैं कुछ पता लगाने के लिए?

@squallstar मैंने बहुत संक्षेप में iOS पर आपके समाधान का परीक्षण किया। और अब तक, यह मेरे लिए काम कर रहा है! अपना समाधान साझा करने के लिए धन्यवाद 💯

@vuinguyen धन्यवाद! मुझे खुशी है कि इसने आपके लिए भी काम किया;)

+1

@Squallstar के कोड को PR में एकीकृत करने की कोई उम्मीद है? वर्तमान में, यदि कोई उपयोगकर्ता मोबाइल डिवाइस पर चुटकी और ज़ूम करने की कोशिश करता है, तो उन्हें अक्सर स्क्रॉलिंग से "लॉक" किया जाता है, और आगे नेविगेट करने के लिए बस पृष्ठ को फिर से लोड करना पड़ता है। छोटे "+" और "-" बटन पर नेविगेट करने के लिए 2018 में एक मोबाइल दर्शक के लिए बल्कि प्रतिरूप है।

IOS 10 पर चुटकी-ज़ूम "टूटा हुआ" है। यहां तक ​​कि अगर सब कुछ पूरी तरह से लागू होता है, तो सफारी सब कुछ ठीक कर देगी।

क्या यह iOS विशिष्ट समस्या है? क्या एंड्रॉइड पर पीडीएफज द्वारा दी गई पीडीएफ को ज़ूम करना संभव है?

ब्राउज़र पर निर्भर करता है। मुझे लगता है कि केवल iOS ब्राउज़र "उपयोगकर्ता-स्केलेबल = नहीं" को अनदेखा करते हैं।

अब आपको दस्तावेज़ को ज़ूम करने के लिए मोबाइल पर भी प्लस / माइनस बटन मारना होगा। यह वास्तव में अजीब है क्योंकि विशेष रूप से चुटकी-टू-ज़ूम सक्रिय है। मुझे लगता है कि मोबाइल पर जाने का सबसे अच्छा तरीका शायद "प्राकृतिक" आकार में प्रस्तुत करना है, और ब्राउज़र को वेब पेज के समान ज़ूम को नियंत्रित करने दें।

मेरे लिए, यह यह सब कहता है। मुझे लगता है कि यह एक विशिष्ट विशेषता के बारे में कम है और मोबाइल अनुभव के लिए एक दृष्टिकोण है।

मुझे लगता है कि केवल iOS ब्राउज़र "उपयोगकर्ता-स्केलेबल = नहीं" को अनदेखा करते हैं।

सही बात।

मैंने देखा कि "बॉक्स कंटेंट प्रीव्यू" (जो पीडीएफ को दिखाने के लिए पीडीएफजेएस का उपयोग करता है) इसके लिए अच्छा कार्यान्वयन करता है। यह उनके दर्शक का एक कोडपेन है:

https://codepen.io/box-platform/pen/rmZdjm

और यह उनके फिक्स के लिए पुल अनुरोध है:

https://github.com/box/box-content-preview/pull/567

मैंने सोचा कि शायद कोई व्यक्ति उनके समाधान के आधार पर पीडीएफजेएस के लिए कुछ समान बना सकता है। मैं इसे स्वयं कार्यान्वित करने की कोशिश करूँगा और अगर मैं करूँ तो कोड पोस्ट करूँगा। यदि कोई और व्यक्ति (जो शायद मुझसे अधिक अनुभव रखता है) भी इसमें सहयोग और कोशिश कर सकता है तो मुझे बहुत अच्छा लगेगा!

@ amurillo17 लिंक के लिए धन्यवाद। बॉक्स समाधान शानदार लग रहा है। मुझे pdfjs के साथ कुछ इस तरह काम करते हुए देखना अच्छा लगेगा। कृपया हमें अपनी प्रगति पर अद्यतन रखें!

क्या इस समस्या का कोई अच्छा समाधान है?

इसके लिए कोई अपडेट? एक बड़ी सुविधा होगी!

कोई सुधार ? धन्यवाद

क्या मौजूदा दर्शक के लिए इस सुविधा को जोड़ने के लिए कोई सरल तरीके हैं?

क्या मौजूदा दर्शक के लिए इस सुविधा को जोड़ने के लिए कोई सरल तरीके हैं?

नहीं।

@prohtex हम्म, यह बहुत दुख की बात है। मुझे उम्मीद है, कि इस तरह की सुविधा इन सभी वर्षों के बाद जल्द ही जोड़ दी जाएगी।

@prohtex हम्म, यह बहुत दुख की बात है। मुझे उम्मीद है, कि इस तरह की सुविधा इन सभी वर्षों के बाद जल्द ही जोड़ दी जाएगी।

यह तभी जोड़ा जाएगा जब कोई व्यक्ति किसी पीआर में कोड (मुझे नहीं, दुख की बात है) को चरणबद्ध और एकीकृत करेगा, और तब भी, इसमें वर्षों लग सकते हैं।

मेरे पास एक वर्कअराउंड है, लेकिन यह "एंड्रॉइड ओनली" है क्योंकि मुझे अपने "फ़ायरफ़ॉक्स फॉर एंड्रॉइड" एडऑन में आईओएस की परवाह नहीं है:
https://github.com/M-Reimer/android-pdf-js/blob/master/patches/pdfjs-pinch-gestures.js
मेरा मेकफाइल इसे "वेब / दर्शक.जेएस" में जोड़ देता है। यह स्पर्श घटनाओं को पंजीकृत करता है और चुटकी के इशारों को बटन क्लिक में तब्दील करता है।

मेरे पास एक वर्कअराउंड है, लेकिन यह "एंड्रॉइड ओनली" है क्योंकि मुझे अपने "फ़ायरफ़ॉक्स फॉर एंड्रॉइड" एडऑन में आईओएस की परवाह नहीं है:

यह मेरे iPad पर भी काम करता है, लेकिन यह थोड़ा सुस्त लगता है और बहुत स्वाभाविक नहीं है। यह प्रत्येक चुटकी के बाद एक कदम बढ़ाता है। तो आपको इसे ज़ूम करने के लिए उंगलियों को छोड़ना होगा और इससे कोई फर्क नहीं पड़ता कि आपने कितनी दूरी पर पिन किया है। क्या यह सामान्य व्यवहार है, या सिर्फ एक उपकरण-विशिष्ट बग है? वैसे भी धन्यवाद, इसका कारण यह सही दिशा में एक कदम है।

यह मेरे iPad पर भी काम करता है, लेकिन यह थोड़ा सुस्त लगता है और बहुत स्वाभाविक नहीं है। यह प्रत्येक चुटकी के बाद एक कदम बढ़ाता है। तो आपको इसे ज़ूम करने के लिए उंगलियों को छोड़ना होगा और इससे कोई फर्क नहीं पड़ता कि आपने कितनी दूरी पर पिन किया है। क्या यह सामान्य व्यवहार है, या सिर्फ एक उपकरण-विशिष्ट बग है? वैसे भी धन्यवाद, इसका कारण यह सही दिशा में एक कदम है।

कोड को देखते हुए, यह एक व्यवहार्य समाधान या एक अच्छा समाधान नहीं है। यह सब जूम इवेंट्स के लिए देखा जाता है और jQuery के साथ [-] [+] बटन पर क्लिक करके अनुकरण करते हैं।

@prohtex बिल्कुल। यदि आप इसे आज़माते हैं, तो यह कुछ करता है, लेकिन यह अच्छी तरह से काम नहीं करता है।

जैसा कि मैंने कहा: कुछ भी नहीं से सही लेकिन बेहतर नहीं है।
कम से कम मेरे लिए पिंच जेस्चर को छोटे मोबाइल स्क्रीन पर छोटे ज़ूम बटन से हिट करना आसान है। यह इशारों को काम करता है जो हर मोबाइल डिवाइस उपयोगकर्ता काम करने की उम्मीद करता है।

यह मेरे iPad पर भी काम करता है, लेकिन यह थोड़ा सुस्त लगता है और बहुत स्वाभाविक नहीं है। यह प्रत्येक चुटकी के बाद एक कदम बढ़ाता है। तो आपको इसे ज़ूम करने के लिए उंगलियों को छोड़ना होगा और इससे कोई फर्क नहीं पड़ता कि आपने कितनी दूरी पर पिन किया है। क्या यह सामान्य व्यवहार है, या सिर्फ एक उपकरण-विशिष्ट बग है? वैसे भी धन्यवाद, इसका कारण यह सही दिशा में एक कदम है।

यह बटन हिट करता है। इस सरल दृष्टिकोण के साथ "प्राकृतिक ज़ूमिंग" संभव नहीं है और मैं पीडीएफ के साथ बहुत अधिक गड़बड़ नहीं करना चाहता। यह मेरे एडऑन का लक्ष्य नहीं है।

लेकिन उंगलियों को स्थानांतरित करने के आधार पर कई बटन प्रेस करना संभव होना चाहिए। मैं कोशिश करूँगा कि

कोड को देखते हुए, यह एक व्यवहार्य समाधान या एक अच्छा समाधान नहीं है। यह सब जूम इवेंट्स के लिए देखा जाता है और jQuery के साथ [-] [+] बटन पर क्लिक करके अनुकरण करते हैं।

मैं सुझावों के लिए खुला हूं, लेकिन जैसा कि यह एक ऐडऑन का हिस्सा है, जो कि बस पीडीएफ.जेएस को फ़ायरफ़ॉक्स के अंदर पीडीएफ दर्शक के रूप में प्रयोग करने योग्य बनाना चाहता है, मैं गहरे संशोधन नहीं करूंगा।

BTW: मेरे कोड में jQuery की एक भी लाइन नहीं है। यह कच्चा जावास्क्रिप्ट है।

उंगलियों को हिलाते हुए ज़ूम स्टेप्स करना वास्तव में संभव होना चाहिए ...
मैं कुछ और सुधार करने की कोशिश करूंगा, लेकिन एकमात्र संचार पथ, मैं उपयोग करूंगा, दो बटन हैं जिन्हें मैं रिमोट-कंट्रोल करूंगा। इस तरह मेरा कोड PDF.js. के साथ हस्तक्षेप नहीं करता है

BTW: मेरे कोड में jQuery की एक भी लाइन नहीं है। यह कच्चा जावास्क्रिप्ट है।

मुझे सही साबित होना है। जल्द ही एक परिपक्व समाधान की उम्मीद है।

इसे पूरा करने का तरीका चुटकी-ज़ूम करते समय सीएसएस परिवर्तन का उपयोग करना है। साथ ही उंगलियों के मूवमेंट को न केवल जूम लगाने की जरूरत है। फिर चुटकी-ज़ूम-एंड पर आप सीएसएस परिवर्तन को रीसेट कर सकते हैं और वास्तविक ज़ूम को लागू कर सकते हैं और पीडीएफ़ पर स्क्रॉल कर सकते हैं।

PS पहले से ही एक गैर-jQuery परियोजना के अंदर jQuery का उपयोग करना मेरे लिए एक बुरे अभ्यास की तरह लगता है।

PS पहले से ही एक गैर-jQuery परियोजना के अंदर jQuery का उपयोग करना मेरे लिए एक बुरे अभ्यास की तरह लगता है।

@ M-Reimer JQuery का उपयोग कहां करता है? जैसा कि उन्होंने पहले ही कहा था, उनके समाधान केवल सादे जावास्क्रिप्ट का उपयोग करते हैं।

हाँ .. मेरी बुर। बिंदु, यह समाधान अच्छी तरह से काम नहीं करता है।

अपडेट किया गया ताकि उंगलियों के बीच की दूरी ज़ूम राशि को बदल दे:
https://github.com/M-Reimer/android-pdf-js/blob/master/patches/pdfjs-pinch-gestures.js
उंगलियों को आगे बढ़ाते हुए ज़ूम करना संभव नहीं है, किसी कारण के लिए, वास्तविक ज़ूम और रीड्रा किसी भी तरह "स्पर्श" के लिए स्पर्श घटना का कारण बनता है।
दोबारा: इशारे को न संभालना बेहतर है।

@ M-Reimer आपके काम के लिए बहुत-बहुत धन्यवाद। पिछले संस्करण की तुलना में कम से कम, यह एक सुधार है। हो सकता है कि कोई व्यक्ति इसे ज़ूम करते समय फिर से बनाने के लिए एक समाधान ढूंढता है। या सीएसएस परिवर्तनों का उपयोग करके अस्थायी रूप से ज़ूम करना संभव हो सकता है और फिर स्पर्श इशारे के समाप्त होने के बाद इसे फिर से शुरू करना चाहिए।

@anvaka ने मामले को देखा और ऐसा लगता है कि कोई सरल समाधान हो सकता

मैंने @squallstar समाधान पर आधारित एक संस्करण बनाया है जो अधिक उपयोगकर्ता प्रतिक्रिया देने के लिए चुटकी चाल

https://gist.github.com/jsprpalm/12217feab2f1acc14bd8e8508291619e

क्या अब भी इस मुद्दे का कोई समाधान नहीं है? मैं मोबाइल पर pdf.js का उपयोग करना चाहता हूं लेकिन इसे ज़ूम करने की क्षमता के बिना यह छोटी स्क्रीन पर बेकार है।

मैंने इसे हथौड़े के उपयोग के बिना काम किया था। लेकिन चूंकि यह एक ग्राहक परियोजना के लिए था, इसलिए मैं कोड साझा नहीं कर सकता था। मैंने चुटकी और डबलटैप लागू किया और सीएसएस के साथ ज़ूम किया और चुटकी में मैंने pdf.js. कुछ तत्वों को चौड़ाई / ऊंचाई निर्धारित करने की आवश्यकता होती है और कुछ को सीएसएस-परिवर्तन के साथ बदला जा सकता है। साथ ही pdf.js के दर्शक-स्क्रॉल को ज़ूम करते समय। js को रोकना होगा। मुझे बहुत समय दिया लेकिन यह अंत में बहुत अच्छा काम किया।

क्या अब भी इस मुद्दे का कोई समाधान नहीं है? मैं मोबाइल पर pdf.js का उपयोग करना चाहता हूं लेकिन इसे ज़ूम करने की क्षमता के बिना यह छोटी स्क्रीन पर बेकार है।

जब तक किसी डेवलपर को समाधान की पेशकश करने के लिए pdf.js कोडबेस चरणों के साथ अनुभव नहीं किया जाता है, तब तक यह प्रत्येक व्यक्ति के ऊपर होगा जो एक साथ कुछ करने के लिए pdf.js को लागू करता है। इस परियोजना के लिए एक बड़ी प्राथमिकता नहीं लगती है।

यहां एक पीआर है जिसे बहुत अधिक कठिनाई के बिना एकीकृत किया जा सकता है:

https://github.com/box/box-content-preview/pull/567

https://gist.github.com/jsprpalm/12217feab2f1acc14bd8e8508291619e

@jsprpalm धन्यवाद, काम करने की जरूरत है एक फिक्स की जरूरत है कृपया किसी को ठीक करने में मदद करें

@aidrouge https://gist.github.com/larsneo/bb75616e9426ae589f50e8c8411020f6

मैंने इसे अपने PDF व्यूअर ऐडऑन में जोड़ा है। बहुत अच्छा काम करने लगता है।
https://addons.mozilla.org/android/addon/android-pdf-js/

संपादित करें: मेरे लिए काम करता है

मेरे लिए यह काम करना अधिक प्राकृतिक है:

<meta
      name="viewport"
      content="width=device-width, initial-scale=1, maximum-scale=10.0, minimum-scale=1.0"
    />

मैं न्यूनतम ज़ूम कैसे सेट करूं? मैं छवि को इतना कम कर सकता हूं कि यह एक बिंदु में बदल जाए।

मेरे पास @KazysNoobiys जैसा ही प्रश्न है।
व्यूपोर्ट पर न्यूनतम-स्केल ज़ूमिंग को प्रभावित नहीं करता है

मैं एक और काम के आसपास काम कर रहा हूँ: एक पारदर्शी सीएसएस परत विभिन्न स्वाइप कार्यक्षमता को संभालने के लिए pdf.js को ओवरलेइंग करती है। ओवरले भाग अब काम करता है, लेकिन मुझे नहीं पता कि कॉल करने के लिए क्या कार्य करता है।
अगर (स्वाइप == 'लेफ्ट') ????
अगले पृष्ठ या पिछले पृष्ठ या ज़ूम करने के लिए अग्रिम करने के लिए मैं किस फ़ंक्शन को कॉल करूंगा?

अपना समय और जीवन बचाएं, अपनी .html फ़ाइल को इस तरह संपादित करें

// delete the 'maximum-scale'
<meta name="viewport" content="width=device-width, initial-scale=1">

जैसे। https://github.com/mozilla/pdf.js/blob/master/web/viewer.html#L26

क्या यह पृष्ठ उपयोगी था?
0 / 5 - 0 रेटिंग्स