問題タブ [pdfjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - getElementById が Android WebView で null を返す (ローカル html のみ)
現在、テスト目的のため、単純な Android アプリを作成しています。その中には、アセットフォルダーからのhtmlファイル(javascript(Mozilla PDFJS)を含む)を表示するWebView-Elementがあります。フラグメントコードから:
次の html を既に含むコンテンツ:
logcat では、次のクロム コンソール出力を受け取ります。そのため、requestet pdf ページのレンダリングは行われません (それでも、ヘッダーは正常に表示されます)。
I/chromium﹕ [INFO:CONSOLE(22)] "Uncaught (in promise) TypeError: Cannot read property 'getContext' of null", source: file:///android_asset/ (22)
22行目参照
var context = canvas.getContext('2d');
webView.loadUrl(" http://www.dennissch.de/pdftest/ "); を介してリモート サーバーからまったく同じファイルをロードすると (file:///-links を置き換えます); すべて正常に動作します。では、document.getElementById がローカル ファイルで機能しないように見えるのはなぜでしょうか?
java - 「use strict」ディレクティブを無視するようJavaFX WebViewに指示する方法は?
次のコードを使用して、mozilla ビューアーを JavaFx WebView に統合しようとしています。
pdfjs-1.1.366-dist フォルダーはpdfjs GitHubからダウンロードされます
viewer.html
また、内部に firebug-lite を追加するだけに変更しました:
アプリケーションを実行すると、ビューアー フレームが表示されますが、デフォルトの pdf が読み込まれず、firebug コンソール内に次のエラーが表示されます。
「TypeError: undefined はオブジェクトではありません ('globalScope.PDFJS' を評価しています) (pdf.worker.js,103)」
JavaScript ファイルの「use strict」ディレクティブをすべて削除しましたが、すべて正常に動作しています。
これが JavaFX のバグなのか内部 WebKit のバグなのかはわかりませんが、バージョン 1.8.0_60 で発生します。
スクリプトを制御して「use strict」ディレクティブを削除できない場所に読み込まれる他の Web ページがあるため、厳密モードを無効にする方法はありますか?
pdf - pdfjsによって生成されたフィンガープリントをpdfの一意のIDとして使用する
ユーザーがサーバーにアップロードするか、インターネットで利用できる PDF ファイルのブックマークとして保存されるさまざまな PDF ファイルのデータベースを作成する必要があります。インターネット経由で入手できるファイルは、pdf.js で開かれます。pdfjs がその操作の一部で生成するフィンガープリントに遭遇し、それを使用して pdf を一意に識別できるかどうか疑問に思っていました。ただし、そのためには、アップロードされたが、viewer.js を介して開かれていないドキュメントに対して、このフィンガープリントを自分で生成する必要もあります (viewer.js を介してこのフィンガープリントを取得できますが、そうでない場合は取得できないため)。iTextSharp を PDF 解析用の PDF パーサーとして使用できますが、pdfjs がフィンガープリントを生成する方法がわかりません。