2012-01-06 7 views
0

html 페이지에는 pdf를 호스팅하는 <object>이 있습니다. Javascript를 통해 PDF의 바이너리 데이터에 액세스해야하지만,이를 수행하는 방법을 알아내는 데는 수 없습니다. 개체 요소 자체에 액세스 할 수 있지만 데이터를 가져 오는 메서드를 생각할 수 없습니다.Firefox의 Javascript : HTML 객체에서 바이너리 데이터에 액세스 할 수 있습니까?

전혀 가능합니까?

+1

그냥 한 단어 .. 왜? 왜 이것에 대한 자바 스크립트를 사용하고 있습니까? 왜 이걸하고 싶니? – ManseUK

+0

사용자가 현재 브라우저에서 입력으로 읽는 pdf를 사용하는 알고리즘을 실행 중입니다. – user946924

답변

2

당신은 object 태그의 바이너리를 얻을 수는 있지만 서버에 AJAX 요청을하고 새로운 responseType 속성을 사용하여 ArrayBuffer로 얻을 수 있습니다 :

var http = new XMLHttpRequest(); 

http.open("get", "somefile.pdf", true); 
http.responseType = "arraybuffer"; 

http.onload = function(e) 
{ 
    if(http.response) 
    { 
     // http.response contains the file 
    } 
}; 

http.send(null); 

참고이 방법은 작품 그 최신 브라우저에서는 동일 출처 정책에 의해 명백하게 제한됩니다.

+0

설명 주셔서 감사합니다. 하지만 같은 Origin-Policy 문제 때문에 object 태그에서 데이터를 읽으려고했습니다. 이미 JS와 AJAX를 처음 접하는 분이라면 이미 알고 계실 것입니다. 내가 성취하고자하는 것은 사용자 상호 작용에 의해 브라우저가 도달 할 수있는 PDF 파일에 대한 액세스 권한을 얻을 수있는 것입니다. 당신이 생각할 수있는 방법이 있을까요? 탱크, Armin – user946924

+0

이 정책을 피할 방법이 없습니다. 그렇지 않으면 쓸모가 없을 것이다. – copy

관련 문제