Suche // Search:

23.11.2011

Dialog für Anweisungsenden modifizieren
//
Modify statement completion dialog

Der Skript-Editor in Designer bietet eine nützliche Funktion zum Anzeigen eines Dialogs mit möglichen Anweisungsenden während der Eingabe von Skripten inklusive der Beschreibung der Parameter.
Toll, aber obwohl die ganze Welt mittlerweile mit Monitoren mit riesigen Auflösungen benutzt, ist der Dialog für diese Funktionen seit Ewigkeiten winzig klein.
Bei Anweisungen wie z.B. "resolveNodes" ist nur ein kleiner Teil der Beschreibung zu lesen und man muss umständlich in dem Dialog scrollen.
Irgendwie mehr hinderlich als nützlich.

Es ist an der Zeit, das zu ändern.
Die folgenden Schritten zeigen, wie man den Dialog mittels der Freeware ResHacker anpassen kann.


Die Modifikation muss in der DesignerResources.dll erfolgen, wenn Ihr Designer eine andere Sprache als Englisch verwendet.
Diese finden Sie im Designer Programmordner z.B. unter C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\DE\DesignerResources.dll.

Wenn Ihr Designer nur in englischer Sprache vorliegt, dann müssen Sie stattdessen die Datei FormDesigner.exe verändern!!!
Diese finden Sie z.B. unter C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\FormDesigner.exe.


Diese Anleitung gilt für die DesignerResources.dll, aber die Vorgehensweise für die FormDesigner.exe ist quasi identisch.

The script editor in Designer has a nice functionality to display a dialog for statement completions while typing scripts including a description of the parameters.
Great, but although the whole world already uses monitors with huge resolutions this dialog is still very tiny.
With statements such as "resolveNodes" you only can see a small portion of the description and laborious have to scroll manually in the dialog.
More hindering that useful.

It's time to change it.
The followings steps explain how to change the dialog with the freeware ResHacker.


The modification has to be done in the DesignerResources.dll, when your Designer runs in another language than English.
You can find the file in the Designer program folder such as C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\DE\DesignerResources.dll.

If you Designer is only in englisch, then you have to modifiy the FormDesigner.exe instead!!!
It located under C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\FormDesigner.exe.

This instruction is related to the DesignerResources.dll, but the procedure for the FormDesigner.exe quasi is identically.




Zu kleiner Dialog für Anweisungsenden im Skript-Editor
//
Too small dialog for statement completion in script editor





Modifikation der DesignerResources.dll - Schritt für Schritt (Auf Ihre eigene Gefahr hin!!!)
//
Modification of DesignerResources.dll - Step by step (At your own risk!!!)



1. Öffnen Sie die DesignerResources.dll mit ResHacker und suchen sie des Dialog 281 im Dialog-Baum. Eine Vorschau des Dialogs wird automatisch angezeigt.
//
Open the DesignerResources.dll in ResHacker and look for dialog 281 in the dialog tree. A preview of the dialog is shown automatically.



2. Markieren Sie die Dialogvorschau und drücken Sie Strg+E, um den Dialog Editor zu öffnen.
//
Select the dialog preview and press crtl+E to open the dialog editor.



3. Ändern Sie die Werte für Breite (144 > 400) und Höhe (137 > 300) und drücken Sie OK.
//
Change the values for width (144 > 400) and height (137 > 300) an press OK.


4. Der Dialog ist nun vergrößert, müssen noch die beiden Felder angepasst werden. 
//
The dialog now is resized. Now the both fields needs to be adjusted. 



5. Markieren Sie das Listenfeld (weiß) und drücken Sie Strg+O, um den Control Editor zu öffnen.
//
Select the listbox (white) and press ctrl+O to open the control editor.



6. Ändern Sie die Werte für Breite (144 > 400) und Höhe (85 > 150) und drücken Sie OK.
//
Change the values for width (144 > 400) and height (85 > 150) an press OK.




7. Das Listenfeld ist nun auch angepasst.
//
Now the listbox is adjusted too.



8. Markieren Sie das Textfeld (grau) und drücken Sie wieder Strg+O.
//
Select the textfield (gray) and press ctrl+O again.


9. Passen Sie die Werte für Oben (86 > 151), Breite (144 > 400) und Höhe (85 > 149) an und drücken Sie OK.
//
Adjust the values for top (86 > 161), width (144 > 400) and height (85 > 149) an press OK.



10. Die Arbeit am Dialog ist damit abgeschlossen.
//
The work at the dialog is finished.


11. Um die Änderungen in die DLL zu schreiben, klicken Sie nun aus Skript kompilieren.
//
To apply the changes to the DLL press compile script.




12. Speichern Sie die DLL als DesignerResources.dll an einem beliebigen Ort.
//
Save the DLL as DesignerResources.dll in any location.





13. Ersetzen Sie die originale DLL (Backup machen!!!) durch Ihre neue im Designer-Programmordner.
//
Replace the original DLL (make a backup!!!) with your new one in the Designer programm folder.




14. Starten Sie Designer und testen Sie den Skript-Editor. Der Dialog ist nun auch für umfangreiche Beschreibungen ausreichend dimensioniert.
//
Start Designer and check the script editor. The dialog now has enough space even for large descriptions.



22.11.2011

Lesezeichen in XFA-Formularen
//
Bookmarks in XFA forms

Mit der Dokumentation von Features hat es Adobe ja manchmal nicht so.
So liefert die Suche nach dem Wort "bookmark" in der aktuellen ADEP Designer Hilfe genau 0 Treffer.
Dabei ist es sehr wohl möglich, Lesezeichen in XFA-Formularen zu erstellen.
Super praktisch das, kann man sich doch das nachträgliche Hinzufügen über Acrobat sparen.

Lesezeichen werden unter dem extras-Objekt von Teilformularen, Feldern oder Inhaltsbereichen erstellt.
Das können Sie entweder per Hand in der XML-Quelle machen oder dafür auch dieses Makro benutzen.

HINWEIS:
Das Makro funktioniert grundlegend auch mit Designer ES2, d.h. im Formularentwurf werden die Lesezeichen auch erstellt.
Aber Designer ES2 scheint die PDF's anders zu rendern als der ADEP Designer, weshalb die Lesezeichen im fertigen PDF-Formular dann nicht angezeigt werden.
Da es von Designer ES2 mehrere Versionen gibt (mit Acrobat, Stand-Alone, mit Workbench, with SAP ...) kann es sein, dass es in der einen funktioniert und in der anderen nicht.


It seems Adobe sometimes doesn't bother to document features.
So the search for the term "bookmark" in the actual ADEP Designer help returns exactly 0 results.
Thereby it's really possible to create bookmarks in XFA forms.
Damned useful as you don't have to do this in Acrobat afterwards.

Bookmarks are created under the extras object of subforms, fields or areas.
You can do this either manually in the XML source or with this macro.

PLEASE NOTE:
Basically this macro will also work in Designer ES2.
This means the bookmarks are created correctly in the form template.
But, Desiger ES2 seams to render the forms in another way as ADEP Designer does, which why the bookmarks aren't visible in the finale PDF form.
As there are several versions of Designer ES2 available (with Acrobat, stand alone, with Workbench, with SAP ...) it's possible that it works with one them but not with the others .



Funktionsweise des Makro
//
How the macro works

Schritt 1 – Zuerst ein oder mehrere Objekte markieren und Makro aus dem Menü aufrufen
//
Step 1 – Select one or more objects first and then execute macro from menu


Schritt 2 – Flex Dialog des Macros öffnet sich
//
Step 2 – Flex Dialog of the macro opens

Schritt 3 – Einstellungen für das erste Objekt vornehmen und mit ">" zum nächsten wechseln
//
Step 3 – Make settings for the first object and go to the next with ">"

Schritt 4 – Einstellungen für alle weiteren Objekte vornehmen und abschließend mit "OK" bestätigen
//
Step 4 – Make settings for all following objects and finally confirm with "OK"

Schritt 5 – Die Lesezeichen werden unter dem Extras-Objekt eines jeden ausgewählten Objekts erstellt
//
Step 5 – The bookmarks will be created under the extras object of each of the selected objects

Schritt 6 – Im PDF-Viewer werden die Lesezeichen angezeigt
//
Step 6 – The PDF viewer shows the bookmarks




Aktualisierungen in Version 0.6
//
Updates in Version 0.6
  1. Name des Lesezeichens lässt sich auch von einer Objekteigenschaft (Objektname, Klassenname oder Beschriftung) ableiten
    //
    The bookmark name can be deduced from an object property (object name, class name or caption) 
  2. Das Makro kann nun für mehrere, gleichzeitige Auswahlen Lesezeichen mit individuellen Einstellungen erstellen
    //
    The macro now can create bookmarks for several selections at once with individual settings 
  3. Objekte, bei denen keine Lesezeichen unterstützt werden, werden vom Makro ignoriert
    //
    Objects that do not support bookmarks are ignored by the macro 
  4. Wird kein Name für das Lesezeichen eingegeben, wird automatisch der Name "Lesezeichen" verwendet
    //
    When there is no name defined for the bookmark it will be automatically named "bookmark" 

Aktualisierungen in Version 0.7
//
Updates in Version 0.7
  1. Wenn das Marko aufgerufen wird, ohne dass ein Objekt markiert ist, läd das Makro alle unterstützten Objekte aus dem Formularentwurf
    //
    When the macro is executed without any selected object, the macro loads all supported objects from the template 
  2. Das Ändern der Anzeigesprache im Makro verändert nun auch die Sprache in den Berichten usw.
    //
    Changing the UI language of the macro now also changes the languages of the macro reports etc.

Aktualisierungen in Version 0.8
//
Updates in Version 0.8
  1. Unterstützung von Beschriftungen im Rich Text-Format
    //
    Support of captions with Rich Text formatting 
  2. Für eine bessere Übersicht wird der SOM-Ausdruck des ausgewählten Objekts im Makro angezeigt
    //
    The SOM expression of the currently selected object is displayed in the macro for a better overview


Lesezeichen-Makro - Version 0.8
//
Bookmarker Macro - Version 0.8
https://cloud.acrobat.com/file/6c846219-6c0f-4f3d-9769-68bcf2c086aa

07.11.2011

Feld Designer Makro
//
Field Designer Macro

Dass Designer ES2 ein API für Plug-Ins hat, wissen wohl nur die Wenigsten.
Tatsächlich kenne ich bislang nur eine Person, die davon berichtet hat - John Brinkman.
Höchste Zeit sich auch mal damit zu beschäftigen.

Also, sie können für Designer eigene kleine Plug-Ins basteln, um sich z.B. ungeliebte Aufgaben zu erleichtern.
Aber, das ist nicht gerade simpel.
Zum einen ist diese API nicht großartig dokumentiert, da sie noch im Beta-Stadium ist.
Zum anderen brauchen Sie andere Programme wie den Adobe Flex / Flash Builder, um Plug-Ins mit Benutzeroberfläche zu erstellen, denn Designer ES2 nutzt dafür Flex bzw. Flash.
Wenn Sie keine Benutzeroberfläche brauchen, dann reicht auch JavaScript, denn dies wird zur Steuerung der API-Funktionen verwendet.

Ich habe mich mal daran versucht, um Ihnen zu zeigen was möglich ist, und ein Makro erstellt, mit dem Sie die Kanten, Ecken und Beschriftung von Objekten bearbeiten können.
An die Flex-Entwickler — Tschuldigung für meine begrenzten Flex-Fertigkeiten ;-)

Um es zu installieren, machen Sie Folgendes ...
... bei Designer ES2 (9.x):
  1. Navigieren Sie zum Programmordner von Designer ES2 z.B:
    C:\Program Files (x86)\Adobe\Adobe LiveCycle Designer ES2\ (bei Stand-Alone-Installation)
    oder
    C:\Program Files (x86)\Adobe\Acrobat 10.0\Designer 9.0\ (bei Installation zusammen mit Acrobat)
  2. Erstellen Sie einen neuen Ordner "scripts".
  3. Erstellen Sie in "scripts" einen Unterorder mit beliebigen Namen und kopieren Sie dort hin die *.js und *.swf-Dateien.
  4. Starten Sie Designer neu.
  5. Sie können dann das Makro unter "Extras" > "Scripts" > "Makroname" ausführen.
... bei ADEP Designer (10.x):
  1. Navigieren Sie zum Programmordner von ADEP Designer z.B:
    C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\ (bei Stand-Alone-Installation)
    oder
    C:\Program Files (x86)\Adobe Digital Enterprise Platform\Workbench 10.0\Designer 10.0\ (bei Installation zusammen mit Workbench)
  2. Erstellen Sie einen neuen Ordner "macros".
  3. Erstellen Sie in "macros" einen Unterorder mit beliebigen Namen und kopieren Sie dort hin die *.js , die *.swf und die macros.xml-Dateien.
  4. Sie können dann das Makro unter "Extras" > "Macros" > "Makroname" ausführen.


Only a few people possibly know that there is an API for Plug-Ins in Designer.
In fact, I actually only know one person, who already has spoken of it - John Brinkman.

Ok, you can create your own little Plug-Ins for Designer, maybe to streamline unpopular workflows or whatever.
But, this isn't a simple task.
On one hand, the API isn't documented very well so far as it's still in beta.
On the other hand you're possibly will need other applications like Adobe Flex / Flash Builder to create Plug-Ins with a graphical user interface as Designer ES2 uses Flex or Flash for this purpose.
If you don't need an UI then JavaScript is all you need because this is used for the API functions.

I have tried myself in this task to show you what is possible and I designed a Macro which you can use to edit the edges, corners and caption of objects.
@ Flex developers — Apologies for my limited Flex skills ;-)

To install macros, you have to do the following ...

... for Designer ES2 (9.x):
  1. Navigate to the programm folder of Designer ES2 like:
    C:\Program Files (x86)\Adobe\Adobe LiveCycle Designer ES2\ (stand-alone installation)
    or
    C:\Program Files (x86)\Adobe\Acrobat 10.0\Designer 9.0\ (installation together with Acrobat)
  2. Create a new Folder "scripts".
  3. In that folder create a subfolder with any name and copy the *.js and '.swf-files in that folder.
  4. Restart Designer.
  5. Now you can execute the macro from "Tools" > "Scripts" > "Macro name".

... for ADEP Designer (10.x):
  1. Navigate to the programm folder of ADEP Designer like:
    C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\ (stand-alone installation)
    or
    C:\Program Files (x86)\Adobe Digital Enterprise Platform\Workbench 10.0\Designer 10.0\ (installation together with Workbench)
  2. Create a new Folder "macros".
  3. In that folder create a subfolder with any name and copy the *.js and *.swf- and macro.xml files in that folder.
  4. Now you can execute the macro from "Tools" > "Macros" > "Macro name".


Funktionsweise des Makro
//
How the macro works

Schritt 1 – Zuerst Objekt(e) markieren und Makro aus dem Menü aufrufen
//
Step 1 – Select object(s) first and then execute macro from menu


Schritt 2 – Flex Dialog des Macros öffnet sich - Standardansicht ohne Benutzereinstellungen
//
Step 2 – Flex Dialog of the macro opens - Default view without user settings

Schritt 3 – Einstellungen vornehmen und mit "OK" bestätigen
//
Step 3 – Make settings and confirm with "OK"

Schritt 4 – Ein Dialog meldet, welche Objekte verändert wurden
//
Step 4 – A dialog shows, which objects have been modified

Schritt 5 – Einstellungen wurden aus dem Flex Dialog in Designer übernommen
//
Step 5 – Settings from the Flex dialog were applied to Designer


Schritt 6 – Einstellungen wurden (wenn ausgewählt) in ein internes Stylesheet im Template gespeichert und werden in Designer ES2 als Referenzierte Objekte angezeigt bzw. im Stilkatalog von ADEP Designer.
//
Step 6 – Settings were (if selected) saved into an internal stylesheet in the template and  are displayen as references objects in Designer ES2 respectively in the style catalogue in ADEP Designer.
Stylesheet im Template // Style sheet in the template

Designer ES2
Stylesheet als refereziertes Objekt // Style sheet as referenced object
ADEP Designer
Stylesheets in Stilkatalog // Style sheets in style catalogue

Schritt 7 – Mit der usehref-Methode kann der Stile nun auf beliebige andere Objekte kopiert werden.
In Designer ES2 muss das per Hand in der XML-Quelle gemacht werden, in ADEP Designer geht das mit dem Stileditor.
//
Step 7 – With the usehref method you can copy the style on any other objects.
In Designer ES2 you have to do this manually in the XML source, in ADEP Designer you can use the Style catalogue.
Referenzsyntax für Zugriff auf Stylesheet // Reference syntax to style sheet
usehref=".#som($template.#subform.designer__stylesheet.LCB_Style_0_Textfeld)"




Aktualisierungen in Version 0.6
//
Updates in Version 0.6

  1. Sprache der Benutzeroberfläche kann auf englisch bzw. deutsch umgestellt werden
    //
    UI language can be changed to german respectively english 
  2. Füllfarbe für das Formularfeld und den Eingabebereich kann individuell festgelegt werden
    //
    Fill color for the form field and the ui can be set induvidually 
  3. Linienart für Kanten und Ecken kann individuell festgelegt werden
    //
    Line type for the edges and corners can be defined individually 
  4. Schriftart, -größe und -stil für die Beschriftung sind definierbar
    //
    Font, size and style of the caption can be defined


Aktualisierungen in Version 0.7
//
Updates in Version 0.7

  1.  Füllfarbe für Objekt und Eingabebereich kann deaktiviert werden
    //
    Fill color for object and UI can be deaktivated 
  2. Berücksichtigung der Eigenheiten von Flashfeldern
    //
    Consideration of peculiarities of Flash fields

Aktualisierungen in Version 0.8
//
Updates in Version 0.8

  1. Verbesserte Prüfungen nach unterstützen Objekttypen
    //
    Improved validation of supported object types 
  2. Beispieltext der Beschriftung kann ignoriert oder übernommen werden
    //
    Sample text for caption can be ignored or adopted 
  3. Einstellungen können als Prototypen (Stile) im internen Stylesheet gespeichert werden (auch in ES2)
    //
    Settings can be saved as pototypes (styles) within the internal stylesheet (even in ES2)

Aktualisierungen in Version 0.9.1
//
Updates in Version 0.9.1

  1. Stylesheets werden nun nach Feldtypen benannt (Textfeld, Numerisches Feld usw.)
    //
    Style sheets now are named by the field type (text field, numeric field etc.) 
  2. Skripte können bei Bedarf mit in Stylesheets übernommen werden, werden aber standarmäßig entfernt
    //
    Scripts will be removed by default but can be inherited into the style sheet if needed
  3. Das Makro ignoriert nun Skriptobjekte und ist somit wesentlich schneller
    //
    The macro now ignores script objects which why it it much faster 
  4. Unbenannte Felder führen nicht mehr dazu, dass das Erstellen eines Stylesheets scheitert
    //
    Unnamed fields do not cause the macro to fail when creating a style sheet
  5. Der Flex-Dialog funktioniert nun auch wieder in Designer ES2
    //
    The Flex dialog is now functioning in Designer ES2 again

Feld Designer-Makro - Version 0.9.1
//
Field Designer Macro - Version 0.9.1
https://cloud.acrobat.com/file/d9e175c9-acbc-426d-baf7-9b30360e76ab