PDF.JS는 오픈 소스 JavaScript 라이브러리입니다. 웹 페이지 내부에서 PDF 파일을 구문 분석하고 렌더링 할 수 있습니다. 이 튜토리얼에서는이를 사용하여 완전한 내용의 맞춤 JavaScript PDF 뷰어를 처음부터 작성하는 방법을 보여 드리겠습니다. 사용자 인터페이스 생성
요소가됩니다. PDF 파일의 페이지를 그 안에 렌더링 할 것입니다. 따라서
요소 내부에 다음 코드를 추가합니다.이 섹션의 끝에서 웹 페이지 코드는 다음과 같습니다. pdf.js
<!doctype html><br> <br><html lang="en"><br><head><br> <meta charset="utf-8"><br> <meta name="viewport" content="width=device-width, initial-scale=1"><br> <title>My PDF Viewer</title><br></head><br><body><br> <br></body><br></html><br>
<body>
라이브러리의 로컬 사본을 사용하는 것이 좋습니다. , PDFJS-Dist 저장소에서 다운로드 할 수 있습니다. PDF 파일로드 <div>
<div id="my_pdf_viewer"><br> <br></div><br>
메소드
<!doctype html><br> <br><html lang="en"><br><head><br> <meta charset="utf-8"><br> <meta name="viewport" content="width=device-width, initial-scale=1"><br> <title>My PDF Viewer</title><br></head><br><body><br> <br></body><br></html><br>
getDocument()
객체를 사용하여 PDF 파일을로드합니다. 즉, 파일이 자체 웹 서버 또는 크로스 오리핀 요청을 허용하는 서버에 있어야합니다. XMLHttpRequest
PDF 파일이 편리하지 않으면 Wikipedia에서 사용중인 제품을 얻을 수 있습니다. . PDF 파일이 성공적으로로드되면 상태 객체의
속성을 업데이트 할 수 있습니다. 마지막으로 기능에 호출을 추가하십시오. JS의 PDF 뷰어가 PDF 파일의 첫 페이지를 자동으로 렌더링하도록 지명 . 다음 단계에서 함수를 정의합니다. pdf
<div id="my_pdf_viewer"><br> <br></div><br>
페이지 번호를 호출하고 페이지 번호를 전달함으로써 PDF 파일의 모든 페이지에 대한 참조를 얻을 수 있습니다. 지금은 국가 대상의 render()
속성을 전달해 봅시다. 이 메소드도 약속을 반환하므로 결과를 처리하려면 콜백 함수가 필요합니다. 따라서 다음 코드를 포함하는 라는 새 함수를 만듭니다. 실제로 페이지를 렌더링하려면 콜백 내부에서 사용 가능한 객체의
<div id="canvas_container"><br> <canvas id="pdf_renderer"></canvas><br></div><br>
뷰포트의 치수는 원래 크기에 따라 다릅니다. 페이지와 줌 레벨. 전체 뷰포트가 캔버스에서 렌더링되도록하려면 이제 캔버스의 크기를 뷰포트의 크기에 맞게 변경해야합니다. 이 시점에서 페이지를 렌더링하고 페이지를 렌더링 할 수있는 방법은 다음과 같습니다. getPage()
pdf
모든 소스 코드는 다음과 같이 보입니다. . currentPage
브라우저에서 웹 페이지를 열려면 이제 PDF 파일의 첫 페이지를 볼 수 있어야합니다.
PDF 뷰어는 현재 렌더링되는 페이지 크기와 줌 레벨에 따라 다릅니다. 사용자가 JavaScript의 PDF 뷰어와 상호 작용하는 동안 웹 페이지의 레이아웃이 영향을 받기를 원하지 않기 때문에 이상적이지 않습니다. 이 문제를 해결하려면 render()
우리가해야 할 일은 캔버스를 캡슐화하는 요소에 고정 너비와 높이를 제공하고
<div id="navigation_controls"><br> <button id="go_previous">Previous</button><br> <input id="current_page" value="1" type="number"/><br> <button id="go_next">Next</button><br></div><br>
웹 페이지의 태그 내부에 다음 코드를 추가하십시오. <p> 물론, 너비와 높이를 자유롭게 변경하거나 미디어 쿼리를 사용하여 요소는 요구 사항과 일치합니다. <code><head>
선택적으로, 다음 CSS 규칙을 포함시키기 위해 요소를 더 뚜렷하게 보이게 할 수 있습니다. 화면에서 이와 같은 것을 볼 수 있어야합니다. 현재 페이지 변경 <!doctype html><br> <br><html lang="en"><br><head><br> <meta charset="utf-8"><br> <meta name="viewport" content="width=device-width, initial-scale=1"><br> <title>My PDF Viewer</title><br></head><br><body><br> <br></body><br></html><br>
버튼의 이벤트 리스너 내부에서 및 버튼에 클릭 이벤트 리스너를 추가해야합니다. 주 객체의 <div>
속성을 줄이면
텍스트 필드의 값을 업데이트하여 새 페이지 번호를 표시하도록해야합니다. 다음 코드는 다음과 같은 방법을 보여줍니다. <div>
<div id="my_pdf_viewer"><br> <br></div><br>
속성을 사용하여 결정할 수 있습니다.
마지막으로 속성보다 0보다 크거나 적은지 확인해야합니다. pdf 파일의 모든 페이지를 표시합니다. go_previous
우리의 함수는 이미 페이지를 렌더링하는 동안 상태 객체의 go_next
속성을 이미 사용하기 때문에 줌 레벨을 조정하는 것은 속성을 증가 시키거나 줄이고 함수를 호출하는 것만 큼 쉽습니다.
go_previous
속성을 로 줄여 봅시다. 당신은 <!doctype html><br> <br><html lang="en"><br><head><br> <meta charset="utf-8"><br> <meta name="viewport" content="width=device-width, initial-scale=1"><br> <title>My PDF Viewer</title><br></head><br><body><br> <br></body><br></html><br>
이것은 모두 함께 모일 때의 모습입니다. zoom
이제 PDF.JS를 사용하여 웹 사이트에 맞춤형 JavaScript PDF 뷰어를 만드는 방법을 알고 있습니다. JavaScript의 PDF 문서에 대한 새로운 시청자를 사용하면 조직의 브로셔, 백서, 양식 및 일반적으로 하드 카피로 배포되는 기타 문서를 표시하면서 완벽하게 사용자 경험을 제공 할 수 있습니다. 공식 Github Repo의 PDF.JS에 대한 자세한 내용
위 내용은 JavaScript PDF 뷰어를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!