Skriptbasiertes Erzeugen von Vorschaubildern


In diesem Tutorial stellen wir Ihnen eine Möglichkeit vor, das Handling von neuen Jobs zu vereinfachen, die durch ein empfangenes Fax generiert worden sind.

Das empfangene Fax wird vorab an eine definierte E-Mail Adresse weitergeleitet, wobei der Inhalt des Faxes In der Regel in eine pdf- oder tiff-Datei umgewandelt wird und der E-Mail als Anhang beigefügt wird. Die technischen Einzelheiten können hierbei je nach Ihrer verwendeten Hardware und Infrastruktur unterschiedlich sein.

Durch diese E-Mail wird in todo4teams ein neuer Job generiert; a priori ist hierbei nachteilig, dass vorab nur erkannt werden kann, dass ein Fax eingegangen ist, der eigentliche Inhalt des Faxes aber nur durch Öffnen des Anhangs sichtbar gemacht werden kann.

Es besteht nun aber die Möglichkeit mit Hilfe eines Javaskripts eine Bildvorschau des Faxes zu erzeugen und direkt in dem Job anzuzeigen; die ursprünglichen Anhänge bleiben natürlich erhalten und sind Bestandteil des neu erzeugten Jobs.

Ein Beispiel für solch eine generierte Bildvorschau einer angehängten Datei:

fax2.png

In dem oberen Bild ist eine Stelle markiert; durch einen Klick auf den blauen Pfeil kann zur besseren Ansicht das erzeugte Vorschaubild noch gedreht werden.

Zum eigentlichen Javascript:

Dieses muss in der Eintreffen-Aktion der entsprechenden Mailbox innerhalb von todo4teams definiert werden.

Das Helper-Objekt erzeugt mit folgendem Aufruf

helper.insertPDFPreviews(2);

die gewünschten Vorschauen, die Anzahl kann durch den Wert in Klammern parametrisiert werden: im vorliegenden Fall sind dies zwei Bilder, also die ersten beiden Seiten des Faxes.

Um zu verhindern, dass Spam-E-Mails mit ggf. ausführbare Dateien empfangen werden, entfernt der folgende Bestandteil des Gesamtskripts diese:

 task.setAttachments(helper.getSecuredAttachments('Anhang mit ausführbaren Dateien entfernt!'));

Nun das Gesamtskript, dieses können Sie direkt innerhalb der Eintreffen-Aktion der Mailbox verwenden.

Hier wird noch geprüft, ob mindestens eine PDF-Datei empfangen wurde, so dass abhängig davon die weitere Ticketverarbeitung abhängig gemacht werden kann:

helper.insertPDFPreviews(2);

task.setAttachments(helper.getSecuredAttachments('Anhang mit ausführbaren Dateien entfernt!'));

var hasPDF = false;
for(ai=0;ai<helper.attachments.length;ai++)
{
var attachment = helper.attachments[ai];
if(attachment.attachmentName.endsWith("pdf")){
     // do something...
     hasPDF=true;
    }
}
if(hasPDF){
 // do something depending on attached PDFs
}
     

Unterseiten