我目前正在寻求在 ForgeViewer PDF 扩展中实现分页,在文档中有一条注释,查询字符串中的“页面”将覆盖传递给加载模型的任何值。我想知道这是否是可配置的或者我们能够阻止这种情况。
// URL parameter page will override value passed to loadModel
viewer.loadModel(‘path/to/file.pdf’, { page: 1 });
当我们将“page”用于其他目的时,这给我们带来了一些问题,我们必须进行大量修改才能重命名我们用于分页表的当前页面查询字符串。
最佳答案
这是正确的。如果您查看 PDF 扩展 的代码 ( https://developer.api.autodesk.com/modelderivative/v2/viewers/7.*/extensions/PDF/PDF.js ),那么您会发现不幸的是,此行为是硬编码的 😞
我可以想到两种解决方法:
a) 使用 page
以外的 URL 参数 - 例如工作表
?
b) 覆盖当前 URL,使页码变为您需要的页码
// 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)
关于pdf - Autodesk PDF Extension - 防止查询字符串覆盖中的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67381878/