I have an image, Test.png, which I want to copy to the clipboard from the terminal as part of a Bash script so I can paste it into Word.
I've tried using pbcopy like this:
$ cat Test.png | pbcopy However, when I try to paste the contents of the clipboard into Word, I get multiple pages of random characters. I assume the clipboard is flagged as containing text, so pastes a text representation of the image bytes:
How can I correctly copy an image from the terminal? This appears to happen with all PNG images, but if it helps the image that I'm using is this one:
3 Answers
Here is a link to an answer by Chris Johnsen on a related question that does what you're looking for. (In that case it's an HTML file, but it works for our needs here.)
Quote from the original answer:
osascript can ... be used as a hash-bang interpreter (since 10.5). Put this in a file (e.g. file-to-clipboard)
#!/usr/bin/osascript on run args set the clipboard to POSIX file (first item of args) end Make the file executable (chmod +x /path/to/where/ever/you/put/file-to-clipboard). Then run it like so:
/path/to/where/ever/you/put/file-to-clipboard ~/Desktop/ded.html If it is stored in a directory in the PATH, then you can omit the path to the “script” file.
4I faced this problem and tried the other answers here and on related questions, but none of them worked - then I found this script, and it worked beautifully:
If you want an alternative, I also found this repo which worked:
I believe you need to have xcode installed to build the second one though.
brew install pink, then you can use piknik to copy anything.
pbcopy < beauty.png works for me sometimes. It's strange that it does not work any more.
