#javascript #vue.js #pdftron
Вопрос:
Я пишу программное обеспечение для чтения PDF-файлов с помощью pdftron. Я знаю, что docViewer.on('mouseLeftDown', e => {}
это может привести к событию, но onClick
, похоже, не может привести к событию мыши. Есть ли какое-нибудь хорошее решение? Спасибо.
WebViewer(
{
path,
initialDoc: "",
},
viewer.value
).then(function (instance) {
const { Annotations, annotManager, docViewer } = instance;
instance.contextMenuPopup.add({
type: "actionButton",
label: "MD",
onClick: () => {
const freeText = new Annotations.FreeTextAnnotation();
freeText.PageNumber = docViewer.getCurrentPage();
freeText.X=?;// I don't know how to set the freeText.X at the location of the mouse
freeText.Y=?;
freeText.Width = 150;
freeText.Height = 50;
создать-аннотации-свободный текст
преобразование-между-местоположениями-мыши-и-координатами-окна
Ответ №1:
Я думаю, что одним из способов, которым вы могли бы это сделать, является прослушивание события contextmenu в документе iframe, а затем сохранение последнего события мыши оттуда, которое вы затем можете использовать при нажатии кнопки.
Например
let lastContextMenuEvent;
instance.iframeWindow.document.addEventListener('contextmenu', (e) => {
lastContextMenuEvent = e;
});
instance.contextMenuPopup.add({
onClick: () => {
// use lastContextMenuEvent here
}
});