Pdf.js: モバむルでより自然なズヌムを䜿甚する

䜜成日 2013幎01月18日  Â·  95コメント  Â·  ゜ヌス: mozilla/pdf.js

珟圚、ドキュメントをズヌムするには、モバむルでもプラス/マむナスボタンを抌す必芁がありたす。 特にピンチツヌズヌムもアクティブになっおいるので、これは本圓に奇劙です。 モバむルでの最善の方法は、おそらく「自然な」サむズでレンダリングし、Webペヌゞのようにブラりザにズヌムを制埡させるこずだず思いたす。

1-viewer 2-feature

最も参考になるコメント

@ltullman @ hetalv985私はそれを自分で実装しお動䜜させるこずができたした、ここで私の芁点を確認しおください

https://gist.github.com/squallstar/1d720e93eabe7f60dc61b547d2c19228
それをviewer.htmlの最埌に貌り付けるだけです👍それだけです。

党おのコメント95件

これが私たちがやりたかったこずですが、V1ではズヌムのピンチに問題があったため、ズヌムボタンを䜿甚する必芁がありたした。

問題に぀いお詳しく教えおいただけたすか PDF.jsをうたく機胜させるために、おそらくそれらに優先順䜍を付けるこずができるず思いたす。

この堎合、ブラりザにズヌムを実行させたくないず思いたす。 pdf.jsがドキュメントを800x600でレンダリングし、ピンチズヌムむンするず、ブラりザヌはその800x600コンテンツを新しい高解像床でレンダリングし続けたす。これは、デバむスの解像床ず方法によっおは、がらくたに芋える堎合ず芋えない堎合がありたす。ズヌムしたした。 pdf.jsはただsvgではなくcanvasをレンダリングに䜿甚しおいるず思いたすか

@Snuffleupagus @timvandermeijどちらかがこれに取り組むこずに興味がありたすか gaiahttps //github.com/mozilla-b2g/gaia/blob/master/shared/js/gesture_detector.jsの共有ラむブラリを䜿甚するのはそれほど難しいこずではないようです

@brendandahl間違いなくやるこずリストに茉せお、すぐに実隓を始めたす。 https://github.com/mozilla-b2g/gaia/blob/862de8489b648a9af7e8a5b88be031b5479404ba/apps/camera/js/panzoom.js#L15は、「transform」が2本の指のピンチむベントに䜿甚されるため、良い䟋のようです。 それはモバむルで非垞に頻繁に䜿甚されおいるので、ズヌムするピンチが機胜するのであれば本圓に玠晎らしいでしょう。

私はこれに取り組んでいたす。 興味のあるナヌザヌは、 https//github.com/timvandermeij/pdf.js/tree/pinch-to-zoomで進捗状況を確認できたす。 タブレットず携垯電話ですでにピンチツヌズヌムコマンドをキャッチしおいたすが、実際の再レンダリングだけでなく、粟床も改善する必芁がありたす叀いスケヌルで新しいスケヌルを蚈算する方法を芋぀ける必芁がありたすおよび新しい䞭間点、たたはその他の方法。

@timvandermeijこれを実装する前に行う必芁があるかもしれないこずの1぀は、ズヌムを改善するこずです。 最初にcss倉換を䜿甚しおキャンバスをスケヌリングし、次に再レンダリングを開始し、再レンダリングが完了したら新しいキャンバスを衚瀺するこずに぀いお説明したした。

ここでの最善の解決策は、ブラりザヌのコンポゞタヌに䟝存しお䞀時的なズヌムピンチたたはダブルタップ䞭のアニメヌションを実行し、pdf.jsを新しい解像床で再描画するこずであるず匷く信じおいたす。 ここでの悲しい郚分は、珟圚、コンテンツがズヌムの倉曎を認識しおおらず、キャンバスのサむズを新しい解像床に倉曎しおも機胜しないず思いたす。 これを凊理するには、キャンバスの仕様を匷化する必芁があるかもしれたせん。

私はhammer.jsである皋床の成功を収めたした。 ブラりザの「ネむティブ」ピンチを蚱可しPDFががやける、ピンチしたずきに、scale = scale * zoomでPDFキャンバスを再描画し、キャンバスにcss「transformscale1 / zoom」を指定したす。 したがっお、すべおが同じ堎所に配眮されたす特にテキストずアンカヌ。 きちんず芋えたす。

@skruseしばらく前に、

ねえ、skruse、ズヌム終了時のズヌム比をどのように蚈算できたしたか

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

たた、パフォヌマンスの問題も発生したした。「スケヌル」パラメヌタの芳点から、モバむルデバむスで「遠すぎる」ズヌムむンをしおはいけたせん。 2か3が䞀番倧きいず思いたす。

これは+2

誰かがこの2幎前の問題の解決策を手に入れたしたか

私の知る限り、これに぀いおは䜕もされおいたせん。 https://github.com/mozilla/pdf.js/issues/2582#issuecomment-30316908で以前のコメントを参照し

これに察する解決策を芋たいず思いたす。 珟時点では、これがpdf.jsの䜿甚を劚げおいる唯䞀の理由です。

:(

ピンチズヌムは玠晎らしいでしょう pdf.jsを䜿甚し、ピンチズヌムずスワむプペヌゞを備えたこのjqueryプラグむンを芋぀けたした。 http://touchpdf.net/demo/index.htmしかし、最初からpdf.jsでビルドされおいれば良いでしょう:-)

+1ここでこれを芋たいです。

+1、たた、hammer.jsを䜿甚しおむベントをキャプチャし、pdf.jsズヌム関数を呌び出す他の䟋は、比范的「クリヌンな」メ゜ッドではありたせんか

@sporkmanが最終的に行ったこずは、キャンバスを非垞に倧きくレンダリングしおから、ネむティブブラりザヌズヌムを䜿甚しおズヌムを蚱可するこずでした私のアプリはタッチデバむス甚に蚭蚈されおいたす。 必芁に応じお゜ヌスを共有できたす。

@rorysmorrisスクロヌル䞭にピンチするずきに、ネむティブブラりザのズヌムを無効にする方法をどのように回避したしたか たた、pdf.jsにhammer.jsを実装したしたが、その特定の問題を回避できたせん

touch-action CSSプロパティを䜿甚しようずしたしたか
https://developer.mozilla.org/en-US/docs/Web/CSS/touch-action

2016幎10月5日15:15、「toplay3」 [email protected]は次のように曞いおいたす。

@rorysmorris https://github.com/rorysmorrisどうやっお取埗したのですか
スクロヌル䞭に぀たむずきにネむティブブラりザのズヌムを無効にするこずに぀いお 私は持っおいたす
たた、pdf.jsにhammer.jsを実装したしたが、その特定を回避するこずはできたせん
問題

—
このスレッドにサブスクラむブしおいるため、これを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/mozilla/pdf.js/issues/2582#issuecomment -251670785、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/ABTUT83E287dv4LSs4T_TGnzwe8yqCMYks5qw6LmgaJpZM4AXvZ2
。

@ Rob--W
すごい倩才 今完璧に動䜜したす 本圓にありがずう

この問題はい぀実装される予定ですか この号が最初に投皿されおからかなりの時間が経ちたした。 蚀うたでもなく+1

たた、1幎前から毎週この問題をチェックしおいたす。 それをコアに入れるか、hammerjsのアドオンずしお䜿甚するず玠晎らしいでしょう。

このスレッドをより建蚭的にするために、UIの芁件を以䞋に瀺したす誰かが問題の解決を本圓に助けおスピヌドアップしたい堎合。PDF.jsに固有のものはありたせん。

  • 垂盎に積み重ねられたDIVのセットサむズが異なるをズヌムおよびパンするには
  • ナヌザヌがさたざたなスケヌルでビュヌポヌトで迷子にならないようにする
  • divの可芖性たたは可芖スケヌルが倉曎されたずきに怜出しお通知したす。

䜎電力デバむスではすべおのペヌゞを最倧解像床でペむントしたくないため、埌者は重芁です。 誰かがプロトタむプを持っおいる堎合は、IRCで私を芋぀けお、可芖性ずスケヌルむベントのためにPDFPageViewをフックするのを手䌝いたす。 5-good-beginner-bugも蚭定したすか

これは初心者向けのバグであるこずに同意するので、そのようにラベルを付けたす。

これはモバむルだけでなく、2本指のトラックパッドズヌムMacの堎合をサポヌトする機胜リク゚ストも受け取っおいたす。

簡単な調査の結果、ズヌムゞェスチャをサポヌトするクロスブラりザの方法はただないこずがわかりたした。

  • Safariにはいく぀かの特定のゞェスチャヌむベントがありたす https 
  • Firefoxアドオンコヌドはゞェスチャヌむベントにアクセスできたす https 
  • ピンチむベントをctrl-wheelに倉換するこずに関するいく぀かのbugzillaの議論他のブラりザぞの入力ず参照を含む https 

+1

@ toplay3ず@ Rob--Wそれを機胜させるために䜕をしたしたか 「touch-actionauto;」を远加したすか 䜕に そしお、あなたは他に䜕をしたしたか ありがずう

こんにちは皆さん、私がピンチしおズヌムを機胜させるこずに興味を持っおいるほずんどの人のように、ハンマヌのような倖郚ラむブラリを䜿甚しおも、誰かがそうするこずができたしたか あなたがそれを䜜った堎合、セットアップは䜕ですか @rorysmorris @ toplay3 @ Rob--Wありがずう

👍

@rorysmorris䞊蚘の質問に぀いお䜕かアドバむスはありたすか ありがずう:)

こんにちは@ squallstar-最初はJSピンチアンドズヌムラむブラリを䜿甚しおこれを凊理しようずしたしたが、いく぀かの問題が芋぀かりたした。 それは私が望むようにズヌムしたせんでした。぀たり、それが理にかなっおいる堎合、端を画面の端から離したくないずきに、PDFキャンバスを完党に画面倖に移動させるこずができたした。 結局、私はモバむルブラりザに組み蟌たれおいるネむティブズヌムを䜿甚しおピンチ/ズヌム/ナビゲヌトしたした。 衚瀺されおいたピクセルサむズの3倍でPDFをレンダリングするようにPDF.jsを蚭定し、CSSで瞮小したので、ズヌムむンしおもかなり鮮明なたたです。ヘルプが必芁な堎合は、私の実甚的な䟋を玹介できたす。実装。

@rorysmorrisありがずう、私に芋せおたたはスニペットを送っお、たたはそれをどのように実装したかを教えおいただければ幞いです。 よろしくお願いしたす👍

@squallstarは、私のサむトの連絡フォヌムからメヌルを送っおくれたす。今日の埌半にデモをおhttp://rorymorris.co.uk

@squallstarこれは実際には解決策ではありたせんが、䞀皮の回避策です。 短所は次のずおりです。パフォヌマンス、結果にはデバむスの䟝存関係があり、ズヌムは無限ではありたせん。

JavaScriptを䜿甚しおこれらのタスクを実行するのではなく、ネむティブのスクロヌルずパンを䜿甚するこずで、パフォヌマンスが倧幅に向䞊したす。 最倧ズヌムレベルはメタビュヌポヌトタグを䜿甚しお簡単に構成できたすが、ラスタラむズされた画像を無限にズヌムしたい人はいたすか ちなみに芋栄えの良い「JS-ImageResizer」ラむブラリ @MickL

パフォヌマンスはもっず掚枬でした。 暪向き@ 2208px幅でiPhonePlusを䜿甚するずしたす。 これで、6624pxのキャンバスができたした。 PDFの耇雑さずペヌゞ数によっおは、HTMLテキストやグラフィックなどで3぀のレンダリングされた6000pxキャンバスがある堎合がありたす。

あなたの解決策は倚くの人にずっお玠晎らしいず思いたす。 しかし、あなたが説明したように、実際にPDF.jsのズヌムず再レンダリングをトリガヌするよりも停のズヌムです:)

確かに、その芳点からのパフォヌマンスの面では玠晎らしいこずではありたせん。 この特定のナヌスケヌスでは、300ペヌゞ以䞊のPDFをiPadRetinaサむズでレンダリングし、それぞれの䞊に描画キャンバスを配眮する必芁がありたした。

PDF.jsは、レンダリングされたPDFペヌゞが玄10ペヌゞでブラりザヌiOS Safariをクラッシュさせるため、最終的には、前/次のボタンで䞀床に1぀のPDFペヌゞを衚瀺するだけで枈みたした。 理想的ではありたせん そしお、私は同意したす。PDF.jsに組み蟌たれおいるネむティブズヌム機胜はもっず良かったでしょう。

ピンチズヌムの䟋を実行するには、kamihq.comをチェックアりトしおください

@rorysmorris昚日の倕方、お問い合わせフォヌムからメヌルをお送りしたした。あなたが話しおいた䟋を送っおいただけたせんか。 :)ありがずう

実甚的な䟋@ rorysmorris 、@ Rob--Wなどを持っおいる人は誰でも共有できたすか

@rorysmorris私はあなたのりェブサむトを通しおあなたに連絡しようずしたした。 誰かがこれの実甚的な䟋を持っおいるなら、あなたは共有できたすか

@ltullman @ hetalv985私はそれを自分で実装しお動䜜させるこずができたした、ここで私の芁点を確認しおください

https://gist.github.com/squallstar/1d720e93eabe7f60dc61b547d2c19228
それをviewer.htmlの最埌に貌り付けるだけです👍それだけです。

ありがずうsquallstar。 ただし、viewer.htmlは䜿甚しおいたせん。 iOSモバむルアプリのdivタグ内でPDFをレンダリングしおいたす。 その堎合、この機胜をどのように䜿甚したすか ビュヌアファむルを含める必芁がありたすか

したがっお、非垞によく䌌た関数handleMouseWheelありたす。 タッチゞェスチャやハンマヌjsでたったく同じ機胜を䜿っおみたせんか それでは、これは1〜2時間で修正されたせんか

残念ながら、それはそれほど簡単ではありたせん。 https://github.com/mozilla/pdf.js/issues/2582#issuecomment-30316908で私の以前のコメントを参照しおください。 タッチゞェスチャの量を制限しお、デルタが倉曎されるたびにキャンバスが再レンダリングされないようにする必芁がありたす。これは、パフォヌマンスの倧きな問題です。 誰かがこれに取り組む気があるなら、PRを提出しおください、そしお私たちはそれをレビュヌしたす。

それが唯䞀の問題なら... :)

たた、「ctrl + mousewheel」では、Googleマップのようにカヌ゜ル䜍眮たでスクロヌルするこずに気づきたした。 ただし、スクロヌルバヌペヌゞ読み蟌み時のデフォルトがない堎合、これは機胜したせん。 したがっお、これを自然に感じるには、ピンチズヌムずマりスホむヌルズヌムに必芁な堎合はパディングを䜜成する必芁がありたす。

マりスホむヌルズヌムずピンチズヌムが同じ機胜を䜿甚する堎合は、さらに䟿利です。

あなたのコミットはすでに良さそうです。 倚分パフォヌマンスはもはや問題ではありたせん、それは3幎以䞊前です。 もちろん、最善の解決策は次のずおりです。開始ピンチ->がやけたズヌム->終了ピンチ->実際にPDFをズヌムしたす。 たた、 user-scalable=noは最新のiOSでは動䜜しなくなりたした。 したがっお、 preventDefault()も必芁になる堎合がありたす。

私はこれに倚くの時間を投資したした。 実際には可胜のようですが、解決できなかった問題がいく぀かありたす。

  • Hammer.jsはpinchendでのみ機胜したすpdf.jsがズヌムするずpinchmoveは垞にキャンセルされたす
  • mousewheel-zoomず同じ方法を䜿甚したにもかかわらず、ピンチェンドの䞭心たで完党にスクロヌルできたせんでした。
  • 時々、hammer.jsによっお䞭心が正しく蚭定されたせん
  • pinchendがhammer.jsによっお呌び出されず、ズヌムが発生しない堎合がありたす
  • pinchmoveにcss倉換を远加しようずしたしたpinchmoveでcssズヌム、pinchendでpdf jsズヌム。これにより、優れたパフォヌマンスが埗られたすが、完党にスクロヌルできたせんでした䜍眮#viewerずcss倉換
  • Hammer.jsは他のタッチアクションこの堎合は通垞のペヌゞスクロヌルを防止するため、hammer.jsを倉曎しお2本の指が䜿甚されおいる堎合にのみ防止する必芁がありたした
  • マりスホむヌルズヌムに぀いおも同じです:)スクロヌルバヌがない堎合ドキュメント党䜓が衚瀺されるようにズヌムアりト、ドキュメントをピンチの䞭心に配眮スクロヌルするこずはできたせん。

おそらくこれはすべお解決可胜ですが、iOS 10ではuser-scalable=no無効になっおいる堎合でもペヌゞズヌムが可胜です。 そのため、ピンチで数回preventDefaultが機胜せず、ペヌゞ党䜓がズヌムされたす。 これぱンドナヌザヌにずっお倧きな問題に぀ながりたす抜け出す唯䞀の方法はツヌルバヌをダブルタップするこずです。

@MickL詊しおみたした。 CSSプロパティ「pointer-eventsnone」をクラスpdfViewerずペヌゞに远加するこずで「ピンチズヌム」のキャンセルを回避できたしたそしお、viewerContainerがダブルタッチむベントをディスパッチしおペヌゞ党䜓がズヌムしないずきにstopPropagation + preventDefaultを呌び出すこずでiOS。

倉曎されたマりスホむヌルメ゜ッドを䜿甚するず、完党なズヌム䜍眮むベントが発生しないずいう同じ問題が発生したす適甚する次のスケヌル、珟圚の「䞭間䜍眮」たたはタヌゲット、および「䞭間䜍眮」のデルタを枡しお知る pdfViewer.container.scrollLeftおよびpdfViewer.container.scrollTopによっお管理される、巊、右、䞊、䞋に移動する量。 おそらくタむムアりトによっお、芖聎者がすべおのダブルタッチむベントでレンダリングできなくなる゚ラヌが垞に発生しおいるようです。

すべおのスケヌルデルタですべおをレンダリングしないようにするために、これらのCSSスケヌル倉換をどこに適甚するかに぀いおのヒントはありたすか

@betovidal前回の投皿から数か月が経ちたした。 PDF.jsでピンチズヌムを機胜させるための曎新を行いたしたか 私はこれを必芁ずする仕事のためのプロゞェクトに取り組んでいたす。
たぶん私たちは䞀緒に䜕かを理解するために働くこずができたすか

@squallstariOSで゜リュヌションを簡単にテストしたした。 そしおこれたでのずころ、それは私のために働いおいたす ゜リュヌションを共有しおいただきありがずうございたす💯

@vuinguyenありがずう 私もそれがあなたのために働いおうれしいです;

+1

@squallstarのコヌドをPRに統合する垌望はありたすか 珟圚、ナヌザヌがモバむルデバむスをピンチしおズヌムしようずするず、スクロヌルが「ロック」され、さらにナビゲヌトするためにペヌゞをリロヌドする必芁がありたす。 小さな「+」ボタンず「-」ボタンを䜿甚しおナビゲヌトするこずは、2018幎のモバむル芖聎者にずっおは盎感に反したす。

ピンチズヌムは、iOS 10以降のiOSでは「壊れおいたす」。すべおが完党に実装されおいおも、Safariはすべおを台無しにしたす。

これはiOS固有の問題ですか Androidでpdfjsが提䟛するPDFをピンチズヌムするこずは可胜ですか

ブラりザによっお異なりたす。 iOSブラりザだけが「user-scalable = no」を無芖するず思いたす。

珟圚、ドキュメントをズヌムするには、モバむルでもプラス/マむナスボタンを抌す必芁がありたす。 特にピンチツヌズヌムもアクティブになっおいるので、これは本圓に奇劙です。 モバむルでの最善の方法は、おそらく「自然な」サむズでレンダリングし、Webペヌゞのようにブラりザにズヌムを制埡させるこずだず思いたす。

私には、これがすべおを物語っおいたす。 これは特定の機胜ではなく、モバむル゚クスペリ゚ンスぞのアプロヌチだず思いたす。

iOSブラりザだけが「user-scalable = no」を無芖するず思いたす。

正しい。

「BoxContentPreview」PDFJSを䜿甚しおPDFを衚瀺するがこれに適した実装であるこずがわかりたした。 これは圌らの芖聎者のCodepenです

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

そしお、これは圌らの修正のためのプルリク゚ストです

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

圌らの解決策に基づいお、誰かがPDFJSに䌌たようなものを䜜るこずができるのではないかず思いたした。 自分で実装しお、コヌドを投皿しようず思いたす。 他の誰かおそらく私よりも経隓が豊富な人も協力しお詊しおみるこずができれば玠晎らしいず思いたす

@ amurillo17リンクをありがずう。 Box゜リュヌションは玠晎らしく芋えたす。 このようなものがpdfjsで動䜜するのを芋たいです。 進捗状況をお知らせください。

この問題の良い解決策はありたすか

これに関する曎新はありたすか 持っおいる玠晎らしい機胜になりたす

曎新はありたすか ありがずう

この機胜を既存のビュヌアに远加する簡単な方法はありたすか

この機胜を既存のビュヌアに远加する簡単な方法はありたすか

番号。

@prohtexうヌん、それはかなり悲しいです。 このような機胜が、これらすべおの幎の埌にすぐに远加されるこずを願っおいたす。

@prohtexうヌん、それはかなり悲しいです。 このような機胜が、これらすべおの幎の埌にすぐに远加されるこずを願っおいたす。

誰かがステップアップしおコヌドをPRに統合したずきにのみ远加され悲しいこずに私ではありたせん、それでも数幎かかる可胜性がありたす。

回避策はありたすが、「Firefox forAndroid」アドオンのiOSを気にしないため、「Androidのみ」です。
https://github.com/M-Reimer/android-pdf-js/blob/master/patches/pdfjs-pinch-gestures.js
私のMakefileは、これを「web /viewer.js」に远加するだけです。 タッチむベントに登録し、ピンチゞェスチャをボタンクリックに倉換したす。

回避策はありたすが、「Firefox forAndroid」アドオンのiOSを気にしないため、「Androidのみ」です。

それは私のiPadでも動䜜したすが、少し遅く感じ、あたり自然ではありたせん。 ピンチするたびに1ステップズヌムしたす。 したがっお、ズヌムするには指を離す必芁があり、ピンチした距離がどれだけ離れおいおもかたいたせん。 これは正垞な動䜜ですか、それずもデバむス固有のバグですか ずにかくありがずう、これは正しい方向ぞの䞀歩だからです。

それは私のiPadでも動䜜したすが、少し遅く感じ、あたり自然ではありたせん。 ピンチするたびに1ステップズヌムしたす。 したがっお、ズヌムするには指を離す必芁があり、ピンチした距離がどれだけ離れおいおもかたいたせん。 これは正垞な動䜜ですか、それずもデバむス固有のバグですか ずにかくありがずう、これは正しい方向ぞの䞀歩だからです。

コヌドを芋るず、これは実行可胜な解決策ではなく、適切な回避策でもありたせん。 これは、ズヌムむベントを監芖し、jQueryで[-] [+]ボタンのクリックをシミュレヌトするだけです。

@prohtexその通り。 詊しおみるず䜕かしたすが、党然うたくいきたせん。

私が蚀ったように完璧ではありたせんが、䜕もないよりはたしです。
少なくずも私にずっおは、小さなモバむル画面で小さなズヌムボタンを抌すよりもピンチゞェスチャを行う方が簡単です。 これにより、すべおのモバむルデバむスナヌザヌが期埅するゞェスチャヌが機胜したす。

それは私のiPadでも動䜜したすが、少し遅く感じ、あたり自然ではありたせん。 ピンチするたびに1ステップズヌムしたす。 したがっお、ズヌムするには指を離す必芁があり、ピンチした距離がどれだけ離れおいおもかたいたせん。 これは正垞な動䜜ですか、それずもデバむス固有のバグですか ずにかくありがずう、これは正しい方向ぞの䞀歩だからです。

ボタンを抌したす。 この単玔なアプロヌチでは「自然なズヌム」は䞍可胜であり、PDF.jsをあたりいじりたくありたせん。 これは私のアドオンの目暙ではありたせん。

ただし、指の移動距離によっおは、耇数のボタンを抌すこずができるはずです。 やっおみたす。

コヌドを芋るず、これは実行可胜な解決策ではなく、適切な回避策でもありたせん。 これは、ズヌムむベントを監芖し、jQueryで[-] [+]ボタンのクリックをシミュレヌトするだけです。

私は提案を受け入れおいたすが、これはPDF.jsをFirefox内のPDFビュヌアずしお䜿甚できるようにしたいアドオンの䞀郚であるため、倧幅な倉曎は行いたせん。

ずころで私のコヌドにはjQueryが1行もありたせん。 これは生のJavaScriptです。

指を動かしながらズヌムステップを実行するこずは実際に可胜であるはずです...
さらに改善を詊みたすが、䜿甚する通信パスは、リモヌトコントロヌルする2぀のボタンだけです。 このようにしお、私のコヌドはPDF.jsに干枉したせん。

ずころで私のコヌドにはjQueryが1行もありたせん。 これは生のJavaScriptです。

私は正盎に立っおいたす。 すぐに成熟した解決策を望んでいたす。

これを実珟する方法は、ピンチズヌム䞭にcss倉換を䜿甚するこずです。 たた、ズヌムだけでなく、指の動きも適甚する必芁がありたす。 次に、ピンチズヌム終了時に、css倉換をリセットし、実際のズヌムを適甚しおpdf.jsにスクロヌルできたす。

PS非jQueryプロゞェクト内でjQueryを䜿甚するこずは、私にはすでに悪い習慣のように思えたす。

PS非jQueryプロゞェクト内でjQueryを䜿甚するこずは、私にはすでに悪い習慣のように思えたす。

@ M-ReimerはどこでJQueryを䜿甚したすか 圌がすでに述べたように、圌の回避策はプレヌンなJavascriptのみを䜿甚したす。

ええ..私の悪い。 ぀たり、この゜リュヌションはうたく機胜したせん。

指の間の距離がズヌム量を倉曎するように曎新されたした。
https://github.com/M-Reimer/android-pdf-js/blob/master/patches/pdfjs-pinch-gestures.js
䜕らかの理由で、実際のズヌムず再描画によっおタッチむベントが䜕らかの理由で「終了」するため、指を動かしながらズヌムするこずはできたせん。
繰り返したすが、ゞェスチャヌをたったく凊理しないよりはたしです。

@ M-Reimerお疲れ様でした。 少なくずも、前回のバヌゞョンず比范しお改善されおいたす。 ズヌム䞭に再描画するための解決策を誰かが芋぀けたのかもしれたせん。 たたは、css倉換を䜿甚しお䞀時的にズヌムし、タッチゞェスチャが終了した埌に最終的に再描画するこずもできたす。

私は@squallstar゜リュヌションに基づいおバヌゞョンを䜜成したした。これは、ピンチ移動䞭にcss倉換を䜿甚しお、より倚くのナヌザヌフィヌドバックを提䟛したす。 レンダリングはタッチ゚ンドでのみ行われたす。 完璧ではありたせん。レンダリング埌のスクロヌルの配眮に小さな問題がいく぀かありたすが、誰かがそれを出発点ずしお䜿甚できる可胜性がありたす。

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

この問題の修正はただありたせんか モバむルでpdf.jsを䜿甚したいのですが、ズヌム機胜がないず、小さな画面ではほずんど圹に立ちたせん。

Hammer.jsを䜿甚せずに動䜜させたしたが、顧客プロゞェクト甚であったため、コヌドを共有できたせん。 ピンチずダブルタップを実装し、cssでズヌムし、ピンチェンドでpdf.jsをズヌムしたした。 䞀郚の芁玠は幅/高さを蚭定する必芁があり、䞀郚はcss-transformで倉換できたす。 たた、ズヌム䞭はpdf.jsviewer.jsのスクロヌルりォッチを防止する必芁がありたす。 かなりの時間がかかりたしたが、最終的にはかなりうたくいきたした。

この問題の修正はただありたせんか モバむルでpdf.jsを䜿甚したいのですが、ズヌム機胜がないず、小さな画面ではほずんど圹に立ちたせん。

開発者が゜リュヌションを提䟛するためのpdf.jsコヌドベヌスの手順を経隓するたでは、pdf.jsを実装する各人が䜕かをたずめる必芁がありたす。 このプロゞェクトの優先事項ではないようです。

これは、それほど困難なく統合できるPRです。

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をオヌバヌレむする透明なcssレむダヌ。 オヌバヌレむ郚分は機胜するようになりたしたが、どの関数を呌び出すべきかわかりたせん。
ifswipe == 'left'????
次のペヌゞに進んだり、前のペヌゞにバックアップしたり、ズヌムしたりするには、どの関数を呌び出したすか

時間ず劎力を節玄し、.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 評䟡