Zum Inhalt springen

Plugin im Adobe Illustrator


Genodi

Empfohlene Beiträge

Guten Morgen liebe Leute,

jetzt bin ich schon am verzweifeln und bevor ich mein grandioses Englisch im Adobe-Forum nutze, versuche ich es erst mal hier.

Ich programmiere in Visual Studios 2008 in C++ ein Pugin für den Adobe Illustrator.

Ziel des Plugins ist es, automatisch wenn ein MenuItem von mir geklickt wird, die einzelnen Zeichnungen (Artboards) als png zu exportieren.

Das MenuItem habe ich ohne Probleme implementieren können. Die IllustratorSDK hilf da ja auch sehr.

Nur mit dem exportieren haperts.

Ich nutze hierzu den ActionManager->PlayActionEvent() und generiere mir vorher die Parameter:


	AIActionParamValueRef myParams = nil;

	error = sAIActionManager->AINewActionParamValue(&myParams);

	if(myParams){


		error = sAIActionManager->AIActionSetStringUS(myParams, kAIExportDocumentNameKey, ai::UnicodeString("C:\test.png") );

		error = sAIActionManager->AIActionSetString(myParams, kAIExportDocumentFormatKey, "Adobe PNG Format");

		error = sAIActionManager->AIActionSetString(myParams, kAIExportDocumentExtensionKey, "png");

		error = sAIActionManager->AIActionSetBoolean(myParams, kAIExportDocumentSaveAllKey, true);

		error = sAIActionManager->AIActionSetBoolean(myParams, kAIExportDocumentSaveMultipleArtboardsKey, true);

		error = sAIActionManager->AIActionSetString(myParams, kAIExportDocumentSaveRangeKey, "5");


		error = sAIActionManager->RecordActionEvent(kAIExportDocumentAction, kDialogOff, myParams);


		if (sAIActionManager->InRecordMode){

			sAIActionManager->PlayActionEvent(kAIExportDocumentAction, kDialogOff, myParams);

		}


	}

Das Problem ist, dass sich immer der Dialog zum exportieren öffnet, obwohl ich "kDialogOff" ausgewählt habe und noch nicht einmal die Zeichnungen im unteren Bereich aktiv sind, obwohl ich den Parameter: kAIExportDocumentSaveMultipleArtboardKey auf true gesetzt habe. Der Dialog wird aber für PNG geöffnet. (Screenshot siehe Anhang)

Ich hoffe jemand kann mir da weiterhelfen, denn die Lösungen in Google funktionieren leider nicht, die habe ich alle schon ausprobiert.:(

Grüße Genodi

post-81339-14430449138545_thumb.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

Erste Grundregel der Fehlersuche: Rückgabewerte prüfen. Prüfen heißt nicht, in einer Variablen ablegen und dann ignorieren.

Die Variable error ist immer 0 also kein Fehler, dies habe ich mit dem Debugger geprüft.

Das \t in deinem Dateinamen-Literal wird übrigens als Tab interpretiert. Wenn da ein Backslash stehen soll, musst du im Literal zwei \ machen.

Wenn ich das mache erhalten ich einen Fehler mit folgendem Text:

Der Vorgang kann nicht vollständig ausgeführt werden, weil ein unbekannter Fehler aufgetreten ist. [DFER]

siehe Screenshot in anhang

post-81339-14430449139273_thumb.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

So jetzt kommt das nächste Problem:

Es funktioniert im Grunde, aber scheinbar reichen dir Parameter nicht. Laut Hilfe von Adobe sind das alle Params für die kAIExportDocumentAction.

Wenn der dann versucht zu schreiben, dann wird eine *.tmp$$ Datei mit 0 Bytes geschrieben und es kommt ein Fehler "ID=-108", dass nicht genug Speicher da ist.

Meine VM hat 4 GB und es sind noch locker 2 GB RAM frei. Wenn der Exportvorgang startet, dann geht im TaskManager die RAM-Nutzung auch 3,5 GB hoch also über 1 GB mehr RAM für den Illustrator.

Das kann doch nicht sein oder?

Weiß jemand noch etwas hierzu zu ergänzen?

EDIT:

Der export dauert auch ziemlich lange!

Bearbeitet von Genodi
Ergänzung
Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja manuell geht es, da kommt ein Dialog mit dem ich die Auflösung etc. einstellen kann, da habe ich das Gefühl, dass ich das als Parameter angeben muss, ich weiß aber nicht wie die Parameternamen sind (meistens char[4]) die ich dann bestücken kann, das ist auch nicht bei Adobe dokumentiert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja da bin ich schon länger dran, aber bisher ohne Erfolg, ich darum führe ich parallel hier noch ein Thema, um schneller an eine Lösung zu kommen.

Dort wird das Bild vorher angepasst, damit es exportiert werden kann. In der letzten Lösung wird das gesat Dokument zum PNG exportiert, das ist aber nicht mein Ziel, ich möchte jedes Artboard exportieren können. Wenn ich das mit der normalen Exportieren-Funktion mache, dann gibt es keine Probleme, ich versuche es gerade mit dem ai_plugin_rasterize. Ich weiß aber nicht ob das die Lösung ist, die ich möchte, weil das Dokument selbst "nicht" verändert werden darf.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...