메뉴 건너뛰기

조회 수 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>
 
 

List of Articles
번호 제목 날짜 조회 수
30 jQuery 요소(elements) 미디어 컨버팅 플러그인 file 2019.12.13 320
29 글 작성시 랜덤형 자동 댓글로 인사 멘트남기기 2019.12.13 323
28 iframe 금지된 사이트 iframe 으로 불러오기 2019.12.13 385
27 이미지에 워터마크 넣기 2019.12.13 389
26 style 수정시 서버에서 로딩되게 하기 2019.12.13 255
25 우측 퀵메뉴 2019.12.13 382
24 특정 게시판에서 이미지 파일만 업로드 허용하기 file 2019.12.09 367
23 쉽고 간편한 인쇄 팁 file 2019.04.29 743
22 그누보드5 검색최적화 방법입니다 file 2019.04.29 876
21 영카트5 DB 테이블별로 덤프하기 2019.04.29 864
20 게시판 기본 스킨 목록 페이지 살펴보기 1 - list.skin.php 2017.04.13 2959
19 게시판 기본 스킨 목록 페이지 살펴보기 2 - 상세 설명 2017.04.13 2321
18 게시판 기본 스킨 글쓰기 페이지 살펴보기 1 - write.skin.php 2017.04.13 2551
17 게시판 기본 스킨 글쓰기 페이지 살펴보기 2 - 상세 설명 2017.04.13 2916
16 게시판 기본 스킨 내용보기 페이지 살펴보기 2 - 상세 설명 2017.04.13 2528
15 여분필드를 활용한 게시판 스킨 제작 - 기본적인 사용 방법 2017.04.13 2892
14 여분필드를 활용한 게시판 스킨 제작 - 기초 예제1-1 file 2017.04.13 3475
13 여분필드를 활용한 게시판 스킨 제작 - 기초 예제1-2 file 2017.04.13 4262
12 여분필드를 활용한 게시판 스킨 제작 - 기초 예제1-3 file 2017.04.13 3276
11 게시판 글쓰기 페이지에 스마트 에디터 2개 이상 사용하기 2017.04.12 2778
Board Pagination Prev 1 2 3 4 Next
/ 4

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved