在 PDFTron PrintModal 中取消默认包含注释复选框
Untick Include Annotation Checkbox by default in PDFTron PrintModal
据我所知,pdftron 中没有给出明确的属性来取消选中默认选中的“包括注释复选框”。
您可以转到 https://www.pdftron.com/webviewer/demo/ 并按 ctrl+P 查看打印模式:
所以我正在 javascript 中寻找解决方法,以使其禁用,具有 ID“include-annotations”。问题是当代码运行时,dom 对象是 'NULL',然后一段时间后相同的代码在控制台上运行。
如何在加载打印模式 dom 时触发此事件。
document.addEventListener("keydown", (e) => {
if (e.ctrlKey && e.code === "KeyP") {
const annotationUncheck = document.getElementById(
"include-annotations"
) as HTMLElement;
annotationUncheck.click();
}
});
之所以 document.getElementById("include-annotations")
出现 null
,是因为 Webviewer 在 iframe 中运行,其组件不会成为主要 DOM 的一部分。要从 iFrame 中获取复选框并取消选中它,您可以使用此代码:
WebViewer({...}, viewerElement).then(function (instance) {
const { UI } = instance;
UI.iframeWindow.document.getElementById("include-annotations").click();
});
这是获取 iFrame window 的相关 API。
https://www.pdftron.com/api/web/UI.html#.iframeWindow
据我所知,pdftron 中没有给出明确的属性来取消选中默认选中的“包括注释复选框”。
您可以转到 https://www.pdftron.com/webviewer/demo/ 并按 ctrl+P 查看打印模式:
所以我正在 javascript 中寻找解决方法,以使其禁用,具有 ID“include-annotations”。问题是当代码运行时,dom 对象是 'NULL',然后一段时间后相同的代码在控制台上运行。
如何在加载打印模式 dom 时触发此事件。
document.addEventListener("keydown", (e) => {
if (e.ctrlKey && e.code === "KeyP") {
const annotationUncheck = document.getElementById(
"include-annotations"
) as HTMLElement;
annotationUncheck.click();
}
});
之所以 document.getElementById("include-annotations")
出现 null
,是因为 Webviewer 在 iframe 中运行,其组件不会成为主要 DOM 的一部分。要从 iFrame 中获取复选框并取消选中它,您可以使用此代码:
WebViewer({...}, viewerElement).then(function (instance) {
const { UI } = instance;
UI.iframeWindow.document.getElementById("include-annotations").click();
});
这是获取 iFrame window 的相关 API。 https://www.pdftron.com/api/web/UI.html#.iframeWindow