메뉴 건너뛰기

조회 수 1 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
<!DOCTYPE html>
<html>
<head>
    <title>PDF Viewer</title>
    <style>
        #pdf-container {
            width: 100%;
            height: 100%; /* 크기를 조정할 수 있습니다. */
        }
    </style>
</head>
<body>
    <div id="pdf-container"></div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.min.js"></script>
    <script>
        // PDF 파일 경로
        const pdfUrl = 'PDF파일위치경로';
        // PDF.js로 PDF 파일 불러오기
        pdfjsLib.getDocument(pdfUrl).promise.then(function(pdf) {
            // 첫 번째 페이지 가져오기
            pdf.getPage(1).then(function(page) {
                // 캔버스 생성
                const canvas = document.createElement('canvas');
                const canvasContext = canvas.getContext('2d');
                // 페이지 크기 설정
                const viewport = page.getViewport({ scale: 1.0 });
                canvas.width = viewport.width;
                canvas.height = viewport.height;
                // 페이지를 캔버스에 그리기
                const renderContext = {
                    canvasContext,
                    viewport
                };
                page.render(renderContext).promise.then(function() {
                    // 캔버스를 HTML에 추가
                    const pdfContainer = document.getElementById('pdf-container');
                    pdfContainer.appendChild(canvas);
                });
            });
        });
    </script>
</body>
</html>

 

3731943363_1688015087.7456.png

 

 

 

이미지 버턴 클릭하면 나오게 하기

3731943363_1688019813.7268.png

<!DOCTYPE html>
<html>
<head>
    <title>PDF Viewer</title>
    <style>
        body, html {
            height: 100%;
            margin: 0;
            overflow: hidden;
        }
        #pdf-container {
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
        }
        
        #pdf-canvas {
            width: 100%;
            height: 100%;
            object-fit: contain;
        }
    </style>
</head>
<body>
    <button id="file1-btn">File 1</button>
    <button id="file2-btn">File 2</button>
    <button id="file3-btn">File 3</button>
    <div id="pdf-container">
        <canvas id="pdf-canvas"></canvas>
    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.min.js"></script>
    <script>
        function openPDF(pdfUrl) {
            // PDF.js로 PDF 파일 불러오기
            pdfjsLib.getDocument(pdfUrl).promise.then(function(pdf) {
                // 첫 번째 페이지 가져오기
                pdf.getPage(1).then(function(page) {
                    // 캔버스 생성
                    const canvas = document.getElementById('pdf-canvas');
                    const canvasContext = canvas.getContext('2d');
                    // 페이지 크기 설정
                    const viewport = page.getViewport({ scale: 1.0 });
                    const scale = Math.min(canvas.width / viewport.width, canvas.height / viewport.height);
                    const scaledViewport = page.getViewport({ scale });
                    // 캔버스 크기 조정
                    canvas.width = canvas.offsetWidth;
                    canvas.height = canvas.offsetHeight;
                    // 페이지를 캔버스에 그리기
                    const renderContext = {
                        canvasContext,
                        viewport: scaledViewport
                    };
                    page.render(renderContext).promise.then(function() {
                        // PDF 컨테이너 표시
                        const pdfContainer = document.getElementById('pdf-container');
                        pdfContainer.style.display = 'flex';
                    });
                });
            });
        }
        // 파일 클릭 시 해당 PDF 열기
        const file1Url = 'https://naver.com/pdf/1.pdf'; // 이미지 위치
        const file2Url = 'https://naver.com/pdf/2.pdf'; // 이미지 위치
        const file3Url = 'https://naver.com/pdf/3.pdf'; // 이미지 위치
        const file1Btn = document.getElementById('file1-btn');
        file1Btn.addEventListener('click', function() {
            openPDF(file1Url);
        });
        const file2Btn = document.getElementById('file2-btn');
        file2Btn.addEventListener('click', function() {
            openPDF(file2Url);
        });
        const file3Btn = document.getElementById('file3-btn');
        file3Btn.addEventListener('click', function() {
            openPDF(file3Url);
        });
    </script>
</body>
</html>

 

입력방식으로 변경할려면

sir.kr/pdf/index.php?a=../../1.pdf  값으로 

 

index.php 저장 경우

<!DOCTYPE html>
<html>
<head>
    <title>PDF Viewer</title>
    <style>
        body, html {
            height: 100%;
            margin: 0;
            overflow: hidden;
        }
        #pdf-container {
            width: 100%;
            height: 100%;
            overflow: auto;
        }
        
        #pdf-canvas {
            display: block;
            margin: 0 auto;
            max-width: 100%;
            object-fit: contain;
        }
    </style>
</head>
<body>
    <div id="pdf-container"></div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.10.377/pdf.min.js"></script>
    <script>
        // URL에서 PDF 파일 경로 가져오기
        const urlParams = new URLSearchParams(window.location.search);
        const pdfUrl = urlParams.get('a');
        function openPDF(pdfUrl) {
            // PDF.js로 PDF 파일 불러오기
            pdfjsLib.getDocument(pdfUrl).promise.then(function(pdf) {
                const pdfContainer = document.getElementById('pdf-container');
                
                // 각 페이지를 순회하며 캔버스를 생성하고 추가
                for (let pageNumber = 1; pageNumber <= pdf.numPages; pageNumber++) {
                    pdf.getPage(pageNumber).then(function(page) {
                        // 캔버스 생성
                        const canvas = document.createElement('canvas');
                        const canvasContext = canvas.getContext('2d');
                        // 페이지 크기 설정
                        const viewport = page.getViewport({ scale: 1.0 });
                        const scale = Math.min(pdfContainer.offsetWidth / viewport.width, pdfContainer.offsetHeight / viewport.height);
                        // 캔버스 크기 조정
                        canvas.width = viewport.width * scale;
                        canvas.height = viewport.height * scale;
                        // 페이지를 캔버스에 그리기
                        const renderContext = {
                            canvasContext,
                            viewport: page.getViewport({ scale })
                        };
                        page.render(renderContext).promise.then(function() {
                            // 캔버스를 PDF 컨테이너에 추가
                            pdfContainer.appendChild(canvas);
                        });
                    });
                }
            });
        }
        if (pdfUrl) {
            openPDF(pdfUrl);
        }
    </script>
</body>
</html>
 
 

  1. 유튜브 동영상 시간체크 후 폼 전송하기

    Date2024.04.09 Views0
    Read More
  2. mov 업로드시 mp4 자동 변환

    Date2024.04.09 Views0
    Read More
  3. 웹상에서 PDF 뷰어 소스 (copyright 2021 Mozilla)

    Date2024.04.09 Views1
    Read More
  4. 특정국가 차단하기

    Date2024.04.09 Views1
    Read More
  5. NICE API 인증모듈

    Date2024.04.09 Views1
    Read More
  6. 엑셀파일 읽어서 바로 DB에 업로드하기

    Date2024.04.09 Views2
    Read More
  7. admin 비밀번호 생각이 안 날때, 비번 바꾸는 간단한 소스 (SHA256 용)

    Date2024.04.09 Views3
    Read More
  8. 접속주소가 https로 되여 있는지 판단하여 $g5_path['url']를 수정하기

    Date2024.04.09 Views8
    Read More
  9. 회원가입 못하게

    Date2023.01.05 Views79
    Read More
  10. mysql concat 날짜와 시간을 문자열로 합치기 시간의 크기 비교

    Date2023.05.16 Views131
    Read More
  11. 회원 등급(권한)에 따라서 다른 메시지 보이기

    Date2021.03.24 Views146
    Read More
  12. 그누보드 이력서 스킨

    Date2021.03.24 Views151
    Read More
  13. style 수정시 서버에서 로딩되게 하기

    Date2019.12.13 Views255
    Read More
  14. 그누보드 카카오톡 로그인 V2 플러그인

    Date2021.03.24 Views289
    Read More
  15. 카운트다운 스크립트

    Date2019.12.13 Views317
    Read More
  16. jQuery 요소(elements) 미디어 컨버팅 플러그인

    Date2019.12.13 Views320
    Read More
  17. 글 작성시 랜덤형 자동 댓글로 인사 멘트남기기

    Date2019.12.13 Views323
    Read More
  18. 이름 마지막 한자리 별표 처리

    Date2019.12.13 Views326
    Read More
  19. fullcalendar 달력 게시판 스킨

    Date2021.03.24 Views361
    Read More
  20. 특정 게시판에서 이미지 파일만 업로드 허용하기

    Date2019.12.09 Views367
    Read More
Board Pagination Prev 1 2 3 4 Next
/ 4

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved