zoukankan      html  css  js  c++  java
  • 如何设置PDFjs 页面标题

    上一节打开PDF文件,标题一直显示文件名称

    如果我们标题名称为了安全设置编码字符这时候客户就看不懂标题了,为了客户体验标题是文件名称

    分析viewer.js 查找设置标题 document.title

    还真有这个

    分析

    setTitleUsingUrl: function setTitleUsingUrl(url) {
    this.url = url;
    this.baseUrl = url.split('#')[0];
    var title = (0, _ui_utils.getPDFFileNameFromURL)(url, '');
    if (!title) {
    try {
    title = decodeURIComponent((0, _pdfjsLib.getFilenameFromUrl)(url)) || url;
    } catch (ex) {
    title = url;
    }
    }
    this.setTitle(title);
    },
    setTitle: function setTitle(title) {
    if (this.isViewerEmbedded) {
    return;
    }
    document.title = title;
    },
    很明显是通过截图文件名称这时我们只要改
    this.setTitle(title); 里面title就好了
    如何是文件名称呢
    对于viewr.html我们没法PHP带值,只能通过URL做文章了
    ?file='PDF地址'+'&title='+'文件名称'
    这样我们可以通过截取文件名称

    首先:
    viewer.html写一个方法用于取文件名称
    //获取地址栏参数值
    function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
    var r = window.location.search.substr(1).match(reg);
    if (r!=null) return (r[2]); return null;
    }
    然后
    viewer.js
    this.setTitle(decodeURIComponent(getQueryString('title'))); 

    这时候标题会生成 <4D6963726F736F667420576F7264202D20BCAAC1D6B0E6C8CBCEC4D2BDD1A72E646F637> + 标题
    分析 setTitle
    if (pdfTitle) {
    _this6.setTitle(pdfTitle + ' - ' + document.title);
    }

    去掉
    pdfTitle + ' - ' + 
    即可
    如上即可实现不同PDF显示不同名称
    
    
  • 相关阅读:
    chown
    chmod
    商务部
    使用 UEditor 编辑器获取数据库中的数据
    Java实现 蓝桥杯 算法提高 双十一抢购
    Java实现 蓝桥杯 算法提高 双十一抢购
    Java实现 蓝桥杯 算法提高 双十一抢购
    IDEA,PyCharm系列软件常用快捷键
    IDEA,PyCharm系列软件常用快捷键
    IDEA,PyCharm系列软件常用快捷键
  • 原文地址:https://www.cnblogs.com/chaihy/p/10945336.html
Copyright © 2011-2022 走看看