2013-12-18 82 views
0

有人能告訴我如何使用Extendscript Javascript簡單地打印Photoshop文檔?使用Adobe Extendscript打印Photoshop文檔

當前線路有:

var doc = app.activeDocument; 

var array = [ 
"Name Surname 1", 
"Name Surname 2", 
"Name Surname 3" 
]; 

for(var i = 0; i < array.length; i++){ 
    changeTextByLayerName("name-surname-layer", array[i]); 
    doc.print(); // <<< here script is crashing 
    $.sleep(2000); 
    $.wirteln(i + " " + array[i] + " is printed"); 

} 

function changeTextByLayerName(layerName,newText){ 
    var layer = doc.layers.getByName(layerName); 
    if(layer.kind == LayerKind.TEXT) layer.textItem.contents = newText; 
} 

在Mac OS上使用Adobe Photoshop CC X 10.9.1

+0

您是否擁有有效的打印設置? –

+0

對不起,但我沒有任何想法:)我只是想要一點點lasy,我不想重複同樣的100次一遍又一遍:)或以前的句子只是意味着我開始得到我的手用4個小時前的ExtendScript弄髒了,所以... :) – Rozkalns

+0

嗯,我建議你先在上面的doc.print()中放一個斷點並檢查當前在doc.printerSettings中設置的打印機設置。特別是像打印機名稱這樣明顯的東西,並確保它被設置爲適合的東西。如果這不能讓你在任何地方,你得到的實際錯誤是什麼? –

回答

0

在CS5文檔,我能找到的文檔的print命令,但我不知道參數是什麼。幸運的是,他們似乎都可選,所以你可以試試這個反正:在你的腳本結束

doc.print(); 

似乎沒有辦法設置「當前打印機」或其任何屬性,如紙張大小或方向。它可能隱藏在某個不太明顯的名稱或對象下(Adobe已知這樣做),或者命令本身可能會調用該對話框。儘管如此,如果它所需要的只是點擊OK按鈕。

安娜森林所指出的,它的存在:http://jongware.mit.edu/pscs5js_html/psjscs5/pc_DocumentPrintSettings.html

也許問題出在打印設置的地方。嘗試使用打印從接口本身,看看它是否是你的打印機驅動程序來代替。

+0

在CS6中,Document具有一個PrintSetting對象,該對象又具有'printerName'屬性。 –

+0

@AnnaForrest:你是​​對的!它也在我指出的CS5版本中:http://jongware.mit.edu/pscs5js_html/psjscs5/pc_DocumentPrintSettings.html(帶有OP的腳註:版本*可以產生巨大的差異。希望沒有太多改變對於CC)。 – usr2564301