2010-11-01 87 views
4

現在我正在使用提示命令作爲解決方法,將任意文本從Photoshop中的我的JSX腳本中複製出來。Photoshop JSX - 如何將任意文本複製到剪貼板?

prompt("to copy",(horizontalcenter.toString()) + ", " + verticalcenter.toString()); 

這就是給我的信息,我想要的。 「複製」只是給出標題,然後我想從Photoshop複製的信息在已經選擇的提示框中。所以我所要做的就是點擊控件C,進入Notepad ++,在那裏我需要這些信息,然後點擊控件V.

它可以工作,但速度可能會更快。必須有一種方法可以將這些信息從Photoshop直接複製到剪貼板,不是嗎?

+0

可能的解決方法,這將無法正常工作 - 字符串寫入圖像上的文字層。然後在Photoshop中使用有限的剪貼板腳本方法。稍後我將自己參考,他們處理對象ArtLayer/Selection/Document。但ArtLayer和選擇是唯一的副本。有關詳細信息,請參閱Adobe CS4腳本指南的第54頁:http://www.adobe.com/content/dam/Adobe/en/devnet/photoshop/pdfs/photoshop_cs4_scripting_guide.pdf – 2010-11-01 09:00:13

+0

任何人都有可在Mac上使用的解決方案? – Aaron 2012-05-09 18:49:34

回答

4

在Photoshop腳本論壇上找到答案。

http://ps-scripts.com/bb/viewtopic.php?f=9&t=3097&p=15324&hilit=clipboard&sid=1b1cc023023b9f91ab46e30e48e2ab53#p15324

function copyTextToClipboard(text) 
{ 
    var folderForTempFiles = Folder.temp.fsName; 

    // create a new textfile and put the text into it 
    var clipTxtFile =new File(folderForTempFiles + "/ClipBoard.txt"); 
    clipTxtFile.open('w'); 
    clipTxtFile.write(text); 
    clipTxtFile.close(); 

    // use the clip.exe to copy the contents of the textfile to the windows clipboard 
    var clipBatFile =new File(folderForTempFiles + "/ClipBoard.bat"); 
    clipBatFile.open('w'); 
    clipBatFile.writeln("cat \"" + folderForTempFiles + "/ClipBoard.txt\"|clip"); 
    clipBatFile.close(); 
    clipBatFile.execute(); 
} 

它放在你想在一個臨時文本文件中複製的文本,然後從文本文件複製它。我甚至不知道你可以將文本放入文本文件中。顯然,Photoshop中的JavaScript功能比我意識到的要強大得多!

+0

值得注意的是,這個答案只適用於Windows,儘管你可以在OS X上用pbcopy做類似的事情。 – 2015-10-22 22:14:44

6

Photoshop 13.1(Photoshop CS6的最新Creative Cloud版本)現在有一個掛鉤,可讓您直接執行此操作。下面是一個示例功能:

function copyTextToClipboard(txt) 
{ 
    const keyTextData   = app.charIDToTypeID('TxtD'); 
    const ktextToClipboardStr = app.stringIDToTypeID("textToClipboard"); 

    var textStrDesc = new ActionDescriptor(); 

    textStrDesc.putString(keyTextData, txt); 
    executeAction(ktextToClipboardStr, textStrDesc, DialogModes.NO); 
} 

請注意在Photoshop版本之前的13.1