首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >pdfjs与magento 2

pdfjs与magento 2
EN

Stack Overflow用户
提问于 2020-10-06 18:47:16
回答 1查看 172关注 0票数 0

我可以集成pdfjs与magento 2 requireJS。我已经从这里下载了文件:https://cdnjs.com/libraries/pdf.js,并将它们放在my_theme/web/js/文件夹中

要求脚本增加pdfjs:

my_theme/web/js/requirejs-config.js

代码语言:javascript
复制
var config = {
    paths: {
        'pdfjs-dist/build/pdf': 'js/pdf.min',
        'pdfjs-dist/build/pdf.worker': 'js/pdf.worker.min'
    }
};

将脚本添加到页面:

代码语言:javascript
复制
require(["js/pdf", "js/pdf.worker"],function(pdfjsLib, pdfWorker){
  //define url other parts of script..
  pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
    pdfDoc = pdfDoc_;
    document.getElementById('page_count').textContent = pdfDoc.numPages;

    // Initial/first page rendering
    renderPage(pageNum);
  });
});

脚本加载后,我可以看到pdf.min.js和pdf.worker.min.js都加载了magento。

但仍出现以下错误:无法读取未定义的属性'getDocument‘。在测试中,两个变量都是未定义的: pdfjsLib、pdfWorker

你知道这里出了什么问题吗?

如果我们使用:require(["pdfjs-dist/build/pdf", "pdfjs-dist/build/pdf.worker"],function(pdfjsLib, pdfWorker){

我们得到404,因为它将尝试从website/pub/static/vendor/theme/pdfjs-dist/build/pdf.min.js加载脚本

但文件位于网站/pub/static/供应商/主题/js/pdf.min.js

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-14 19:20:06

我没有设置Magento2,但我做了一个简单的设置,它是有效的:

代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
<script>
    var config = {
        paths: {
            'pdfjs-dist/build/pdf': 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.6.347/pdf.min',
            'pdfjs-dist/build/pdf.worker': 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.6.347/pdf.worker.min'
        }
    };
    requirejs.config(config);
    require(["pdfjs-dist/build/pdf", "pdfjs-dist/build/pdf.worker"],function(pdfjsLib, pdfWorker){
        console.log(pdfjsLib, pdfWorker);
    });
</script>

也许这会对您有所帮助:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64224252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档