• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Getting getSelectedText() value

Explorer ,
Sep 12, 2020 Sep 12, 2020

Copy link to clipboard

Copied

I am trying to retrieve the getSelectedText() value from a PREVIEW_SELECTED_END callback to populate the prompt for a Highlight comment entry as follows...  trying to set var [selectedText]

var selectedText;   
const eventOptions = {
           enableFilePreviewEvents: true
    }
    adobeDCView.registerCallback(
        AdobeDC.View.Enum.CallbackType.EVENT_LISTENER,
        function(event) {
            console.log("Event: " + event.type);
            if (event.type === "PREVIEW_SELECTION_END") {
                previewFilePromise.then(adobeViewer => {
                    adobeViewer.getAPIs().then(apis => {
                        apis.getSelectedContent()
                            .then(result => selectedText = result.data)
                            .catch(error => console.log(error));
                    });
                });
                console.log("selectedText = " + selectedText);
            }
        }, eventOptions
   );

...which does work, but not always. For instance, the first selection of text appears to block the Tool popover, clear and select again and it works, but then only randomly thereafter. What am I missing?

 

Any help greatly appretiated, Nick Gates

 

 

TOPICS
PDF Embed API

Views

497

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Adobe Employee , Sep 13, 2020 Sep 13, 2020

Hi Nick,
Thanks for choosing PDF Embed APIs. You snippet seems to miss one thing, you are using console.log outside the promise which might not get resolved before console.log statement. Below is the updated snippet which should work in your case.

var selectedText;   
const eventOptions = {
           enableFilePreviewEvents: true
    }
    adobeDCView.registerCallback(
        AdobeDC.View.Enum.CallbackType.EVENT_LISTENER,
        function(event) {
            console.log("Event: " + event.type)
...

Votes

Translate

Translate
Adobe Employee ,
Sep 13, 2020 Sep 13, 2020

Copy link to clipboard

Copied

Hi Nick,
Thanks for choosing PDF Embed APIs. You snippet seems to miss one thing, you are using console.log outside the promise which might not get resolved before console.log statement. Below is the updated snippet which should work in your case.

var selectedText;   
const eventOptions = {
           enableFilePreviewEvents: true
    }
    adobeDCView.registerCallback(
        AdobeDC.View.Enum.CallbackType.EVENT_LISTENER,
        function(event) {
            console.log("Event: " + event.type);
            if (event.type === "PREVIEW_SELECTION_END") {
                previewFilePromise.then(adobeViewer => {
                    adobeViewer.getAPIs().then(apis => {
                        apis.getSelectedContent()
                            .then(result => {
                                 selectedText = result.data;
                                 console.log("selectedText = " + selectedText);
                            })
                            .catch(error => console.log(error));
                    });
                });
            }
        }, eventOptions
   );

  
Thanks

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Sep 20, 2020 Sep 20, 2020

Copy link to clipboard

Copied

LATEST

Thank you for the reply.

 

That does seem to have done the job, thank you!

 

Nick

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources