2014-03-30 8 views
3

pdf.js를 사용하여 작성자 또는 직함과 같은 PDF 문서에서 메타 데이터를 가져 오는 방법이 있습니까? 이 예에서 pdf.js를 사용하여 PDF 문서에서 메타 데이터를 얻는 방법

: http://mozilla.github.io/pdf.js/web/viewer.html?file=compressed.tracemonkey-pldi-09.pdf

<div class="row"> 
<span data-l10n-id="document_properties_author"> 
    Autor: 
</span> 
<p id="authorField"> 
    - 
</p> 

그리고 authorField가 비어 있습니다. 이 정보를 얻을 수있는 방법이 있습니까?

+0

사용하는 코드 스 니펫을 포함 할 수 있습니까? – amoebe

+0

PDF에 작성자 필드가 채워지지 않습니다. 다른 문서를 표시합니다 (예 : http://mozilla.github.io/pdf.js/web/viewer.html?file=/deuxdrop/pdf-docs/conversation-protocol.pdf – async5

답변

0

PDFViewerApplication.documentInfo 개체에서 문서 기본 메타 데이터 정보를 얻을 수 있습니다. 예 : 작성자 사용 PDFViewerApplication.documentInfo.Author

6

타사 뷰어없이 PDF.js 라이브러리 만 사용하면 약속을 사용하여 메타 데이터를 얻을 수 있습니다.

PDFJS.getDocument(url).then(function (pdfDoc_) { 
     pdfDoc = pdfDoc_; 
     pdfDoc.getMetadata().then(function(stuff) { 
      console.log(stuff); // Metadata object here 
     }).catch(function(err) { 
      console.log('Error getting meta data'); 
      console.log(err); 
     }); 

     // Render the first page or whatever here 
     // More code . . . 
    }).catch(function(err) { 
     console.log('Error getting PDF from ' + url); 
     console.log(err); 
    }); 

나는 콘솔에 pdfDoc 객체를 덤핑과 그 기능과 속성을 통해보고 한 후이를 발견했다. 나는 그 프로토 타입에서이 방법을 발견하고 단지 그것을 제공하기로 결정했다. 보라, 그것이 일하는 것을 보라!

+0

나는 "약속을 이용하는 것"이라는 구절이 소개 된 실수라고 생각합니다. 맞춤법 검사 중에? :) – unforgettableid

0
pdfDoc.getMetadata(url).then(function(stuff) { 
    var metadata = stuff.info.Title; 
    if (metadata) { 
     $('#element-html').text(stuff.info.Title); // Print metadata to html 
    } 
console.log(stuff); // Print metadata to console 
}).catch(function(err) { 
    console.log('Error getting meta data'); 
    console.log(err); 
}); 
관련 문제