【问题标题】:Autodesk PDF Extension - Preventing page in query string overrideAutodesk PDF Extension - 防止查询字符串覆盖页面
【发布时间】:2021-07-26 15:06:26
【问题描述】:

我目前正在寻找在 ForgeViewer PDF 扩展中实现分页,在文档中有一条说明,查询字符串中的“页面”将覆盖传递给加载模型的任何值。我想知道这是否是可配置的,或者我们能够防止这种情况发生。

// URL parameter page will override value passed to loadModel 

viewer.loadModel(‘path/to/file.pdf’, { page: 1 });

这给我们带来了一些问题,因为我们将 'page' 用于其他目的,并且我们必须进行大量修改以重命名我们用于分页表的当前页面查询字符串。

【问题讨论】:

    标签: pdf autodesk-forge


    【解决方案1】:

    没错。如果您查看 PDF 扩展名 的代码 (https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/extensions/PDF/PDF.js),您会发现这种行为是硬编码的 ?

    我可以想到两种解决方法:
    a) 使用page 以外的 URL 参数 - 例如sheet?

    b) 覆盖当前网址,让页码变成你需要的样子

    // Original URL is: http://127.0.0.1:5500/index.html?page=2
    // we change it to page=1
    // This should change the URL content without a reload
    history.pushState('', '', 'index.html?page=1');
    viewer.loadModel("AutoCAD_Sample_Part1.pdf", {}, (model) => {
    

    你也可以这样实现:

    viewer.loadExtension('Autodesk.PDF').then(function(ext) {
      // Original URL is: http://127.0.0.1:5500/index.html?page=2
      // we change it to page=1
      viewer.loadModel("AutoCAD_Sample_Part1.pdf", {}, (model) => {
        ext.hyperlinkTracker.changePage(1) 
    

    【讨论】:

    • 感谢亚当的快速回复。作为您的第一个建议,我们即将实施更改以更改我们的 queryParam,认为值得提出一个问题,看看我们是否可以侥幸逃脱。我可能会先按照您的第二个建议劫持查询字符串。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多