[GastForen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Forenindex -- Lesezeichen

15 Lesezeichen für skript

Wörterbuch-Problem in CS6
Hallo zusammen,

bzgl. der Wörterbücher in InDesign mache ich entweder etwas falsch oder ich habe bis heute nicht verstanden wie das funktioniert…

Wir haben gerade einen Job abgeschlossen, bestehend aus knapp 500 einzelnen ID-Dateien. Im Laufe des Jobs habe ich immer mal wieder falsche oder unerwünschte Silbentrennungen (meist nicht-deutsche Wörter) ins Benutzerwörterbuch aufgenommen (siehe Screenshot "user_dictionary.pdf").

Selbstverständlich habe ich in den Voreinstellungen für die Dokumente die Option "Benutzerwörterbuch ins Dokument einlesen" aktiviert (siehe Screenshot "dictionary_preferences.pdf).

Etwa drei Wochen lang wurden die Dokumente immer wieder geöffnet und bearbeitet, mal auf Computer A, mal über's Netzwerk auf Computer B. Die Dokumente liegen und lagen stets am gleichen Ort auf Computer A. Ausschließlich auf Computer A wird das auch das Benutzerwörterbuch gepflegt. Es wurde nicht exportiert und auf Computer B übertragen. Nicht ein einziges Mal wurde beim Öffnen eines Dokumentes gemeckert, dass mit den Trennungsausnahmen etwas nicht stimmt. Weder auf Computer A noch auf Computer B.

Seit gestern weist InDesign plötzlich auf Computer A beim Öffnen eines beliebigen Dokumentes dieses Jobs auf abweichende Trennungsausnahmen hin (Screenshot "nervige_frage.pdf"). Ohne dass ich an den Einstellungen von InDesign oder sonstwas etwas verändert hätte. Auf Computer B kommt dieser Hinweis nicht. Gerade mit ca. 20 zufällig ausgewählten Dateien getestet.

Hat jemand eine Erklärung dafür oder kann mir eventuell die "Erleuchtung" geben? Die InDesign-Hilfe macht mich auch nicht schlauer…
...
Ralf Hobirk
15. Nov 2012, 18:00
Tabellenbreite proportional skalieren
Das Script habe ich grade für eine (eigentlich unsympatische) Anfrage im englischen Forum erstellt.
War eh halb fertig ;)
Ich, nicht das Script.
Das war dreiviertelfertig.
Jetzt ist es ganz fertig.

Also dachte ich, hier hat vielleicht auch einer Freude daran:
Es rechnet die Breite einer Tabelle aus (ohne Konturen am Rand) und zeigt diese in einem Dialog an, so dass ich eine neue Breite eingeben kann. Alle Spalten werden dann proportional verbreitert oder -schmälert, um die neue Breite zu erreichen.

Code
tell application "Adobe InDesign CS3" 
set ms to selection
set aTable to parent of item 1 of ms
if class of aTable ? table then
set aTable to parent of aTable
if class of aTable ? table then
display dialog "no table selected"
return
end if
end if

set nC to count columns in aTable
set tWidth to 0.0
repeat with n from 1 to nC
set aWidth to (width of (column n of aTable))
set tWidth to tWidth + aWidth
end repeat

set myDialog to make dialog with properties {name:"Set Width of Table"}
tell myDialog
make dialog column
tell the result
set tNuWidth to make measurement editbox with properties {edit value:(tWidth * 2.83465), edit units:millimeters}
end tell
end tell
set nu to show myDialog
if nu is true then
set nuWidth to (edit value of tNuWidth) * 0.35278
set scaleClm to nuWidth / tWidth
repeat with n from 1 to nC
set aWidth to (width of (column n of aTable))
set width of column n of aTable to (scaleClm * aWidth)
end repeat
else
destroy myDialog
return
end if
end tell

...
Gerald Singelmann
11. Sep 2007, 19:13
for-Schleife einmal ohne, einmal mit geschweiften Klammern
Hallo, miteinander!
Kai und ich rätseln schon ein paar Tage. Weshalb funktioniert das folgende Script. Es soll abfragen, ob im Dokument die Farbe "Test" bereits vorkommt. Falls NEIN, die Farbe anlegen, falls JA, nichts weiter tun. Daß dieses (erfolgreich auszuführende) Script zustande kam, beruht übrigens auf einem Schreibfehler. Wir hatten schlicht und ergreifend die geschweiften Klammern zu setzen vergessen ;-)
Code
for (var n=0; n< app.activeDocument.swatches.length; n++) 
if(app.activeDocument.swatches[n].name == "Test"){
exit ();
}
else (app.activeDocument.swatches[n].name != "Test")
{app.activeDocument.colors.add({name:"Test", model:ColorModel.PROCESS, colorValue:[0, 100, 100, 0]});
};


Im folgenden Script hingegen wird ein Fehler geworfen: "Dieser Farbfeldname wird bereits verwendet. Wählen Sie einen anderen Namen." Logisch (jedenfalls denke ich mir das so), da das Script mehrmals versucht eine Farbe mit gleichem Farbfeldnamen anzulegen.
Code
//JS soll prüfen, ob ein Farbname im Dokument enthalten ist. 
//Falls JA, nichts weiter tun
//Falls NEIN eine Farbe mit dem geprüften Namen anlegen:

//DIES FUNKTIONIERT NICHT, DA DAS SCRIPT VERSUCHT DIE FARBE "Test" MEHRMALS ANZULEGEN.

for (var n=0; n< app.activeDocument.swatches.length; n++){
if(app.activeDocument.swatches[n].name == "Test"){
exit ();
}
else (app.activeDocument.swatches[n].name != "Test")
{app.activeDocument.colors.add({name:"Test", model:ColorModel.PROCESS, colorValue:[0, 100, 100, 0]})
};
};

Aber weshalb funktioniert die obere Version des Scripts ohne die geschweiften Klammern um die Anweisungen der for-Schleife herum?
...
Uwe Laubender
23. Sep 2009, 21:18
Textrahmen, die ein bestimmtes Absatzformat enthalten, auf andere Ebene kopieren per Skript
Damit?

Code
// Adobe InDesign CS3 Script 

Absatzformat = app.activeDocument.paragraphStyles.item( 'Normal' );
Ebene = app.activeDocument.layers.item( 'Ebene 1' );

app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing;
try { app.findTextPreferences.appliedParagraphStyle = Absatzformat; } catch(e) { alert( 'Fehler\rAbsatzformat ok?' )}

f = app.activeDocument.findText();
for ( i = 0; i < f.length; i++ )
try { f[i].parentTextFrames[0].itemLayer = Ebene; } catch(e) { alert('Fehler\rEbene ok?\rEventuell steckt der Absatz im Überlauf.' )}


Mist, Du brauchtest es für CS2.
Damit?

Code
// Adobe InDesign CS2 Script 

Absatzformat = app.activeDocument.paragraphStyles.item( 'Normal' );
Ebene = app.activeDocument.layers.item( 'Ebene 1' );

app.findPreferences = app.changePreferences = NothingEnum.nothing;
try { app.findPreferences.appliedParagraphStyle = Absatzformat;} catch(e) {alert('Fehler\rAbsatzformat ok?')}

f = app.activeDocument.search();
for (i = 0; i < f.length; i++)
try {f[i].parentTextFrames[0].itemLayer = Ebene;} catch(e) {alert('Fehler\rEbene ok?\rEventuell steckt der Absatz im Überlauf.')}

...
Martin Fischer
23. Jan 2008, 22:52
[JS] Barcode Generator Skript - TESTEN
 
Hallo,

im engl. Skripting-Forum wurde ein Skript zur Erstellung von EAN13/ISBN-Barcodes veröffentlicht.

Hat irgendjemand die Möglichkeit einen mit diesem Skript erzeugten Barcode mit einem Barcode-Leser zu prüfen?

Hier der Link:
http://www.adobeforums.com/...?14@581.kUhHholPQaO@
...
zaphodbeeblebroxx
26. Sep 2007, 14:33
AutoFormat in InDesingn CS3
> Mit app.documents[0] läuft das eventScript mit dem event 'afterOpen'.

Aber Achtung:
Ist bereits ein Dokument geöffnet, dann wird mit app.documents[0] das zuletzt aktive (also das, welches vor dem Öffnen des neuen Dokuments aktiv war) adressiert.

Das gerade geöffnete Dokument kann sicherer mit app.documents[-1] adressiert werden. Nur wenige Sekunden später, wenn es angezeigt wird, stimmt diese Behauptung nicht mehr. ;-)
...
Martin Fischer
8. Jul 2008, 17:33
Druckordner erstellen mit InDesign CS
Mit dem Thema habe ich gerade auch rumgespielt, weil ein Kunde in CS3 ein Problem mit einem CS1-Skript hat, das die im Dokument verwendeten Schriften in einen bestimmten Ordner kopieren soll.

Das folgende kleine Skript hat den Vorteil, daß es auch auf dem Mac läuft.
Allerdings ist es wg. dem Preflight, der nicht zu unterdrücken ist, etwas langsam.
Immerhin lassen sich die Übertragung der verknüpften Graphiken, Preflight-Fehlermeldungen und ein Report verhindern.

Das Skript fragt nach einem Zielordner.
In diesen Zielordner wird die aktuelle Datei verpackt - und nimmt die (kopierberechtigten) Schriften in den Unterordner "Fonts" mit.
Im Zielordner wird die kopierte InDesign-Datei gelöscht und der Fonts-Ordner bekommt den Namen der InDesign-Datei + '.fonts'. Dort liegen die im Dokument verwendeten Fonts.
Also bei einer "haeberle.indd' bleibt ein Ordner "haeberle.fonts" übrig.

Code
//fontsPackage.jsx  
//DESCRIPTION: Kopiert die im Dokument verwendeten Schriften in einen auszuwählenden Ordner

var d = app.activeDocument;
var f = Folder.selectDialog( 'Verzeichnis für die Ablage der Schriften', new Folder() );
if ( f == null ) exit();

if (f.toString() == d.filePath)
{
var f = new Folder (f + '/Fonts');
f.create();
}
d.packageForPrint( f, true, false, false, false, true, false, 'Fonts', false );
File( f + '/' + d.name ).remove();
var fName = d.name.replace( /.indd/g, '.fonts' );
var renF = Folder( f + '/Fonts' ).rename( fName );
if (renF == false) // Fonts-Ordner mit Dateinamen bereits vorhanden
{
var r = confirm ( 'Achtung!\rAlten Fonts-Ordner \"' + fName + '\" löschen?');
if (r == false)
exit();
// Löschen der Fonts im alten Fonts-Ordner
var s = Folder( f + '/' + fName).getFiles();
for ( i = s.length-1; i >= 0; i--)
s[i].remove();
// Löschen des alten Fonts-Ordners
Folder( f + '/' + fName).remove();
var renF = Folder( f + '/Fonts' ).rename( fName );
}

Vielleicht kann's die eine oder der andere mal brauchen.
...
Martin Fischer
1. Feb 2008, 21:41
Doppelseiten alphabetisch ordnen nach Absatzformat?
So sollte es auch in CS2 laufen:

Code
d = app.activeDocument;   
l = d.layers.item ('Ebene 2');

for ( i = 0; i < d.spreads.length; i++ )
{
o = d.spreads[i].pageItems;
if ( o.length> 1 )
{
g = d.spreads[i].groups.add( o );
duppel( g );
g.ungroup();
}
else if ( o.length == 1 )
{
duppel(o[0] );
}
}
l.groups.everyItem().ungroup();

function duppel( x )
{
newObj = x.duplicate( [0,0] );
newObj.itemLayer = l;
}

...
Martin Fischer
1. Feb 2008, 10:03
Indesign Farbeinstellungen vorgeben
Das auskommentieren ist absicht gewesen. habs mal hier im Forum auskommentiert - nicht das irgendwas komische passiert.

ich hab jetzt mal dran weitergebastelt aber er aktiviertmir nicht das "TIP Zeitung" - es bleibt immer "Benutzerdefiniert" bei Farbprofil stehen!

Hier das momentane Script:

// Farbmanagement - Einstellungen (c) alex rath

with (app.colorSettings)
{

enableColorManagement = true;
//cmsSettingsPath = "W:\Allgem\Color\Settings";
//cmsSettingsPath = "C:\Dokumente und Einstellungen\tipdvs\anwendungsdaten\Adobe\Color\Settings";
cmsSettings = "TIP Zeitung";
rgbPolicy = ColorSettingsPolicy.convertToWorkingSpace;
cmykPolicy = ColorSettingsPolicy.preserveEmbeddedProfiles;
workingSpaceRGB = "Adobe RGB (1998)";
workingSpaceCMYK = "ISOnewspaper26v4";

alert("Voreinstellungen LAYOUT eingerichtet!");
}


Danke für die hilfe....

alex
...
alex77
15. Jan 2008, 10:03
Objekt als EPS exportieren
Antwort auf: Kann ich es erreichen, dass das exportierte EPS, den alten Namen
behält und am alten Speicherort das alte EPS überschreibt?
Oder mit dem alten Namen auf den Desktop speichert


Was ist "der alte Namen"?

Immer noch schmutzig (copy & paste), aber bereits mit etwas mehr Komfort:
Code
// exportSelection2EPS.jsx  

if ((app.documents.length == 0) || (app.selection.length == 0))
exit();

var mySel = app.selection;
var myPage = getPage(mySel[0]);
var myPageDigit = makeDigits(myPage.name,3) + "";
var myDocName = app.activeDocument.name;

if (app.activeDocument.saved == true) {
try {
Folder(app.activeDocument.filePath + "/eps").create()
}
catch (e){}
var myFilePath = app.activeDocument.filePath + "/eps"
}
else {
var myFilePath = "~/Desktop";
}

for (k = 0; k < mySel.length; k++)
epsExport( mySel[k], k);

function epsExport(o, c)
{
o.select( SelectionOptions.replaceWith );
oGB = o.visibleBounds;
app.copy();
newDoc = app.documents.add() ;
for (s = 0; s < newDoc.masterSpreads.length; s++)
for (p = 0; p < newDoc.masterSpreads[s].pages.length; p++)
with (newDoc.masterSpreads[s].pages[p].marginPreferences)
{
left = right = top = bottom = 0;
}

with (newDoc.pages[0].marginPreferences)
{
left = right = top = bottom = 0;
}
pH = oGB[2] - oGB[0];
pW = oGB[3] - oGB[1];
try {
with ( newDoc.documentPreferences)
{
pagesPerDocument = 1;
pageHeight = pH;
pageWidth = pW;
}
}
catch (e)
{
alert ( 'Unzulässige Seitengröße:\r' + pW + ' x ' + pH);
}
app.paste();
newDoc.pages[0].pageItems[0].move([0, 0]);
app.epsExportPreferences.pageRange = newDoc.pages[0].name;
var myFileName = myDocName + '_' + myPageDigit + '_' + c + '.eps';
var myFile = File(myFilePath + "/" + myFileName);
newDoc.pages[0].pageItems[0].exportFile(ExportFormat.epsType, myFile);
newDoc.close(SaveOptions.no);
}

function getPage(myObject) {
if (!myObject) {
alert("Overflow!")
exit();
}
if ((myObject.constructor.name == "Page") || (myObject.constructor.name == "Spread"))
return myObject

if ((myObject.constructor.name == "Character")
|| (myObject.constructor.name == "InsertionPoint")
|| (myObject.constructor.name == "Word")
|| (myObject.constructor.name == "Line")
|| (myObject.constructor.name == "TextRange"))
{
if ((app.version +"").substr(0,1) == "4") return getPage(myObject.parentTextFrames[0])
else if ((app.version +"").substr(0,1) == "3") return getPage(myObject.parentTextFrame)
}
return getPage(myObject.parent)
}

function makeDigits(theName, theDigits) {
var theFills = theDigits - (theName + "").length;
for (oneDigit = 0; oneDigit < theFills; oneDigit++) {
theName = "0" + theName;
}
return theName;
}


Antwort auf: Gibt es online eine Liste mit einfachen (für Anfänger) Script Codes?

Gerald Singelmann hat Quellen zum Skripten-Lernen zusammengestellt: http://indesign-faq.de/...scripting-lernen-wo/
...
Martin Fischer
21. Jan 2008, 08:39
vertikale Hilfslinien entfernen
Tut's das Script?


Code
allGuides = app.documents[0].guides; 
for (n = allGuides.length-1; n>=0; n--) {
if (allGuides[n].orientation == HorizontalOrVertical.VERTICAL) {
allGuides[n].remove();
}
}


(Martin kann das bestimmt auch in einer Zeile ;) )
...
Gerald Singelmann
18. Jan 2008, 09:41
Alle offenen Dateien speichern... Skript?
Hallo Gerald,

Um alle offenen Dokumente mit "sichern unter" zu sichern und dabei durch Löschen der History ihre Dateigröße zu verringern, verwende ich folgendes Skript. Wink

Code
// saveOpenDocs.jsx 
//DESCRIPTION: Sichert alle geöffneten Dokumente und reduziert ihre Dateigröße

var myDocs = app.documents;
var unsavedDocs = 0;
for (oneDoc = 0; oneDoc < myDocs.length; oneDoc++)
(myDocs[oneDoc].saved == true)
? myDocs[oneDoc].save(myDocs[oneDoc].fullName)
: unsavedDocs++;

if (unsavedDocs > 0)
alert (unsavedDocs + " Dokument(e) nicht gesichert!")


Es sichert nur die Dokumente, die bereits einmal gesichert worden sind (also ihre pysikalische Heimat auf dem Datenträger gefunden haben).
...
Martin Fischer
11. Jan 2008, 15:50
Tabellenbreite proportional skalieren
Hallo Gerald,

aus aktuellem Anlaß (weil ich's grad selbst so brauche), habe ich in Deinem Skript eine kleine Modifikation gemacht:

Wenn die Tabelle in einem Textrahmen platziert ist, wird im Dialogfeld die Breite des Textrahmens als Ziel für die Gesamtbreite der Tabelle vorgeschlagen.

Andernfalls (z.B. wenn die Tabelle in einer Tabellenzelle platziert ist) wird weiterhin, wie in Deinem Skript, die aktuelle Tabellenbreite eingeblendet.

Code
bGoOn = true; 
aTable = app.selection[0];
if (aTable.constructor.name != "Table") {
aTable = aTable.parent;
if (aTable.constructor.name != "Table") {
aTable = aTable.parent;
if (aTable.constructor.name != "Table") {
alert("Es muss ein Text in einer Zelle markiert sein");
bGoOn = false;
}
}
}
if (bGoOn) {
nc = aTable.columns.length;
tWidth = 0.0;
for (n=0; n < nc; n++) {
tWidth += aTable.columns[n].width;
}
// die Tabelle befindet sich in einem Textrahmen
if (aTable.parent.constructor.name == "TextFrame") {
tfBounds = aTable.parent.geometricBounds;
// vorgeschlagener Wert für die Gesamtbreite der Tabelle = Breite des Textrahmens
myValue = tfBounds[3] - tfBounds[1];
}
else {
// vorgeschlagener Wert für die Gesamtbreite der Tabelle = aktuelle Tabellenbreite
myValue = tWidth;
}
var myDialog = app.dialogs.add({name:"Tabellenbreite"});
with(myDialog.dialogColumns.add()){
var nuWidthField = measurementEditboxes.add({editValue:(2.83465 * myValue), editUnits:MeasurementUnits.millimeters, smallNudge:0.5});
}

var myResult = myDialog.show();
if(myResult == true){
var nuWidth = nuWidthField.editValue * 0.35278;
myDialog.destroy();
scaleClm = nuWidth / tWidth;
for (n=0; n < nc; n++) {
aTable.columns[n].width = scaleClm * aTable.columns[n].width;
}
}
else{
myDialog.destroy();
}
}

...
Martin Fischer
17. Sep 2007, 09:25
JSFindschange vereinfachen
Quarz,

fillColor ist schon richtig.
Aber Du bist einem Bug auf die Schliche gekommen.

Die Farbe, nach der Du im Dokument suchst, muß - für das Script - auch auf Programmebene vorhanden sein (also da, wo kein Dokument geöffnet ist).

Wenn sie auch dort vorhanden ist, kannst Du sie im Dokument suchen - wahrscheinlich auch mit JSFindChange.

Diesem Bug sind wir vor ca. 2 Wochen im InDesign Scripting-Forum auf die Schliche gekommen (Dave Saunders hat den workaround gefunden).
...
Martin Fischer
9. Aug 2007, 17:37
Eventskrips für CS3
Zitat aber Herr Singelmann hat gesagt

Holy smoke! Bitte meißelt meine Worte nicht in Marmor. Wenn überhaupt meißeln, dann in Vanillepudding, da kriegt man sie wenigstens wieder raus.

Ich habe nur den Scripting Guide zitiert (zu laden unter http://www.adobe.com/...scripting/index.html in der Mitte auf "Scripting resources" klicken), weil ich es plausibel finde, auch diesen Part unser Scripte sprachneutral zu halten.

Dort steht
Zitat in InDesign scripting, menuItems, menus, menuActions,and submenus are all referred to by name. Because of this, scripts need a method of locating these objects that is independent of the installed locale of the application. To do this, you can use an internal database of strings that refer to a specific item, regardless of locale

und
Zitat Note:It is much better to get the locale-independent name of a menuAction than of a menu, menuItem, or submenu, because the title of a menuAction is more likely to be a single string. Many of the other menu objects return multiple strings when you use the getKeyStrings method.


Das Beispielscript im Guide zum finden des neutralen Strings ist
Code
var myString = ""; 
var myMenuAction = app.menuActions.item("Convert to Note");
var myKeyStrings = app.findKeyStrings(myMenuAction.name);
if(myKeyStrings.constructor.name == "Array"){
for(var myCounter = 0; myCounter < myKeyStrings.length; myCounter ++){
myString += myKeyStrings[myCounter] + "\r";
}
}
else{
myString = myKeyStrings;
}
alert(myString);


Um daraus die momentan aktuelle Sprache zu machen
Code
var myString = app.translateKeyString("$ID/NotesMenu.ConvertToNote"); 


So, jetzt ist alles wieder schön relativiert und eingeebnet :)

Danke
...
Gerald Singelmann
28. Jun 2007, 23:09

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
26.04.2019

Äh, der Kunde hat leider kein InDesign… Aber Office!

HUSS-MEDIEN GmbH
Freitag, 26. Apr. 2019, 17.00 - 20.00 Uhr

Vortrag

Willkommen zur ersten IDUGB im Jahr 2019. Und gemäß Heikes Ansatz, dass die IDUG „mehr als InDesign“ ist, schauen wir dieses Mal ein wenig über den Tellerrand. Okay, auch wenn wir gern über Office lächeln: Es muss jetzt mal sein Egal was man von Office hält, als InDesign-Anwender*in kommt man immer wieder in Kontakt zu Word, Excel und PowerPoint. Es fängt bei Texten und Tabellen an, die in InDesign verarbeitet werden wollen, bis hin zu PowerPoint-Vorlagen im Corporate Design, die Kunden bestellen. Teil 1: Was kann Office alles, was können wir eventuell nutzen? Keine Angst: Ihr müsste jetzt nicht zum Office-Crack werden. Dann dafür gibt es ja Leute, wie Stephan! Er wird euch helfen, zeigt euch im ersten Teil des Abends maßgeblich, was Office so alles kann, was aber auch nicht. Es geht um ganz klassische Frage von InDesigner*innen – gibt es Grundlinienraster, Schnittmasken oder Sonderfarben? Daneben gib es aber auch Grundlegendes, z.B. wie man überhaupt mit der Arbeit in Office loslegt, wo man wichtige Einstellungen findet und wie dieses Office überhaupt so tickt. Wenn Ihr also mal Dokumentenvorlagen für Kunden gestaltet, kennt ihr schon die Möglichkeiten und könntet schon während der Gestaltungsphase auf die Besonderheiten eingehen. Aber Keine Angst, es gibt immer noch genug für uns in InDesign zu tun!

Vollständige Informationen und Anmeldung via https://idug-berlin.de/idugb44/

Ja

Organisator: InDesign User Group Berlin

Kontaktinformation: InDesign User Group Berlin, E-Mailmail AT idug-berlin DOT de

https://idug-berlin.de

Veranstaltungen
06.05.2019 - 07.05.2019

Stuttgart
Montag, 06. Mai 2019, 09.30 Uhr - Dienstag, 07. Mai 2019, 17.30 Uhr

Schulung, Seminar

Unsere Schulung „Zweitägige Weiterbildung zum Cleverprinting-Reinzeichner“ bietet allen Anwendern, die in Agenturen oder freiberuflich als Reinzeichner bzw. in der Reinzeichnung arbeiten, topaktuelles Grafik- und PrePress-Fachwissen rund um das Thema „Druckdatenerstellung mit InDesign, Photoshop, Acrobat“.

Ja

Organisator: Cleverprinting.de

Zweitägige Weiterbildung zum Cleverprinting-Reinzeichner