Personal tools
Tip per la gestione Web di tiff multipagina

Un'idea per gestire i file tiff

Aug 20, 2012

Tip per la gestione Web di tiff multipagina

Un semplice tip/trick "IE-only way" per utilizzare AlternaTIFF anche se il client non ha installato un visualizzatore TIFF o ne ha un'altro

Mi è capitato di dover gestire la visualizzazione di file tiff multipagina via browser.

Nessun problema se sul client è installato qualche tipo di visualizzatore per tali file, ma cosa succede se non è cosi'?

Se si richiama la risorsa via URL dal browser in una circostanza come questa (magari attraverso un metodo window.open di Javascript), quello che succede è l'apertura di una popup bianca.

Ad esempio:

window.open(URL,"showImg","height=300,width=300,toolbar=no,menubar=no,resizable=yes,status=no,scrollbars=yes,left=100,top=100");

dove URL è il link alla risorsa sul server.

Il trucco consiste nell'utilizzare il visualizzatore AlternaTIFF, web browser add-on (controllo ActiveX o un plug-in) che visualizza la maggior parte dei più comuni tipi di file di immagine TIFF.

Il codice HTML che embedda il file nel visualizzatore è il seguente:

<object width=200 height=200
  classid="CLSID:106E49CF-797A-11D2-81A2-00E02C015623">
 <param name="src" value="URL">
 <param name="negative" value="no">
</object>

In questo caso, la popup Javascript scrive direttamente il codice HTML attraverso delle document.write, in questo modo:

var pZoomStr = "height=600,width=600,left=0,top=60,scrollbars=1,resizable=1,menubar=0";
pZoom = window.open("","", pZoomStr);
pZoom.document.open();
pZoom.document.writeln("<HTML><BODY>\n");
pZoom.document.writeln("<object width=600 height=600 
classid=\"CLSID:106E49CF-797A-11D2-81A2-00E02C015623\">
<param name=\"src\" value=\"" + URL+ "\">
<param name=\"negative\" value=\"no\"></object>");
pZoom.document.writeln("</BODY></HTML>");
pZoom.document.close();

Come già detto, il trick è riferito a IE, ma nel sito di AlternaTIFF sono definiti i modi per gestire anche gli altri browser esistenti

Filed under: , ,
comments powered by Disqus