2014-11-12 6 views
0

나는 PDFObject 라이브러리를 사용하는 모든 사람에게 질문이 있습니다. (http://pdfobject.com/) 는PDFObject 라이브러리 : 오류 잡기 - 내 PDFObject가 비어있는 경우를 알 수있는 방법

//This is the html code: 
    <div id="boxPdf"></div> 

//Here the code in the controller 
    var pdfUrl = '/myUrl/myRestService/'+idDocument; 
      var myPDF = new PDFObject({ 
            url: pdfUrl, 
            pdfOpenParams: { 
             width: "100%", 
             height: "1500" 
            }, 
            id: 'myIdObject' 
           }); 
      myPDF.embed('boxPdf'); 

코드가 작동 (나는 프런트 엔드에 AngularJS와 사용),하지만 성가신 일이 내가 백엔드에서 빈 PDF를 보내는 경우,이 라이브러리 어쨌든 회색 상자를 보여줍니다 것입니다. 예를 들어 회색 상자를 표시하지 말고이 예외를 적용하고 싶습니다. 어떻게하면 myPDF를 살펴보고 전체 또는 비어 있는지 이해할 수 있습니까? 나쁜 영어에 대한 관심과 깊은 애씀에 감사드립니다. Igor

답변

1

죄송합니다. 자바 스크립트를 사용하여 PDF가로드되었는지 여부를 판단 할 수 없습니다.

Flash를 사용하면 Flash Player에서 PercentLoaded 속성이 포함 된 API를 제공하기 때문에로드 된 SWF를 확인할 수 있습니다. 이를 통해 개발자는 SWF의로드 상태를 쿼리 할 수 ​​있습니다.

PDF는 통합 된 '플레이어'가 없으며 일반적으로 브라우저의 기본 PDF 렌더링 엔진 (일반적으로 독점적), Adobe Reader 또는 FoxIt Reader와 같은 Adobe 경쟁 업체에 의해로드됩니다. 이러한 PDF 렌더링 시스템은 완전히 다른 기능을 가지고 있습니다. 특정 기능 세트 나 JavaScript API를 표준화하지 않았으므로 PDF가로드되었는지 여부를 확인하는 표준 방법이 없습니다.

PDFObject는 브라우저가 PDF 포함을 지원하지 않는 경우 대비책을 제공하도록 설계되었습니다. 그러나 PDF URL이 합법적인지 여부는 확인할 수 없습니다. 모든 PDFObject는 마크 업에 <object>을 만들고 URL을 가리키는 src을 만듭니다. URL이 PDF 또는 다른 파일 유형을 가리키는 지 여부는 확인할 수 없습니다. PDFObject를 호출하고 브라우저가 PDF 임베딩을 지원하면 <object> URL이 합법적인지 여부를 알 수 있습니다.

+0

나는 그것이 가능하지 않다고 생각했다. 그건 .. 동정이야. 어쨌든 관심을 가져 주셔서 감사합니다. – igor