RyotaUshio / obsidian-pdf-plus

The most Obsidian-native PDF annotation, viewing & editing tool ever. Comes with optional Vim keybindings.
https://ryotaushio.github.io/obsidian-pdf-plus/
MIT License
678 stars 13 forks source link

[Bug] PDF++ is not working in embedded PDF in canvas view #248

Open justarmadillo opened 1 month ago

justarmadillo commented 1 month ago

Steps to reproduce

When I embed a PDF inside canvas, the plugin features aren't available inside canvas embed, until I open it to the right or something.

Expected behavior

being able to annotate and use the features of PDF++ like inside a note or like when I open it in new window, so I don't need to open each PDF separately in a new window and edit it.

Actual behavior

working Perfectly with in other places in obsidian, not in canvas view embed.

Screen recordings or screenshots (sandbox vault)

only basic PDF.js in canvas embed here, no addon features.

image

Obsidian debug info

SYSTEM INFO: Obsidian version: v1.6.5 Installer version: v1.6.5 Operating system: Windows 11 Pro 10.0.22621 Login status: not logged in Insider build toggle: off Live preview: on Base theme: adapt to system Community theme: none Snippets enabled: 0 Restricted mode: on

RECOMMENDATIONS: none

PDF++ debug info

{
    "settings": {
        "displayTextFormats": [
            {
                "name": "Title & page",
                "template": "{{file.basename}}, p.{{pageLabel}}"
            },
            {
                "name": "Page",
                "template": "p.{{pageLabel}}"
            },
            {
                "name": "Text",
                "template": "{{text}}"
            },
            {
                "name": "Emoji",
                "template": "📖"
            },
            {
                "name": "None",
                "template": ""
            }
        ],
        "defaultDisplayTextFormatIndex": 0,
        "syncDisplayTextFormat": true,
        "syncDefaultDisplayTextFormat": false,
        "copyCommands": [
            {
                "name": "Quote",
                "template": "> ({{linkWithDisplay}})\n> {{selection}}\n"
            },
            {
                "name": "Link",
                "template": "{{linkWithDisplay}}"
            },
            {
                "name": "Embed",
                "template": "!{{link}}"
            },
            {
                "name": "Callout",
                "template": "> [!{{calloutType}}|{{color}}] {{linkWithDisplay}}\n> {{text}}\n"
            },
            {
                "name": "Quote in callout",
                "template": "> [!{{calloutType}}|{{color}}] {{linkWithDisplay}}\n> > {{text}}\n> \n> "
            }
        ],
        "useAnotherCopyTemplateWhenNoSelection": false,
        "copyTemplateWhenNoSelection": "{{linkToPageWithDisplay}}",
        "trimSelectionEmbed": false,
        "embedMargin": 50,
        "noSidebarInEmbed": true,
        "noSpreadModeInEmbed": true,
        "embedUnscrollable": false,
        "singleTabForSinglePDF": true,
        "highlightExistingTab": false,
        "existingTabHighlightOpacity": 0.5,
        "existingTabHighlightDuration": 0.75,
        "paneTypeForFirstPDFLeaf": "left",
        "openLinkNextToExistingPDFTab": true,
        "openPDFWithDefaultApp": false,
        "openPDFWithDefaultAppAndObsidian": true,
        "focusObsidianAfterOpenPDFWithDefaultApp": true,
        "syncWithDefaultApp": false,
        "dontActivateAfterOpenPDF": true,
        "dontActivateAfterOpenMD": true,
        "highlightDuration": 0.75,
        "noTextHighlightsInEmbed": false,
        "noAnnotationHighlightsInEmbed": true,
        "persistentTextHighlightsInEmbed": true,
        "persistentAnnotationHighlightsInEmbed": false,
        "highlightBacklinks": true,
        "selectionBacklinkVisualizeStyle": "highlight",
        "dblclickEmbedToOpenLink": true,
        "highlightBacklinksPane": true,
        "highlightOnHoverBacklinkPane": true,
        "backlinkHoverColor": "",
        "colors": {
            "Yellow": "#ffd000",
            "Red": "#ea5252",
            "Note": "#086ddd",
            "Important": "#bb61e5"
        },
        "defaultColor": "",
        "defaultColorPaletteItemIndex": 0,
        "syncColorPaletteItem": true,
        "syncDefaultColorPaletteItem": false,
        "colorPaletteInToolbar": true,
        "noColorButtonInColorPalette": true,
        "colorPaletteInEmbedToolbar": false,
        "quietColorPaletteTooltip": false,
        "showStatusInToolbar": true,
        "highlightColorSpecifiedOnly": false,
        "doubleClickHighlightToOpenBacklink": true,
        "hoverHighlightAction": "preview",
        "paneTypeForFirstMDLeaf": "right",
        "singleMDLeafInSidebar": true,
        "alwaysUseSidebar": true,
        "ignoreExistingMarkdownTabIn": [],
        "defaultColorPaletteActionIndex": 4,
        "syncColorPaletteAction": true,
        "syncDefaultColorPaletteAction": false,
        "proxyMDProperty": "PDF",
        "hoverPDFLinkToOpen": false,
        "ignoreHeightParamInPopoverPreview": true,
        "filterBacklinksByPageDefault": true,
        "showBacklinkToPage": true,
        "enableHoverPDFInternalLink": true,
        "recordPDFInternalLinkHistory": true,
        "alwaysRecordHistory": true,
        "renderMarkdownInStickyNote": false,
        "enablePDFEdit": false,
        "author": "",
        "writeHighlightToFileOpacity": 0.2,
        "defaultWriteFileToggle": false,
        "syncWriteFileToggle": true,
        "syncDefaultWriteFileToggle": false,
        "enableAnnotationDeletion": true,
        "warnEveryAnnotationDelete": false,
        "warnBacklinkedAnnotationDelete": true,
        "enableAnnotationContentEdit": true,
        "enableEditEncryptedPDF": false,
        "pdfLinkColor": "#04a802",
        "pdfLinkBorder": false,
        "replaceContextMenu": true,
        "showContextMenuOnMouseUpIf": "Mod",
        "contextMenuConfig": [
            {
                "id": "action",
                "visible": true
            },
            {
                "id": "selection",
                "visible": true
            },
            {
                "id": "write-file",
                "visible": true
            },
            {
                "id": "annotation",
                "visible": true
            },
            {
                "id": "modify-annotation",
                "visible": true
            },
            {
                "id": "link",
                "visible": true
            },
            {
                "id": "text",
                "visible": true
            },
            {
                "id": "search",
                "visible": true
            },
            {
                "id": "speech",
                "visible": true
            },
            {
                "id": "page",
                "visible": true
            },
            {
                "id": "settings",
                "visible": true
            }
        ],
        "selectionProductMenuConfig": [
            "color",
            "copy-format",
            "display"
        ],
        "writeFileProductMenuConfig": [
            "color",
            "copy-format",
            "display"
        ],
        "annotationProductMenuConfig": [
            "copy-format",
            "display"
        ],
        "updateColorPaletteStateFromContextMenu": true,
        "mobileCopyAction": "pdf-plus",
        "showContextMenuOnTablet": false,
        "executeBuiltinCommandForOutline": true,
        "executeBuiltinCommandForZoom": true,
        "executeFontSizeAdjusterCommand": true,
        "closeSidebarWithShowCommandIfExist": true,
        "autoHidePDFSidebar": false,
        "defaultSidebarView": 1,
        "outlineDrag": true,
        "outlineContextMenu": true,
        "outlineLinkDisplayTextFormat": "{{file.basename}}, {{text}}",
        "outlineLinkCopyFormat": "{{linkWithDisplay}}",
        "recordHistoryOnOutlineClick": true,
        "popoverPreviewOnOutlineHover": true,
        "thumbnailDrag": true,
        "thumbnailContextMenu": true,
        "thumbnailLinkDisplayTextFormat": "{{file.basename}}, p.{{pageLabel}}",
        "thumbnailLinkCopyFormat": "{{linkWithDisplay}}",
        "recordHistoryOnThumbnailClick": true,
        "popoverPreviewOnThumbnailHover": true,
        "annotationPopupDrag": true,
        "showAnnotationPopupOnHover": true,
        "useCallout": true,
        "calloutType": "PDF",
        "calloutIcon": "highlighter",
        "highlightBacklinksInEmbed": false,
        "highlightBacklinksInHoverPopover": false,
        "highlightBacklinksInCanvas": true,
        "clickPDFInternalLinkWithModifierKey": true,
        "clickOutlineItemWithModifierKey": true,
        "clickThumbnailWithModifierKey": true,
        "focusEditorAfterAutoPaste": true,
        "clearSelectionAfterAutoPaste": true,
        "respectCursorPositionWhenAutoPaste": true,
        "autoCopy": false,
        "autoFocus": false,
        "autoPaste": false,
        "autoFocusTarget": "last-active-and-open-then-last-paste",
        "autoPasteTarget": "last-active-and-open-then-last-paste",
        "openAutoFocusTargetIfNotOpened": true,
        "howToOpenAutoFocusTargetIfNotOpened": "right",
        "closeHoverEditorWhenLostFocus": true,
        "closeSidebarWhenLostFocus": false,
        "openAutoFocusTargetInEditingView": true,
        "executeCommandWhenTargetNotIdentified": true,
        "commandToExecuteWhenTargetNotIdentified": "switcher:open",
        "autoPasteTargetDialogTimeoutSec": 20,
        "autoCopyToggleRibbonIcon": true,
        "autoCopyIconName": "highlighter",
        "autoFocusToggleRibbonIcon": true,
        "autoFocusIconName": "zap",
        "autoPasteToggleRibbonIcon": true,
        "autoPasteIconName": "clipboard-paste",
        "viewSyncFollowPageNumber": true,
        "viewSyncPageDebounceInterval": 0.3,
        "openAfterExtractPages": true,
        "howToOpenExtractedPDF": "tab",
        "warnEveryPageDelete": false,
        "warnBacklinkedPageDelete": true,
        "extractPageInPlace": false,
        "askExtractPageInPlace": true,
        "pageLabelUpdateWhenInsertPage": "keep",
        "pageLabelUpdateWhenDeletePage": "keep",
        "pageLabelUpdateWhenExtractPage": "keep",
        "askPageLabelUpdateWhenInsertPage": true,
        "askPageLabelUpdateWhenDeletePage": true,
        "askPageLabelUpdateWhenExtractPage": true,
        "copyOutlineAsListFormat": "{{linkWithDisplay}}",
        "copyOutlineAsListDisplayTextFormat": "{{text}}",
        "copyOutlineAsHeadingsFormat": "{{text}}\n\n{{linkWithDisplay}}",
        "copyOutlineAsHeadingsDisplayTextFormat": "p.{{pageLabel}}",
        "copyOutlineAsHeadingsMinLevel": 2,
        "newFileNameFormat": "",
        "newFileTemplatePath": "",
        "newPDFLocation": "current",
        "newPDFFolderPath": "",
        "rectEmbedStaticImage": false,
        "rectImageFormat": "file",
        "rectImageExtension": "webp",
        "zoomToFitRect": false,
        "rectEmbedResolution": 100,
        "includeColorWhenCopyingRectLink": true,
        "backlinkIconSize": 50,
        "showBacklinkIconForSelection": false,
        "showBacklinkIconForAnnotation": false,
        "showBacklinkIconForOffset": true,
        "showBacklinkIconForRect": false,
        "showBoundingRectForBacklinkedAnnot": false,
        "hideReplyAnnotation": false,
        "searchLinkHighlightAll": "true",
        "searchLinkCaseSensitive": "true",
        "searchLinkMatchDiacritics": "default",
        "searchLinkEntireWord": "false",
        "dontFitWidthWhenOpenPDFLink": true,
        "preserveCurrentLeftOffsetWhenOpenPDFLink": false,
        "defaultZoomValue": "page-width",
        "scrollModeOnLoad": 0,
        "spreadModeOnLoad": 0,
        "hoverableDropdownMenuInToolbar": true,
        "zoomLevelInputBoxInToolbar": true,
        "popoverPreviewOnExternalLinkHover": true,
        "actionOnCitationHover": "pdf-plus-bib-popover",
        "anystylePath": "",
        "enableBibInEmbed": false,
        "enableBibInHoverPopover": false,
        "enableBibInCanvas": true,
        "copyAsSingleLine": true,
        "removeWhitespaceBetweenCJChars": true,
        "vim": false,
        "vimrcPath": "",
        "vimVisualMotion": true,
        "vimScrollSize": 40,
        "vimLargerScrollSizeWhenZoomIn": true,
        "vimContinuousScrollSpeed": 1.2,
        "vimSmoothScroll": true,
        "vimHlsearch": true,
        "vimIncsearch": true,
        "enableVimInContextMenu": true,
        "enableVimOutlineMode": true,
        "vimSmoothOutlineMode": true,
        "vimHintChars": "hjklasdfgyuiopqwertnmzxcvb",
        "vimHintArgs": "all",
        "PATH": ""
    },
    "styleSettings": null,
    "styleSheet": ".pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color=\"yellow\"],\n.pdf-embed[data-highlight-color=\"yellow\"] .textLayer .mod-focused {\n    --pdf-plus-color: #ffd000;\n    --pdf-plus-backlink-icon-color: #ffd000;\n    --pdf-plus-rect-color: #ffd000;\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color=\"red\"],\n.pdf-embed[data-highlight-color=\"red\"] .textLayer .mod-focused {\n    --pdf-plus-color: #ea5252;\n    --pdf-plus-backlink-icon-color: #ea5252;\n    --pdf-plus-rect-color: #ea5252;\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color=\"note\"],\n.pdf-embed[data-highlight-color=\"note\"] .textLayer .mod-focused {\n    --pdf-plus-color: #086ddd;\n    --pdf-plus-backlink-icon-color: #086ddd;\n    --pdf-plus-rect-color: #086ddd;\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight)[data-highlight-color=\"important\"],\n.pdf-embed[data-highlight-color=\"important\"] .textLayer .mod-focused {\n    --pdf-plus-color: #bb61e5;\n    --pdf-plus-backlink-icon-color: #bb61e5;\n    --pdf-plus-rect-color: #bb61e5;\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink:not(.hovered-highlight) {\n    --pdf-plus-color: rgb(var(--text-highlight-bg-rgb));\n    --pdf-plus-backlink-icon-color: rgb(var(--text-highlight-bg-rgb));\n    --pdf-plus-rect-color: rgb(var(--text-highlight-bg-rgb));\n}\n.pdf-plus-backlink-highlight-layer .pdf-plus-backlink.hovered-highlight {\n\t--pdf-plus-color: green;\n\t--pdf-plus-backlink-icon-color: green;\n   --pdf-plus-rect-color: green;\n}\n.pdf-plus-color-palette-item[data-highlight-color=\"yellow\"] > .pdf-plus-color-palette-item-inner {\n    background-color: #ffd000;\n}\n.pdf-plus-color-palette-item[data-highlight-color=\"red\"] > .pdf-plus-color-palette-item-inner {\n    background-color: #ea5252;\n}\n.pdf-plus-color-palette-item[data-highlight-color=\"note\"] > .pdf-plus-color-palette-item-inner {\n    background-color: #086ddd;\n}\n.pdf-plus-color-palette-item[data-highlight-color=\"important\"] > .pdf-plus-color-palette-item-inner {\n    background-color: #bb61e5;\n}\n.pdf-plus-color-palette-item:not([data-highlight-color]) > .pdf-plus-color-palette-item-inner {\n    background-color: transparent;\n}\n.workspace-leaf.pdf-plus-link-opened.is-highlighted::before {\n\topacity: 0.5;\n}\nbody {\n    --pdf-plus-yellow-rgb: 255, 208, 0\n}\nbody {\n    --pdf-plus-red-rgb: 234, 82, 82\n}\nbody {\n    --pdf-plus-note-rgb: 8, 109, 221\n}\nbody {\n    --pdf-plus-important-rgb: 187, 97, 229\n}\nbody {\n    --pdf-plus-default-color-rgb: var(--text-highlight-bg-rgb)\n}\n.callout[data-callout=\"pdf\"][data-callout-metadata=\"yellow\"] {\n\t--callout-color: var(--pdf-plus-yellow-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"][data-callout-metadata=\"red\"] {\n\t--callout-color: var(--pdf-plus-red-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"][data-callout-metadata=\"note\"] {\n\t--callout-color: var(--pdf-plus-note-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"][data-callout-metadata=\"important\"] {\n\t--callout-color: var(--pdf-plus-important-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"] {\n\t--callout-color: var(--pdf-plus-default-color-rgb);\n   background-color: rgba(var(--callout-color), var(--pdf-plus-highlight-opacity, 0.2))\n}\n.callout[data-callout=\"pdf\"] {\n   --callout-icon: lucide-highlighter;\n}"
}

Error messages

No response

RyotaUshio commented 1 month ago

Hi, my apologies for the late response.

When you say it doesn't work in Canvas, it can mean two different things:

  1. when you copy a link to text selection in a PDF viewer (either in canvas or not) and paste it into a canvas card, the selected text is not highlighted
  2. A markdown file (not a canvas card) has a link pointing to a PDF text selection, and the selected text is not highlighted when the PDF viewer is embedded in a canvas, while it works when you open the PDF in a normal viewer.

Which one do you mean? If it's 1, that is indeed an expected behavior coming from the limitation of the Obsidian core. See the related issue #43. If it's 2, it seems like a PDF++ bug since you have the "Highlight backlinks in Canvas" option enabled. But at this moment, I can't reproduce it.