[javascript] Phonegap InAppBrowser 디스플레이 pdf 2.7.0



Answers

Android는 iOS의 Safari와 달리 브라우저에 기본 PDf 뷰어 기능이 없습니다. 내가 아는 한 두 가지 좋은 옵션이 있습니다.

  1. 이 StackOverflow 답변에 명시된대로 Google 문서 뷰어의 온라인보기 기능을 통해 전체 다운로드를 건너 뛰고 PDF보기

  2. 파일을 다운로드 하고이 StackOverflow 답변 에서 설명한대로 Android Phonegap 앱용 FileOpener 플러그인을 사용하십시오. 이렇게하면 설치된 PDF 판독기에서 파일을 열거 나 사용자에게 선택 사항을 제공합니다.

필자는 Android Phonegap 개발자를 위해 블로그 포스트 에서 보여준 iOS 및 PDF 파일을 다운로드하고 PDF로 보여주는 몇 가지 도구를 작성했습니다.

Question

Android의 InAppBrowser라는 phonegap으로 외부 PDF를 표시하고 싶지만 작동하지 않습니다.

이것은 내 JS 코드입니다.

<script>
function openPDF() {
     var ref = window.open('http://www.i-drain.net/userfiles/file/einbauanleitung_iboard.pdf', '_blank', 'location=yes');
     ref.addEventListener('loadstart', function(event) { alert('start: ' + event.url); });
     ref.addEventListener('loadstop', function(event) { alert('stop: ' + event.url); });
     ref.addEventListener('loaderror', function(event) { alert('error: ' + event.message); });
     ref.addEventListener('exit', function(event) { alert(event.type); });
}


</script>

나는이 html 코드를 사용하기 위해 이미지를 클릭 한 후 pdf를 열고 싶다 :

 <a href="#" onclick="openPDF()" >
   <img src="images/button.png">
 </a>



function openPDF() {
     var ref = window.open('http://docs.google.com/viewer?url=http://www.i-drain.net/userfiles/file/einbauanleitung_iboard.pdf', '_system', 'location=yes');
     ref.addEventListener('loadstart', function(event) { alert('start: ' + event.url); });
     ref.addEventListener('loadstop', function(event) { alert('stop: ' + event.url); });
     ref.addEventListener('loaderror', function(event) { alert('error: ' + event.message); });
     ref.addEventListener('exit', function(event) { alert(event.type); });
}



Marc Ster의 대답은 매우 포괄적입니다. 그러나 Google 문서 도구를 사용하여 pdf를 여는 방법은 사용자가 Google 계정으로 로그인해야합니다.

자신소유서버 에있는 pdfs를 표시하는 경우이를 피하고 다음 방법을 사용하십시오. 서버에서 PDF.js 라이브러리를 설정할 수 있습니다. Google 문서는 웹 브라우저에서 PDF를보기 위해 기반으로하는 오픈 소스 프로젝트입니다.

그런 다음 InAppBrowser Plugin 을 사용하여 PDF.js 가있는 서버로 향하고 URL에 pdf가 표시 될 경로를 지정할 수 있습니다. CORS 문제가 발생하지 않도록 pdf도 서버에 있어야합니다. 외부 pdf 인 경우 here 설명 된대로 해결 방법을 작성할 수 here .

InAppBrowser 플러그인을 사용하여 이와 비슷한 코드로 PDF 클라이언트 측을 표시 할 수 있습니다.

var fileName = "myPdfOnMyServer.pdf";
var url = encodeURIComponent('files/uploads/' + fileName);
var ref = window.open(
         'https://www.<my website>.com/pdfjs-1.0.10XX-dist/web/viewer.html?file='
         + url,
         '_blank',
         'location=no,closebuttoncaption=Close,enableViewportScale=yes');



다음 단계를 사용하여 URL에서 모든 종류의 문서를 열어보십시오.

그것은 안드로이드와 IOS 모두 나를 위해 작동합니다. 나는 열린 이미지PDF 파일을 위해 그것을 사용했다.

Android : 사용 가능한 경우 시스템 앱을 사용하여 파일을 엽니 다. 그렇지 않으면 처리 할 수있는 오류가 발생합니다.

IOS : 완료 버튼과 옵션 버튼이있는보기와 같은 팝업 창을 엽니 다.

문서 URL이 표시되지 않습니다.

출처는 https://github.com/ti8m/DocumentHandler 확인할 수 있습니다.






Links