The reason this is happening is because the annotation copy and paste in WebViewer isn't a real OS copy/paste and doesn't go to the real clipboard, it only stays within a WebViewer "clipboard".
Pasting the annotation and pasting the image are triggered from two separate events so you could block one or the other if they're both being triggered. However I'm not sure you would be able to determine which one was the last that had happened. If you copy an image outside of the browser you don't get an event that something was added to the clipboard so you wouldn't be able to know that a copy on the OS clipboard had happened last.
You might be able to do something like the following:
1. On an annotation copy trigger an update of the OS clipboard to put an empty string there. Annotation copying code is in ReaderControl.js, look for am.updateCopiedAnnotations().
2. On an annotation paste check if there is anything on the OS clipboard and only paste if there is an empty string. I'm not sure you'll be able to programmatically check the clipboard from here, you might have to move this code to the html paste event like in this custom code.
If there is a possible solution hopefully this should get you started.
PDFTron Systems Inc.
On Wednesday, September 27, 2017 at 3:34:46 PM UTC-7, Christian Gruber wrote: