XOD ドキュメントを PDFTron WebViewer にロードしようとしています。ドキュメントとサンプルを読む限り、これは単純な「プラグ アンド プレイ」操作であるはずです。理想的には、私の例では、次のようにドキュメントをサービスからフェッチする必要があります。
fetch('/myservice/GetXOD')
.then(function(data) {
$(function() {
var viewerElement = document.getElementById("viewer");
var myWebViewer = new PDFTron.WebViewer({
initialDoc: data.body
}, viewerElement);
});
});
残念ながら、次のエラーが表示されます。
Uncaught TypeError: Cannot read property 'DisplayModes' of undefined
で実行している理由はfetch
、Handlebars テンプレートをレンダリングしており、コールバックでインスタンス化するデータを渡すためです。ただし、コードを「空の」HTML ドキュメントに分離しました。以下の単純化された例では、ページの読み込み時に PDFTron によって提供される XOD を指しているだけです (fetch
今回はありません)。
$(function() {
var viewerElement = document.getElementById("viewer");
var myWebViewer = new PDFTron.WebViewer({
initialDoc: 'GettingStarted.xod' // Using the XOD provided by PDFTron
}, viewerElement);
});
残念ながら、これは別のエラー (HTTP ステータス 416) を返します。
Uncaught Error: Error loading document: Error retrieving file: /doc/WebViewer_Developer_Guide.xod?_=-22,. Received return status 416.
localhost で PDFTron のサンプルを実行すると、同じエラーが表示されます。
これをさらにデバッグする方法を完全に失っています。すべてのサンプルは、すべてがそのままで機能していることを前提としています。
実際には、ローカルホストでは問題なく動作する PDF を取得できますが、サーバーでは動作しないことに注意してください。XOD は、サーバーとローカルホストの両方で問題があります。