benötige weitere Infos
Hallo,
die beiden vbs dateien von hotschen mit dem Standarddrucker setzen funktinieren...-aus Adobe Reader klappt das mit dem Neusetzen vom Drucker...doch leider nicht unter Photoshop. PS nimmt immer den letzten verwendeten Drucker !
Jetzt habe ich den Scriptinglistener Plugin gefunden, der automatisch js und vb scripte erstellt von allem was man in PS gearde macht. - Ist eine super Werkzeug, nun habe ich die Druckrelevanten Zeilen in ein eigene .js gespeichert. Alle Druckoptionen werden gespeichert - Klasse, doch leider nicht der spezifische Drucker !
********************* script *********************************
// =======================================================
var id61 = charIDToTypeID( "setd" );
var desc14 = new ActionDescriptor();
var id62 = charIDToTypeID( "null" );
var ref2 = new ActionReference();
var id63 = charIDToTypeID( "Prpr" );
var id64 = stringIDToTypeID( "printOptions" );
ref2.putProperty( id63, id64 );
var id65 = charIDToTypeID( "Dcmn" );
var id66 = charIDToTypeID( "Ordn" );
var id67 = charIDToTypeID( "Trgt" );
ref2.putEnumerated( id65, id66, id67 );
desc14.putReference( id62, ref2 );
var id68 = charIDToTypeID( "T " );
var desc15 = new ActionDescriptor();
var id69 = charIDToTypeID( "PgSt" );
var desc16 = new ActionDescriptor();
var id70 = charIDToTypeID( "Rslt" );
var id71 = charIDToTypeID( "#Pxl" );
desc16.putUnitDouble( id70, id71, 300.000000 );
var id72 = charIDToTypeID( "PgPs" );
var id73 = charIDToTypeID( "PgPs" );
var id74 = stringIDToTypeID( "userDefined" );
desc16.putEnumerated( id72, id73, id74 );
var id75 = charIDToTypeID( "Left" );
var id76 = charIDToTypeID( "#Rlt" );
desc16.putUnitDouble( id75, id76, -9.600000 );
var id77 = charIDToTypeID( "Top " );
var id78 = charIDToTypeID( "#Rlt" );
desc16.putUnitDouble( id77, id78, 141.600000 );
var id79 = charIDToTypeID( "Scl " );
var id80 = charIDToTypeID( "#Prc" );
desc16.putUnitDouble( id79, id80, 100.000000 );
var id81 = charIDToTypeID( "PgSt" );
desc15.putObject( id69, id81, desc16 );
var id82 = charIDToTypeID( "PMps" );
var desc17 = new ActionDescriptor();
var id83 = charIDToTypeID( "ClrS" );
var id84 = charIDToTypeID( "ClrS" );
var id85 = charIDToTypeID( "ECMY" );
desc17.putEnumerated( id83, id84, id85 );
var id86 = charIDToTypeID( "Nm " );
desc17.putString( id86, "Japan Color 2002 Newspaper" );
var id87 = charIDToTypeID( "Inte" );
var id88 = charIDToTypeID( "Inte" );
var id89 = charIDToTypeID( "Clrm" );
desc17.putEnumerated( id87, id88, id89 );
var id90 = charIDToTypeID( "MpBl" );
desc17.putBoolean( id90, true );
var id91 = charIDToTypeID( "PMps" );
desc15.putObject( id82, id91, desc17 );
var id92 = stringIDToTypeID( "printOptions" );
desc14.putObject( id68, id92, desc15 );
executeAction( id61, desc14, DialogModes.NO );
// =======================================================
var id93 = charIDToTypeID( "Prnt" );
var desc18 = new ActionDescriptor();
var id94 = charIDToTypeID( "ClrS" );
var id95 = charIDToTypeID( "ClrS" );
var id96 = charIDToTypeID( "ECMY" );
desc18.putEnumerated( id94, id95, id96 );
var id97 = charIDToTypeID( "Nm " );
desc18.putString( id97, "Japan Color 2002 Newspaper" );
var id98 = charIDToTypeID( "Inte" );
var id99 = charIDToTypeID( "Inte" );
var id100 = charIDToTypeID( "Clrm" );
desc18.putEnumerated( id98, id99, id100 );
var id101 = charIDToTypeID( "MpBl" );
desc18.putBoolean( id101, true );
var id102 = charIDToTypeID( "Encd" );
var id103 = charIDToTypeID( "Encd" );
var id104 = stringIDToTypeID( "ASCII85" );
desc18.putEnumerated( id102, id103, id104 );
executeAction( id93, desc18, DialogModes.NO );
******************************************************************
Die vb Datei gibt mir leider einen Komplilierungsfehler in Microsoft VBScript an!
Zeile 99, Zeichen5, Fehler: Name erneut definiert, Code 800A0411 - hab keine Ahnung was das ist - denke mal ein Fehler von Adobe ?
************** vb Datei***********************************
REM =======================================================
DIM objApp
SET objApp = CreateObject("Photoshop.Application")
REM Use dialog mode 3 for show no dialogs
DIM dialogMode
dialogMode = 3
DIM id158
id158 = objApp.CharIDToTypeID( "setd" )
DIM desc27
SET desc27 = CreateObject( "Photoshop.ActionDescriptor" )
DIM id159
id159 = objApp.CharIDToTypeID( "null" )
DIM ref4
SET ref4 = CreateObject( "Photoshop.ActionReference" )
DIM id160
id160 = objApp.CharIDToTypeID( "Prpr" )
DIM id161
id161 = objApp.StringIDToTypeID( "printOptions" )
Call ref4.PutProperty( id160, id161 )
DIM id162
id162 = objApp.CharIDToTypeID( "Dcmn" )
DIM id163
id163 = objApp.CharIDToTypeID( "Ordn" )
DIM id164
id164 = objApp.CharIDToTypeID( "Trgt" )
Call ref4.PutEnumerated( id162, id163, id164 )
Call desc27.PutReference( id159, ref4 )
DIM id165
id165 = objApp.CharIDToTypeID( "T " )
DIM desc28
SET desc28 = CreateObject( "Photoshop.ActionDescriptor" )
DIM id166
id166 = objApp.CharIDToTypeID( "PgSt" )
DIM desc29
SET desc29 = CreateObject( "Photoshop.ActionDescriptor" )
DIM id167
id167 = objApp.CharIDToTypeID( "Rslt" )
DIM id168
id168 = objApp.CharIDToTypeID( "#Pxl" )
Call desc29.PutUnitDouble( id167, id168, 300.000000 )
DIM id169
id169 = objApp.CharIDToTypeID( "PgPs" )
DIM id170
id170 = objApp.CharIDToTypeID( "PgPs" )
DIM id171
id171 = objApp.StringIDToTypeID( "userDefined" )
Call desc29.PutEnumerated( id169, id170, id171 )
DIM id172
id172 = objApp.CharIDToTypeID( "Left" )
DIM id173
id173 = objApp.CharIDToTypeID( "#Rlt" )
Call desc29.PutUnitDouble( id172, id173, -9.600000 )
DIM id174
id174 = objApp.CharIDToTypeID( "Top " )
DIM id175
id175 = objApp.CharIDToTypeID( "#Rlt" )
Call desc29.PutUnitDouble( id174, id175, 141.600000 )
DIM id176
id176 = objApp.CharIDToTypeID( "Scl " )
DIM id177
id177 = objApp.CharIDToTypeID( "#Prc" )
Call desc29.PutUnitDouble( id176, id177, 100.000000 )
DIM id178
id178 = objApp.CharIDToTypeID( "PgSt" )
Call desc28.PutObject( id166, id178, desc29 )
DIM id179
id179 = objApp.CharIDToTypeID( "PMps" )
DIM desc30
SET desc30 = CreateObject( "Photoshop.ActionDescriptor" )
DIM id180
id180 = objApp.CharIDToTypeID( "ClrS" )
DIM id181
id181 = objApp.CharIDToTypeID( "ClrS" )
DIM id182
id182 = objApp.CharIDToTypeID( "ECMY" )
Call desc30.PutEnumerated( id180, id181, id182 )
DIM id183
id183 = objApp.CharIDToTypeID( "Nm " )
Call desc30.PutString( id183, "Japan Color 2002 Newspaper" )
DIM id184
id184 = objApp.CharIDToTypeID( "Inte" )
DIM id185
id185 = objApp.CharIDToTypeID( "Inte" )
DIM id186
id186 = objApp.CharIDToTypeID( "Clrm" )
Call desc30.PutEnumerated( id184, id185, id186 )
DIM id187
id187 = objApp.CharIDToTypeID( "MpBl" )
Call desc30.PutBoolean( id187, True )
DIM id188
id188 = objApp.CharIDToTypeID( "PMps" )
Call desc28.PutObject( id179, id188, desc30 )
DIM id189
id189 = objApp.StringIDToTypeID( "printOptions" )
Call desc27.PutObject( id165, id189, desc28 )
Call objApp.ExecuteAction( id158, desc27, dialogMode )
REM =======================================================
DIM objApp
SET objApp = CreateObject("Photoshop.Application")
REM Use dialog mode 3 for show no dialogs
DIM dialogMode
dialogMode = 3
DIM id190
id190 = objApp.CharIDToTypeID( "Prnt" )
DIM desc31
SET desc31 = CreateObject( "Photoshop.ActionDescriptor" )
DIM id191
id191 = objApp.CharIDToTypeID( "ClrS" )
DIM id192
id192 = objApp.CharIDToTypeID( "ClrS" )
DIM id193
id193 = objApp.CharIDToTypeID( "ECMY" )
Call desc31.PutEnumerated( id191, id192, id193 )
DIM id194
id194 = objApp.CharIDToTypeID( "Nm " )
Call desc31.PutString( id194, "Japan Color 2002 Newspaper" )
DIM id195
id195 = objApp.CharIDToTypeID( "Inte" )
DIM id196
id196 = objApp.CharIDToTypeID( "Inte" )
DIM id197
id197 = objApp.CharIDToTypeID( "Clrm" )
Call desc31.PutEnumerated( id195, id196, id197 )
DIM id198
id198 = objApp.CharIDToTypeID( "MpBl" )
Call desc31.PutBoolean( id198, True )
DIM id199
id199 = objApp.CharIDToTypeID( "Encd" )
DIM id200
id200 = objApp.CharIDToTypeID( "Encd" )
DIM id201
id201 = objApp.StringIDToTypeID( "ASCII85" )
Call desc31.PutEnumerated( id199, id200, id201 )
Call objApp.ExecuteAction( id190, desc31, dialogMode )
************************************************************
Also man per js, nicht einen bestimmten Drucker ansprechen kann dann doch über vb!
Wie könnte ich mit Hilfe des Erstellten vb script von Adobe, die Druckerausgabe auf einen bestimmten Drucker erzwingen. - Welche Befehle, bitte wenn es geht den vollständigen Code, hab nämlich keine Prog. Kenntnisse !
Toll wäre auch wenn im vb script gleich am Anfang steht, das das aktuell in Photoshop geöffnete Dokument ausgedruckt werden soll !
Vielen Tausen Dank
Gr. Jens