ブラウザを使用してpdfファイルをレンダリングするためにjavascriptライブラリを使用しています。
これは 1 つです: https://github.com/mozilla/pdf.js
表示したいPDFへのパスとして絶対パスを使用して動作させることができません。ただし、相対パスは正常に機能します。
この呼び出しは機能しません:
PDFView.open("D:/Projects/Empenho/Pdf1.pdf", 0);
相対パスを使用して、適切に機能させることができました:
PDFView.open("https://localhost/MyPDFs/Pdf1.pdf", 0);
open() 関数:
function getDocument(source) {
var workerInitializedPromise, workerReadyPromise, transport;
if (!source.url)
error('Invalid parameter array, need either .data or .url');
workerInitializedPromise = new PDFJS.Promise();
workerReadyPromise = new PDFJS.Promise();
transport = new WorkerTransport(workerInitializedPromise, workerReadyPromise);
console.log(workerReadyPromise);
workerInitializedPromise.then(function transportInitialized() {
transport.fetchDocument(source);
});
return workerReadyPromise;
};
システムに優れたデバッグ システムや優れたドキュメントがない限り、どこに問題があるのかを突き止めることはできません。
絶対 x 相対パスを使用すると、オブジェクトを印刷して違いを確認できるため、workerReadyPromise に関連する何かがあると思います。絶対パスを使用すると、workerReadyPromise の状態は次のようになります。
http://pbrd.co/10VGnuQ 何かアイデアはありますか?
PS。これが同じケースかどうかはわかりませんが、次のことがわかりました。