Hej,
Kan nogen sige mig hvordan et multipelt antal filer loades i lige så mange
vinduer og derefter printes ud?
Jeg har en række sider/filer, fortrinsvis PDF, jeg åbner og printer ud via
links. Jeg kunne dog også godt tænke mig en automatisk window-kreering for
hver fil der skal printes ud, således at brugerne blot skal udvælge de filer
der skal printes ud og klikke ok i printersetupdialogen. Problemet er blot,
at løkken eksekverer færdig inden det første window er printet ud. Selve
delayet (imellem open og print) fanger jeg med en SetTimeout, men hvordan
sikrer jeg at der genereres et vindue for hver fil der skal printes ud, og
som jeg kan kalde <win>.print() med?
Her en løkke der i princippet burde skrive alle valgte filer ud
function printAll(theForm) {
for (i=0,n=theForm.elements.length;i<n;i++)
if (theForm.elements[i].name.indexOf('check_') !=-1)
{
if (theForm.elements[i].checked==true)
{
win = window.open(theForm.elements[i].value);
setTimeout("win.print()",100);
sleep(1000);
}
}
}
(sleep er en løkke der blot kalder en tom funktion 1000 gange)
Jeg prøvede med dette, men det virker ikke
var PDFcounter = 0;
var win;
var theForm;
function closeWin() {
alert("closeWin");
win.close();
PDFcounter++;
printNext();
}
function printNext() {
alert("printNext : "+theForm.elements.length+" no"+PDFcounter);
if (PDFcounter<theForm.elements.length) {
if (theForm.elements[PDFcounter].name.indexOf('check_') !=-1)
{
if (theForm.elements[PDFcounter].checked==true)
{
alert("printing");
win=window.open(theForm.elements[PDFcounter].value);
window.OnAfterPrint=closeWin;
setTimeout("win.print()",100);
sleep(1000);
} else {
PDFcounter++;
printNext();
}
}
}
}
function multiplePrint(form) {
alert("multipleprint");
theForm = form;
PDFcounter = 0;
printNext();
}
på forhånd tak
|