<!DOCTYPE html>

<html lang="zh-CN">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>王作伟_2026作品集</title>

    <style>

        * { margin: 0; padding: 0; box-sizing: border-box; }

        html, body { height: 100%; background: #f5f5f5; }

        #pdf-container { width: 100%; height: 100vh; }

    </style>

    <!-- 引入PDF.js CDN -->

    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.min.js"></script>

    <script>

        pdfjsLib.GlobalWorkerOptions.workerSrc = "https://cdnjs.cloudflare.com/ajax/libs/pdf.js/3.11.174/pdf.worker.min.js";

    </script>

</head>

<body>

    <div id="pdf-container"></div>


    <script>

        // 替换成你的PDF文件名!

        const pdfUrl = "王作伟_2026作品集.pdf"; 


        const container = document.getElementById("pdf-container");

        let pdfDoc = null,

            pageNum = 1,

            pageRendering = false,

            pageNumPending = null,

            scale = 1.5; // 缩放比例,可调整


        // 渲染单页

        function renderPage(num) {

            pageRendering = true;

            pdfDoc.getPage(num).then(function(page) {

                const viewport = page.getViewport({ scale: scale });

                const canvas = document.createElement("canvas");

                const ctx = canvas.getContext("2d");

                canvas.height = viewport.height;

                canvas.width = viewport.width;


                container.innerHTML = "";

                container.appendChild(canvas);


                const renderContext = {

                    canvasContext: ctx,

                    viewport: viewport

                };

                const renderTask = page.render(renderContext);


                renderTask.promise.then(function() {

                    pageRendering = false;

                    if (pageNumPending !== null) {

                        renderPage(pageNumPending);

                        pageNumPending = null;

                    }

                });

            });

        }


        // 加载PDF

        pdfjsLib.getDocument(pdfUrl).promise.then(function(pdfDoc_) {

            pdfDoc = pdfDoc_;

            renderPage(pageNum);


            // 滚轮翻页

            container.addEventListener("wheel", function(e) {

                if (e.deltaY > 0 && pageNum < pdfDoc.numPages) {

                    pageNum++;

                    renderPage(pageNum);

                } else if (e.deltaY < 0 && pageNum > 1) {

                    pageNum--;

                    renderPage(pageNum);

                }

                e.preventDefault();

            });


            // 左右方向键翻页

            document.addEventListener("keydown", function(e) {

                if (e.key === "ArrowRight" && pageNum < pdfDoc.numPages) {

                    pageNum++;

                    renderPage(pageNum);

                } else if (e.key === "ArrowLeft" && pageNum > 1) {

                    pageNum--;

                    renderPage(pageNum);

                }

            });

        });

    </script>

</body>

</html>