Projekt

Allgemein

Profil

Funktionen fürs PDF stempeln

Die Funktionen des Stempels unterteilen sich in zwei Gruppen

  • Das Aussehen des Stempels
  • Der Inhalt des Stempels

Grundlagen

Alle Maßangaben sind in mm.
Der Stempelursprung liegt unten / links auf dem Blatt.
Wenn nicht anders angegeben – (SETORIGIN)

Für jeden Stempelsatz wird eine X/Y Vorgabe angegeben.

Diese Vorgabe wird, so eine der nachfolgend erläuterten Funktionen einen X/Y Wert hat, hinzuaddiert.

Stempel Funktionen

Für das Aussehen des Stempel stehen folgende Funktionen zur Verfügung:


SetOrigin(n)

Definiert den Nullpunkt auf der Seite

   0 - unten links
   1 - oben links
   2 - oben rechts
   3 - unten rechts

Beispiel: SetOrigin(3) - rechts unten am Schriftfeld


SetTextSize(n)

Der nächste Text ist 20 mm Hoch

    Textgröße in mm    

Beispiel: SetTextSize(20)


SetTextUnderline(n)

Der nächste Text wird unterstrichen

> 0 - nichts 
> 1 - einfach 
> 2 - doppelt  
> 3 - durchgestrichen
> 4 - überstrichen     

Beispiel: SetTextUnderline(2) - doppelt unterstrichen


SetTransparency(n)

Der nächste Text steht dezent im Hintergrund

   0 - 100
   0 - keine Transparenz
   100  Volle Transparent ( Unsichtbar )

Beispiel : SetTransparency(70)


SetTextColor(r, g, b)

Setzt die Textfarbe

   Rot  von 0-1 > 0 - 100 %
   Grün von 0-1 > 0 - 100 %
   Blau von 0-1 > 0 - 100 %    


SetFillColor(r, g, b)

Setzen der Hintergrundfarbe

   Rot  von 0-1 > 0 - 100 %
   Grün von 0-1 > 0 - 100 %
   Blau von 0-1 > 0 - 100 %    


DrawBox(X,Y,B,H,R)

Zeichnen einer Box

   X  - die horizontale Position
   Y  - die vertikale    Position. 
        Der Bezugspunkt ist die Text Grundlinie.
   Bt - Breite der Box im mm
   H  - Höhe   der Box in mm
   R  - 0 - Outline
        1 - Gefüllt
        2 - Gefüllt / Outline


DrawText(X,Y,Text)

Erstellen eines Textes

   Xpos  - die horizontale Position
   Ypos  - die vertikale    Position. 
           Der Bezugspunkt ist die Text Grundlinie.
   Text  - Der Text der gezeichnet wird    

Beispiel:
Drawtext(5,5,"Hallo")


DrawRotatedText(X,Y,A,Text)

Erstellen eines Textes unter einem Winkel

X - die horizontale Position
Y - die vertikale Position. 
    Der Bezugspunkt ist die Text Grundlinie.
A - Der Winkel, gemessen im Uhrzeigersinn von der Horizontalen.
    Muss zwischen 0 und 360 liegen.
T - Der Text der gezeichnet wird    

Beispiel :
DrawRotatedText(5,5,45,"Hallo")
Erstellen eines Textes im Winkel von 45 Grad


DrawBarCode(X,Y,W,H,B,O,Text)

Erstellen eines BarCodes.

   X - die horizontale Position
   Y - die vertikale   Position. 
       Der Bezugspunkt ist die Text Grundlinie.
   W - die Breite des Codes
   H - die Höhe des Code
   B - die Art des Barcodes 
       1 = Code39 (or Code 3 of 9)
       2 = EAN-13
       3 = Code128
       4 = PostNet
       5 = Interleaved 2 of 5
   O - Optionen
       Code39:
          0 = Default drawing
       EAN-13:
          0 = Only draw the barcode
          1 = Extend the guard bars
          2 = Draw the human-readable numbers
          3 = Draw the human-readable numbers, with right spacer
       Code128:
          0 = Default drawing
       PostNet:
          0 = Default drawing
       Interleaved 2 of 5:
          0 = Do not add a checksum, no bearer bars
          1 = Add a checksum character, no bearer bars
          2 = Do not add a checksum, draw bearer bars
          3 = Add a checksum character, draw bearer bars
          To apply 10% bar width reduction to the barcode, 
          increase the value of the Options parameter by 10
   T - Der Text der gezeichnet wird    


Beispiel : DrawBarcode(5,5,30,10,1,0,"Hallo") - Erstellen eines Code 39


NormalizePage(x)

Je nach Quelle der PDF, kann das setzen des Ursprung nicht funktionieren - d.h. das SetOrign sitzt nicht in den Ecken. Dann ist es notwendig, das Dokument zu normieren.

0 = Standard normalization
1 = Normalize And also balance the graphics state stack
2 = Maintain existing page structure
3 = Maintain existing page structure And balance the stack

Beispiel : NormalizePage(0) - Normalisieren der PDF


Inventor Funktionen

Für Datei Inhalte / iProperty und Parameter aus dem Inventor stehen die folgenden Funktionen zu Verfügung:


GetProperty(Str)

Gibt die iProperties des Deckblattes (IDW) oder der obersten Baugruppe (IAM) zurück.

Für IDW : Text aus der Kopfzeile der Stückliste

GetProperty("Titel")

Für IAM : Name des Properties aus der Obersten Baugruppe

GetProperty("IDENT")


GetBomRow(Str)

Gibt den Wert der angegebenen Stücklisten Zeile zurück.

Die Positionsnummer / Stückzahl kann mit :

POS
ANZAHL

ermittelt werden.

Die ANZAHL Wird als String ( Text ) zurückgegeben.
Soll mit dem Wert gerechnet werden ist ein

VAL ( GetBomRow("ANZAHL") )  

notwendig

Ermitteln der Propertys aus IPT / IAM

GetBomRow("IDENT")
GetBomRow("POS")
GetBomRow("CTH_ARTNR")

GetParameter(name)

Gibt den Parameter der Inventor Datei zurück.
Optional kann noch der Parameter "U" angegeben werden - Zurückgegeben wird dann die Einheit.

GetParameter("Länge")       >  100.00
GetParameter("Länge","U")   >  mm

GetParameterModel(name)

Gibt den Modell Parameter der Inventor Datei zurück.
Optional kann noch der Parameter "U" angegeben werden - Zurückgegeben wird dann die Einheit.

GetParameterModel("d1")        > 100.00
GetParameterModel("d1","U")    > mm

GetParameterUser(name)

Gibt den Modell Parameter der Inventor Datei zurück.
Optional kann noch der Parameter "U" angegeben werden - Zurückgegeben wird dann die Einheit.

GetParameterUser("MEINER")        >  250,00
GetParameterUser("MEINER","U")    >  mm

iPart Funktionen / Variablen

Innerhalb des iPart Modules stehen noch die folgende Variablen und Funktionen zur Verfügung :

Allgemeine

root       - Das Root Verzeichnis in dem die iParts liegen 
cpuID      -  ID der CUP
unique     -  Erzeugt einen in Verbindung mit PC eindeutigen Dateinamen.
             ( Bei Halbzeugen - Customer iParts )  
iam_name   - Name der IAM die geöffnet ist 
iam_pfad   - Pfad der IAM die geöffnet ist 

Informationen zum iPart

ipart  .............  - Name des iParts ohne Dateiendung
                        ( Diese Variable steht nur im echten Betrieb zur Verfügung.  
                        Beim Testen im Setup wird der Wert "x-ipart-x" zurückgegeben )
ipart_file  ........  - Name des iParts mit Dateiendung
                        ( Diese Variable steht nur im echten Betrieb zur Verfügung.  
                        Beim Testen im Setup wird der Wert "x-ipart_name-x" zurückgegeben )
ipart_pfad  ........  - Dateipfad des iParts
                        ( Diese Variable steht nur im echten Betrieb zur Verfügung.  
                        Beim Testen im Setup wird der Wert "x-mutter-x" zurückgegeben )
ipart_fullfilename    - Kompletter Dateiname des iParts
                        ( Diese Variable steht nur im echten Betrieb zur Verfügung.  
                        Beim Testen im Setup wird der Wert "x-mutter-x" zurückgegeben )

Informationen zur Variante

variante  ..........  - Name der Variante ohne Dateiendung
                        ( Diese Variable steht nur im echten Betrieb zur Verfügung.  
                        Beim Testen im Setup wird der Wert "x-variante-x" zurückgegeben )
variante_name  .....  - Name der Variante mit Dateiendung
                        ( Diese Variable steht nur im echten Betrieb zur Verfügung.  
                        Beim Testen im Setup wird der Wert "x-variante_name-x" zurückgegeben )
variante_pfad  .....  - Kompletter Dateipfad der Variante
                        ( Diese Variable steht nur im echten Betrieb zur Verfügung.  
                        Beim Testen im Setup wird der Wert "x-variante_pfad-x" zurückgegeben )
variante_fullfilename - Kompletter Dateiname der Variante
                        ( Diese Variable steht nur im echten Betrieb zur Verfügung.  
                        Beim Testen im Setup wird der Wert "x-variante_pfad-x" zurückgegeben )


Sonstige Funktionen

An allgemeinen Funktionen steht zur Verfügung


val(Str)

Wandelt den Text in eine Zahl um


now()

Liefert das aktuelle Datum und Zeit


today()

Liefert das aktuelle Datum


len(Str)

Liefert die Länge des String


mid(Str,Start,Länge)

Gibt eine Zeichenfolge zurück, die eine festgelegte Zeichenanzahl aus einer Zeichenfolge enthält.

Str    Erforderlich. Ist ein String-Ausdruck, aus dem Zeichen zurückgegeben werden.
Start    Anfangsposition der zurückzugebenden Zeichen. 
Länge    Anzahl der zurückzugebenden Zeichen.

Wird kein Wert für Länge angegeben oder befinden sich weniger Zeichen im Text (das Zeichen an der Position Start eingeschlossen) als durch Länge angegeben, werden alle Zeichen ab der Startposition bis zum Ende der Zeichenfolge zurückgegeben.


trim(Str)

Entfernt am rechten Ende die Leerzeichen.


format(Str, FormatString)

Formatiert die Eingabe

Siehe auch : LINK


replace(text, suche, ersetze)

Sucht im Text und ersetzt durch den angegeben Text

( erst ab Speedup Version 5x )


ucase (Str)

Wandelt einen String in Großbuchstaben um


lcase (Str)

Wandelt einen String in Kleinbuchstaben um


int(Zahl)

Wandelt eine Zahl in eine Integer Zahl um


pc()

Gibt den Name des PC zurück


user()

Gibt den Name des angemeldeten Benutzers zurück


domain()

Name der Domaine


getactivediruser()

Kompletter User Name vom Aktive Directory


LegalFileName( cText )

Wandelt den Inhalt von cText in einen gültigen Dateinamen um ( Ersetzt durch "_" )


LegalPathName( cText )

Wandelt den Inhalt von cText in einen gültigen Pfadnamen um ( Ersetzt durch "_" )


Beispiel Stempel für PDFs

Beispiel 1

Mediabox        0210_0297
Startpunkt      150,80
Stempel         SetOrigin(3)
                SetTransparency(80)
                SetTextSize(240)
                SetTextUnderline(2)
                #
                # Nun der Text
                #
                DrawRotatedText(5,5,60,"Nur zur Ansicht !")

Der Stempel ist Transparent und liegt hinter der Zeichnung


Beispiel 2

Mediabox        0210_0297
Startpunkt      150,80
Stempel         # 
                DrawText(5 ,0,now())
                DrawText(5, 5,format( now(),"dddd, MMM d yyyy"))
                Drawtext(5,10,format( now(),"HH:mm:ss"))
                #
                Drawtext(5,20,pc())
                Drawtext(5,25,user())
                #


Datum / Benutzer und PC Name einstempeln


Beispiel 3

Drei abgefragten Werte einstempeln

Mediabox        0210_0297;0420_0297;0594_0420;0841_0594;1189_0841
Startpunkt      100,100
#
# Gesamt Nullpunkt auf 100 / 100 
#
# Ursprung nach unten rechts
SetOrigin(3)
#
# Texgröße
SetTextSize(5)
#
#SetTextUnderline(2)
#
# Box Zeichnen
# Box Zeichnen
DrawBox(0,0,80,20,2)
#
#Texte und Werte eintragen 
DrawRotatedText(-4,  -5,0,"Zu fertigen : " + Value01)
DrawRotatedText(-4,-10,0,"Auftrag      : " + Value02)
DrawRotatedText(-4,-15,0,"Baugruppe : " + Value03)

Das Ergebnis :