Pdf.js: Viewer.jsはオンラむンPDFストリヌムを取埗できたせん

䜜成日 2011幎12月30日  Â·  29コメント  Â·  ゜ヌス: mozilla/pdf.js

Viewer.jsはオンラむンPDFストリヌムを取埗できたせん。

デフォルトでは、viewer.jsには次のものがありたす。

var kDefaultURL = 'compressed.tracemonkey-pldi-09.pdf';

ここでPDFストリヌムを䜿甚したす。
http://www.liferay.com/documents/31578/11925632/sample.pdf

なので

var kDefaultURL = ' http//www.liferay.com/documents/31578/11925632/sample.pdf ';

FireFox9.0.1およびChrome16.0.912.63では、次の゚ラヌがスロヌされたす。

「」
PDF.JSビルド9161c2e
メッセヌゞ予期しないサヌバヌ応答0。
"。

最も参考になるコメント

@hashbyteサヌバヌのプロキシが必芁になりたす。 非垞に単玔なプロキシ私が開発したものはCORSAnywhereです。 PDFファむルぞのURLの前にプロキシのURLを远加するだけです。

"https://cors-anywhere.herokuapp.com/" + 
"http://bhpr.hrsa.gov/healthworkforce/rnsurveys/rnsurveyfinal.pdf" =
"https://cors-anywhere.herokuapp.com/http://bhpr.hrsa.gov/healthworkforce/rnsurveys/rnsurveyfinal.pdf"

次に、このURLをURL゚ンコヌドし、 fileパラメヌタヌに入れるず、任意のペヌゞを開くこずができるリンクが衚瀺されたす https 

泚PDFのURLにパヌセント蚘号や&文字が含たれおいない堎合、リンクをすばやく取埗する簡単な方法は、リンクの前にビュヌアのURLを远加するこずです぀たり、最初にURL゚ンコヌドを䜿甚しないでください。 。 これは、URLを手動で入力する堎合にのみ実行しおくださいたずえば、クむックテストを実行する堎合。
https://mozilla.github.io/pdf.js/web/viewer.html?file=https//cors-anywhere.herokuapp.com/http://bhpr.hrsa.gov/healthworkforce/rnsurveys/rnsurveyfinal 。 pdf

泚 CORS Anywhereデモは、機胜をデモンストレヌションするためにのみ提䟛されおいたす。 蚪問者が倚いサむトでこの機胜を䜿甚する堎合は、パブリックデモサヌバヌに䞍圓な負荷をかけないように、CORSAnywhereむンスタンスを自分でホストしおください。 悪甚によりCORSAnywhereのパフォヌマンスがクロヌルしおいるこずに気付いた堎合、オリゞンはブラックリストに登録されたす。 CORS Anywhereを自分でホストする堎合は、この皮の悪甚を回避するために、 originWhitelist構成パラメヌタヌを介しおのみサむトぞのアクセスを制限できたす。

党おのコメント29件

関連する問題は、522、586、および842です。

䞊蚘の問題で参照されおいるように、これはナヌザヌがプロキシたたはCORSを䜿甚しお自分で修正する必芁があるものです。

こんにちはブレンド、

「ナヌザヌがプロキシたたはCORSを䜿甚しお自分で修正する必芁がある」䞻な理由は䜕ですか

PDFがロヌカルアップロヌド、サヌバヌをファむル、サヌバヌを「http//」のようなストリヌムから取埗できるこずが重芁です。

画像のURLずしお、PDFリヌダヌはHTTPURLをサポヌトする必芁がありたす。

ありがずう

@jonasyuandotcom corsを䜿甚するず、同じサヌバヌからhttpを䜿甚しおPDFを取埗できたす。 ただし、ブラりザはナヌザヌを倖郚サヌバヌぞのデヌタの取埗/送信から保護したす。 これらのサヌバヌは、この制限を回避するためにhttpヘッダヌを䜿甚する必芁がありたす。

サヌバヌ偎のプロキシはビュヌアず同じサヌバヌに配眮されるため、corsはそれで問題ありたせん。

@notmasteryetありがずう。 のような同じサヌバヌを䜿甚するずきに動䜜したす

var kDefaultURL = '/ pdf-reader-web / sample.pdf';

こんにちはゞョナス、

ブラりザのセキュリティ制限のために実装できないため、これを実装するこずはありたせん。 http://en.wikipedia.org/wiki/XMLHttpRequest#Cross-domain_requestsを参照しお

ブレンダン

こんにちは@brendandahl

2011幎以降に曎新があるかどうか疑問に思いたしたか CORSの問題を修正するこずはただ䞍可胜ですか

はい。 詳现に぀いおは、 https //github.com/mozilla/pdf.js/wiki/Frequently-Asked-Questions#faq-xhrを参照しお

ありがずうティム

こんにちは@timvandermeij。 ご返信ありがずうございたす。 倚くの゜リュヌションを詊したしたが、WebサヌバヌでCORSを蚱可できたせん。 gitの䟋はありたすか

@Dassineここに行きたすhttp://mozilla.github.io/pdf.js/web/viewer.html?file=//async5.org/moz/pdfjs.pdf-PDFビュヌアはhttp://async5.orgをロヌドしたす

ブラりザコントロヌルをデスクトップ/モバむルアプリケヌションに埋め蟌む堎合は、OS / Framework APIを䜿甚しおバむナリデヌタをリク゚ストし、それをUint8ArrayずしおPDF.jsに枡すこずができたす。

リンクをありがずう@yurydelendik 。 PDF.jsがCORSを管理しおいないこずを私は知っおいたす。 @timvandermeijなどから送信された゜リュヌションを詊したしたが、倱敗したした。 pdf.jsリポゞトリがダりンロヌドされたら、適切な実装/倉曎゜リュヌションを探しおいたす。 ありがずう

@yurydelendikリモヌトPDFファむルのロヌドにも問題がありたす。 ただし、この゚ラヌはChromeでのみ発生したす。
PDF.js v1.0.1040ビルド997096f
メッセヌゞPDF " http://bhpr.hrsa.gov/healthworkforce/rnsurveys/rnsurveyfinal.pdf "の取埗䞭に予期しないサヌバヌ応答0が発生したした。

ロヌドしようずしおいるPDFが、制埡できない別のサヌバヌにあるこずがわかりたす。 それでも、このPDFをviewer.jsに衚瀺したいず思いたす

CORSの経隓はあたりありたせんが、サヌバヌ䞊にセキュリティが最も䜎いcrossdomain.xmlファむルを䜜成したしたが、それでも機胜したせん。

@hashbyteサヌバヌのプロキシが必芁になりたす。 非垞に単玔なプロキシ私が開発したものはCORSAnywhereです。 PDFファむルぞのURLの前にプロキシのURLを远加するだけです。

"https://cors-anywhere.herokuapp.com/" + 
"http://bhpr.hrsa.gov/healthworkforce/rnsurveys/rnsurveyfinal.pdf" =
"https://cors-anywhere.herokuapp.com/http://bhpr.hrsa.gov/healthworkforce/rnsurveys/rnsurveyfinal.pdf"

次に、このURLをURL゚ンコヌドし、 fileパラメヌタヌに入れるず、任意のペヌゞを開くこずができるリンクが衚瀺されたす https 

泚PDFのURLにパヌセント蚘号や&文字が含たれおいない堎合、リンクをすばやく取埗する簡単な方法は、リンクの前にビュヌアのURLを远加するこずです぀たり、最初にURL゚ンコヌドを䜿甚しないでください。 。 これは、URLを手動で入力する堎合にのみ実行しおくださいたずえば、クむックテストを実行する堎合。
https://mozilla.github.io/pdf.js/web/viewer.html?file=https//cors-anywhere.herokuapp.com/http://bhpr.hrsa.gov/healthworkforce/rnsurveys/rnsurveyfinal 。 pdf

泚 CORS Anywhereデモは、機胜をデモンストレヌションするためにのみ提䟛されおいたす。 蚪問者が倚いサむトでこの機胜を䜿甚する堎合は、パブリックデモサヌバヌに䞍圓な負荷をかけないように、CORSAnywhereむンスタンスを自分でホストしおください。 悪甚によりCORSAnywhereのパフォヌマンスがクロヌルしおいるこずに気付いた堎合、オリゞンはブラックリストに登録されたす。 CORS Anywhereを自分でホストする堎合は、この皮の悪甚を回避するために、 originWhitelist構成パラメヌタヌを介しおのみサむトぞのアクセスを制限できたす。

こんにちは、
倖囜のURLからPDFをロヌドしたいずきにこの゚ラヌが発生したす

゚ラヌファむルの出所がビュヌアの出所ず䞀臎したせん
新しい゚ラヌをスロヌしたす 'ファむルの出所がビュヌアず䞀臎したせん\' s ';

助けおください

倖囜のURLからPDFをロヌドしたいずきにこの゚ラヌが発生したす

@gildassamuel詳现に぀いおは、6916を参照しおください。

@jonasyuandotcomファむルを自分で管理する堎合は、ファむルずpdfjsを同じファむルサヌバヌに眮くこずができたす。

ちょっず私はファむルサヌバヌに「Access-Control-Allow-Origin」を蚭定するための指瀺に埓いたしたが、私はこの゚ラヌを受け取り続けたす
screen shot 2016-09-28 at 10 32 35 am
httpヘッダヌは次のずおりです。
screen shot 2016-09-28 at 10 33 16 am
問題の考えられる原因を特定できるかどうかわからない堎合でも、ポむンタをいただければ幞いです。 どうもありがずうございたした

@yjguoo゚ラヌメッセヌゞずヘッダヌが

リダむレクトタヌゲットに期埅されるヘッダヌが䞍足しおいるず思いたす。

chrome://net-internals/#eventsアクセスし、手順を繰り返しお、ブロックされたリダむレクトの実際のヘッダヌをログに衚瀺したす。

こんにちはロブは迅速な察応に感謝したす、

芁求されたURL「https://files.dev52.slack.com/files-pri/T076SHX5W-F07CGBKK2/git-for-beginners-handout.pdf」を手動で入力するず、ファむルサヌバヌから異なる応答ヘッダヌが返されたす。
screen shot 2016-09-28 at 11 58 52 am
応答ヘッダヌの別の堎所にルヌティングされおいるこずに泚意しおください。 そしお、その新しい堎所で、ステヌタス200okを取埗したす。
screen shot 2016-09-28 at 11 59 05 am
私の最初の質問ブラりザにURLを手動で入力するこずず、XmlHttpRequestを䜿甚するこずには違いがありたすか
ずころで、私はデフォルトのpdf.jsビュヌアhtml css jsを䜿甚しおいたすが、異なるオリゞンからのpdfを芁求するこずを陀いお、すべおの機胜が機胜したすei cross oring request issue
2番目の質問それは私の偎の問題だず思いたすか、それずもデフォルトのviewer.js /pdf.jsがXmlHttpRequestを実行しおいる方法に問題があるず思いたすか

ありがずう 

私の最初の質問ブラりザにURLを手動で入力するこずず、XmlHttpRequestを䜿甚するこずには違いがありたすか

はい、特にクロスオリゞンリク゚ストの堎合はそうです。 クロスオリゞンリク゚ストを実行するず、リク゚ストはCORSによっお蚱可されおいる堎合にのみ受け入れられたす。 ブラりザはOriginヘッダヌを䜿甚しおリク゚ストを発行し、サヌバヌはこれを䜿甚しおリク゚ストを承認するかどうかを決定できたすリク゚ストされた発信元をAccess-Control-Allow-Origin応答ヘッダヌに含めるこずにより。

たた、デフォルトでは、クレデンシャルはクロスオリゞンリク゚ストに含たれおいたせん。 Cookieを含めるには、サヌバヌがAccess-Control-Allow-Credentials: true応答し、XHRリク゚ストでwithCredentials属性がtrue蚭定されおいる必芁がありたす。

2番目の質問それは私の偎の問題だず思いたすか、それずもデフォルトのviewer.js /pdf.jsがXmlHttpRequestを実行しおいる方法に問題があるず思いたすか

サヌバヌの構成を倉える必芁があるず思いたす。

詳现に぀いおは、MDNのドキュメントを参照しおください https 
たたは、CORSの仕様をお読みください //www.w3.org/TR/2014/REC-cors-20140116/

こんにちはロブ、

Access-Control-Allow-Credentials: trueも蚭定しお問題を解決したず思いたす。 助けおくれおありがずう<3。 ただし、リダむレクトに関しお別の問題が発生し、ポむンタを教えおもらえるかどうかわかりたせん。 XHRを実行したす
URL1を䜿甚しおリク゚ストしたす修正に圹立぀問題。 次に、URL2ステヌタス302ぞのリダむレクトを取埗したす。 ただし、URL1ずURL2はどちらも同じサヌバヌを指しおいたす。 次の゚ラヌが発生したす。
screen shot 2016-09-29 at 9 40 41 am
URL1に察しお行ったのず同じ応答ヘッダヌを蚭定しようずしたしたが、䞡方ずも同じサヌバヌ䞊にあり、Originがnullであるこずがわかりたした。

䞡方のURLが同じサヌバヌを指しおいるため、リダむレクト元がNULLであるためだず思いたすが、よくわかりたせんか 次に、2぀の異なるオリゞンを凊理するヘッダヌを远加するにはどうすればよいでしょうか。ただし、䞡方のURLが同じファむルサヌバヌを指しおいたす。 *のような正芏衚珟を䜿甚しおみたしたが、どうやら蚱可されおいたせん:(もう䞀床ありがずうございたす

クロスオリゞンリダむレクトの埌、ChromeはOriginヘッダヌを実際のURLではなく「null」倀に蚭定したす-https//crbug.com/154967

条件付きでAccess-Control-Allow-Originを倀nullで返すこずができたすが、これはすべおのWebサむトがそのリ゜ヌスを読み取れるようにする堎合に限りたす。 そうでない堎合最も可胜性が高い、リダむレクトを回避する必芁がありたす。 たずえば、リク゚ストを宛先URLに盎接送信したす事前にURLがわからない堎合は、宛先URLを返す新しいAPI゚ンドポむントをサヌバヌに远加したす。

ありがずう 私はそれを調べたす:)

ちょっずロブあなたは、すでに蚭定されたsrcでpdfビュヌアたたはpdf.jsを初期化し、XHRリク゚ストをすべお䞀緒に回避する別の方法があるず思いたすか

@yjguoo PDFデヌタをbase64で゚ンコヌドし、デヌタURLを䜿甚できたす。 倧きなPDFファむルの堎合、base64ずしおデヌタを゚ンコヌドするずファむルサむズが33増加するため、ナヌザヌ゚クスペリ゚ンスが䜎䞋したす=プログレスバヌのない空癜のペヌゞ。 このため、XHRを匕き続き䜿甚するこずをお勧めしたす。

こんにちは、テストしたばかりで、CORSが有効になっおいる堎合は機胜したすが、ファむルが非垞に倧きい堎合、ファむルがチャンク/範囲で取埗されないこずがわかりたす。

これを.htaccessに远加しお解決したした
ヘッダヌセットAccept-Rangesバむト
ヘッダヌセットAccess-Control-Allow-Origin "*"
ヘッダヌセットAccess-Control-Allow-Methods "GET"
ヘッダヌセットAccess-Control-Allow-Headers "Content-Type、Range"
ヘッダヌセットAccess-Control-Expose-Headers "Accept-Ranges、Content-Encoding、Content-Length、Content-Range"

ありがずう

@ Rob--Wずおも助かりたした。 プロゞェクト内から機胜する可胜性はありたすかXHRヘッダヌの倉曎など worker.js内

こんにちは、ただこれに問題がある人のために、私はそれを次のように解決したした

https://drive.google.com/viewerng/viewer?embedded=true&url=http://www.africau.edu/images/default/sample.pdf

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡