ereminmdev/yii2-pdfjs 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

ereminmdev/yii2-pdfjs

最新稳定版本:v1.0.1

Composer 安装命令:

composer require ereminmdev/yii2-pdfjs

包简介

Yii2 widget for PDF.js library.

README 文档

README

Yii2 widget for PDF.js library: https://mozilla.github.io/pdf.js/

Install

composer require --prefer-dist ereminmdev/yii2-pdfjs

Documentation

https://mozilla.github.io/pdf.js/examples/

Using

$pdfUrl = '/path_to/file.pdf';
$pdfJsAsset = PdfJsAsset::register($this);
$workerSrc = $pdfJsAsset->baseUrl . '/pdf.worker.min.mjs';

$this->registerJs(<<<JS
    const containerDiv = document.getElementById('pdfDoc');

    const {pdfjsLib} = globalThis;
    pdfjsLib.GlobalWorkerOptions.workerSrc = '$workerSrc';
    const loadingTask = pdfjsLib.getDocument('$pdfUrl');

    loadingTask.promise.then(function (pdf) {
        const numPages = pdf.numPages;

        for (let pageNumber = 1; pageNumber <= numPages; pageNumber++) {
            pdf.getPage(pageNumber).then(function (page) {
                const scale = 1.5;
                const viewport = page.getViewport({scale: scale});

                const canvas = document.createElement('canvas');
                canvas.id = 'pdfCanvas' + pageNumber;
                const context = canvas.getContext('2d');
                canvas.height = viewport.height;
                canvas.width = viewport.width;

                const renderContext = {
                    canvasContext: context,
                    viewport: viewport
                };
                page.render(renderContext);

                containerDiv.appendChild(canvas);
            });
        }
    });
JS
);

...

<div id="pdfDoc"></div>

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-08-26