Hallo Jörg,
mit Bormitteln ist das wohl nicht möglich. Ob es ein PlugIn gibt ist mir nicht 
bekannt. Mit FrameScript kann man das aber relativ einfach selber realisieren.
Es wir ein Event-Script benötigt, welches vor dem Speichern die Benutzerdaten 
ausliest und in die PdfDocInfos schreibt.
Zu beachten wäre noch, dass keine Sonderzeichen per Script in die PdfDocInfos 
geschrieben werden können, das führt zu einem gnadenlosen Absturz von FM. 
Sonderzeichen müssen zuvor in Hex-Schreibweise geändert werden. Der 
einfachheithalber ändere ich die gesamte Zeichenfolge. In dem nachfolgenden 
Fünfzeiler wird die Info zum Autor aus der Windows-Anmeldung bezogen. Das 
Beispiel berücksichtigt keine bereits bestehenden Dokumentinformationen.
Gruß Karsten

///////////////////////////////////////////////////////////////////////////
// Generated with Script Studio for FrameScript Version 1.1.303
///////////////////////////////////////////////////////////////////////////
/*
 Name: SetAuthorBeforeSave
 Description: 
 Creation: 13.05.2007, 22:52:21
 Modification: 08.01.2008, 09:33:31
 Author: Karsten Natebus
 Company: 
 Copyright: 
 Mail: [EMAIL PROTECTED]
 Web: http://framescript.natebus.de
 Platform: win
 Versions
   FrameMaker: 6.x +
   FrameScript: 3.1 +
   This Script: 0.0.14
 Language: ger, eng
 ScriptType: 
 Installation: 
*/
//+------------------------------------------------------------------------+
//| File: ..\..\_standard_module\functions\gethtmlnumericstring.fun        |
//| Call: GetHtmlNumericString{}                                           |
//| Modification: 31.10.2007, 12:37:08                                     |
//| Version                                                                |
//|   FrameMaker: 6.x or higher                                            |
//|   FrameScript: 3.x or higher                                           |
//|   Module: 3.4                                                          |
//+------------------------------------------------------------------------+
Function GetHtmlNumericString Using pv_strIn
  // Define local variables
  Local lv_intI;
  Local lv_intChar;
  // Hier Code eingeben
  Set Result = '';
  
  Loop While(lv_intI <= pv_strIn.Size) InitVal(1) Incr(1) LoopVar(lv_intI)
    Get String FromString(pv_strIn)
           StartPos(lv_intI)
           EndPos(lv_intI)
           NewVar(lv_strChar);
    
    Set lv_intChar = eUtl.StringToInt{lv_strChar};
    Set Result = Result + '&#x' + ConvertDezToHex{lv_intChar} + ';';
  EndLoop
  // Delete local variables
  Delete Var(lv_intI);
  Delete Var(lv_intChar);
  
EndFunction
//+------------------------------------------------------------------------------+
//| File: 
..\..\_standard_module\functions\convertdeztohex.fun                   |
//| Job: Konvertiert eine Dezimal-Integer-Größe in eine 
Hexadezimal-Zeichenfolge.|
//| Call: 
ConvertDezToHex{IntDez}                                                |
//| Modification: 28.10.2007, 
23:18:56                                           |
//| 
Version                                                                      |
//|   FrameMaker: 6.x or 
higher                                                  |
//|   FrameScript: 3.x or 
higher                                                 |
//|   Module: 
3.6                                                                |
//+------------------------------------------------------------------------------+
Function ConvertDezToHex Using pv_intIn
  // Define local variables
  Local lv_intBase(16);
  Local lv_intRest(0);
  Local lv_strHex('');
  Local lv_strInt;
  // Hier Code eingeben   
  Loop While(pv_intIn >= 0)
    
    If pv_intIn >= lv_intBase
      Set lv_intRest = pv_intIn % lv_intBase;
      Set pv_intIn = pv_intIn - lv_intRest;
      Set pv_intIn = pv_intIn / lv_intBase;
    Else
      Set lv_intRest = pv_intIn;
      Set pv_intIn = -1;
    EndIf
    
    If lv_intRest <= 9
      New String NewVar(lv_strInt) Value(lv_intRest);
      Set lv_strHex = lv_strInt + lv_strHex;
    ElseIf lv_intRest = 10
      Set lv_strHex = 'A' + lv_strHex;
    ElseIf lv_intRest = 11
      Set lv_strHex = 'B' + lv_strHex;
    ElseIf lv_intRest = 12
      Set lv_strHex = 'C' + lv_strHex;
    ElseIf lv_intRest = 13
      Set lv_strHex = 'D' + lv_strHex;
    ElseIf lv_intRest = 14
      Set lv_strHex = 'E' + lv_strHex;
    ElseIf lv_intRest = 15
      Set lv_strHex = 'F' + lv_strHex;
    EndIf
       
  EndLoop
  
  Set Result = lv_strHex;
  
  // Delete local variables
  Delete Var(lv_intBase);
  Delete Var(lv_intRest);
  Delete Var(lv_strHex);
  Delete Var(lv_strInt);
    
EndFunction
//+------------------------------------------------------------------------+
//| File: .\notepresavedoc.evt                                             |
//| Modification: 07.01.2008, 23:21:12                                     |
//| Version                                                                |
//|   FrameMaker: 6.x +                                                    |
//|   FrameScript: 3.1 +                                                   |
//|   Module: .7                                                           |
//+------------------------------------------------------------------------+
Event NotePreSaveDoc
  // Define local variables
  Local lv_strAuthor;
  Local lv_slstPdfDocInfo;
  // Input code here
  Set lv_strAuthor = GetHtmlNumericString{eSys.UserName};
  New StringList NewVar(lv_slstPdfDocInfo)
    Value('Author') Value(lv_strAuthor);
  Set Session.ActiveDoc.PDFDocInfo = lv_slstPdfDocInfo;
  
  // Delete local variables
  Delete Var(lv_strAuthor);
  Delete Var(lv_slstPdfDocInfo);
EndEvent
_______________________________________________
Talk mailing list
[email protected]
http://lists.framemaker.de/mailman/listinfo/talk

Antwort per Email an