Jump to content

Unterschrift als Bilddatei


Rolf Thielmann
Go to solution Solved by Rolf Thielmann,

Recommended Posts

Hallo allerseits,

ich baue gerade einen digitalen Leistungsbeleg. Die Smap an sich habe ich fertiggestellt. Jetzt geht es darum, aus der Smap 2 Reports zu generieren (einen mit allen Infos für den internen Gebrauch und einen anderen mit nur den Daten für den Kunden).

Da man nicht 2 unterschiedliche Reports aus 1 Smap erstellen kann, ist meine Idee, alle für die Kundenversion notwendigen Daten in den Text einer eMail zu schreiben und daraus per Outlook-Makro den Report für den Kunden zu erstellen.

Mein Problem besteht nun darin, die Unterschrift des Kunden als Bilddatei zu erhalten, die ich in eine Vorlage einfügen kann.
Gibt es eine Möglichkeit, den Inhalt eines Unterschriftsfelds per eMail (als Bilddatei oder als URL zum Download) zu versenden? 

  • Thanks 1
Link to comment
Share on other sites

Hi Rolf!

Auf "normalem Wege" ist dies derzeit nicht möglich, jedoch kommt hier unsere REST-API ins Spiel und bietet verschiedene Lösungswege, um die Daten abzurufen und in gewünschtem Format weiterzuverarbeiten. Z.B. über den Endpunkt Smaps/Data lassen sich alle Datensätze und deren Inhalt abrufen, darunter auch ggf. im Datensatz vorhandene Signaturen (*.png). Infos zum Aufbau der API findest Du hier in unseren FAQ.

Zur "manuellen" Bearbeitung könnte man auch den Bericht im Wordformat abrufen, siehe smapOne FAQ.

 

Ich kenne den Prozess nicht, aber wenn es "nur" um das Ausblenden diverser Inhalte in der Kundenversion geht, ohne grundsätzliches an der Struktur des Berichts zu ändern, dann ließe es sich via Automatismus und REST-API auch abbilden. So z.B. dass eine Checkbox "Kundenbericht gewünscht?" o.ä. eingefügt und dies als Kondition dafür definiert wird, dass ein ad-hoc Automatismus nach Konfektionierung den Kundenbericht "frisiert" und versendet. Ist leider ein Thema, das etwas zu komplex für einen einfachen Post ist, aber dieses Szenario ist auf vielfältige Art mittels REST-API lösbar.

Edited by Ismet Ünal-Machalski
  • Like 2
Link to comment
Share on other sites

Hallo Ismet,

ich bin erst seit September in Sachen SmapOne unterwegs und habe noch keine Erfahrung mit der REST-API.

Meine Programmierkenntnisse gründen sich auf hobbymäßige Programmierungen in Basic (in den 80ern/90ern) und VBA (Excel/Outlook). Dabei habe ich mit VBA auch schon auf Windows Systemvariablen zugegriffen. Aber hier habe ich meistens Code in irgendwelchen Foren gefunden und auf meine Bedürfnisse angepasst.
Mit diesen Kenntnissen kann ich Texte aus eMails bzw. PDF-Dateien herauslesen. Ein Bild, das als Dateianhang in einer eMail enthalten ist, könnte ich auch verarbeiten. Aber an die im PDF eingebetteten Bilder (Unterschriften) komme ich leider nicht heran.

Ich muss zugeben, dass mich die Dokumentation zur API überfordert. Ich weiß gar nicht, wo ich anfangen soll.

Gibt es irgendwo Beispielcode, wie man mit VBA oder vergleichbaren Programmiersprachen auf die REST-API und damit auf Daten/Bilder zugreifen kann?

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
  • Solution
Johanna Becker
This post was recognized by Johanna Becker!

Rolf Thielmann was awarded the badge 'Helpful' and 10 points.

Hallo allerseits,

ich habe eine andere Lösung gefunden.
Es ist vielleicht nicht besonders elegant, aber es funktioniert und ich brauche dafür keine Kenntnis der RestAPI bzw. wie man überhaupt eine API nutzt. 🙂 

So geht es:
ich sende den Report als Word-Datei an mich.
Dann kann ich mit nachfolgendem VBA-Code das vorletzte und letzte in der Word-Datei enthaltene Bilder als Bilddatei speichern:

Sub Demo_Bilder_aus_Word_Dokument_speichern()
    
    Dim aktuelles_Dokument As Word.Document
    Dim eingebettetes_Bild As InlineShape
    Dim Ziel As String
    
    Tempordner = "S:\- Temp\"
    Dateiextension = "EMF"
    
    On Error Resume Next
    Kill Tempordner & "Unterschrift *." & Dateiextension
    On Error GoTo 0
    Set aktuelles_Dokument = Word.ActiveDocument
    
    Ziel = Tempordner & "Unterschrift Techniker." & Dateiextension
    Set eingebettetes_Bild = aktuelles_Dokument.InlineShapes.Item(aktuelles_Dokument.InlineShapes.Count - 1)
    SaveInlineshapeToEmfFile eingebettetes_Bild, Ziel
    
    Ziel = Tempordner & "Unterschrift Kunde." & Dateiextension
    Set eingebettetes_Bild = aktuelles_Dokument.InlineShapes.Item(aktuelles_Dokument.InlineShapes.Count)
    SaveInlineshapeToEmfFile eingebettetes_Bild, Ziel
    
End Sub

Function SaveInlineshapeToEmfFile(eingebettetes_Bild As InlineShape, Ziel As String) As Boolean
    Dim EMF_Bytes() As Byte
    EMF_Bytes = eingebettetes_Bild.Range.EnhMetaFileBits
    Open Ziel For Binary Access Write As #1
    Put #1, , EMF_Bytes
    Close #1
End Function

Statt EMF kann man auch JPG als Dateiextension verwenden.

VIELEN DANK an OlimilO für seinen Tipp im VBA-Forum (https://foren.activevb.de/forum/vba/thread-27329/beitrag-27330/Re-Bild-aus-Word-Datei-als-Bild/#forum)

 

Ich habe auch ein Makro entwickelt, mit dem ich die Unterschriftsdateien in eine Word-Datei einfügen kann, über die ich dann eine zweite Variante des Reports (für unsere Kunden) erstellen kann. Das werde ich bei nächster Gelegenheit in meinem dazugehörigen Beitrag posten. 😉

 

  • Like 2
  • Thanks 3
Link to comment
Share on other sites

  • 4 weeks later...

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...