Ik heb alles zo goed als klaar, maar zit nog met 1 dingetje en ben daar nu 2 dagen mee bezig en ik zie het probleem niet.

Ik heb dus een gedeelte waar men gegevens kan invullen.
Als men op de knop opslaan duwt word eerst alles opgeslagen in de database en vervolgens word eerst in een apart scherm etiketten ingevuld getoond en afgedrukt en dan briefjes ingevuld.

Het afdrukken van de etiketten gaat zonder probleem omdat deze werkt via de web framework van DYMO.
Maar als de briefjes geladen word, wat werkt via een script , krijg ik data niet automatisch geprint.

Het script dat ik gevonden had was deze.:

<script type="text/javascript">
setTimeout(function () { window.print(); }, 100); //was 500
window.onfocus = function () { setTimeout(function () { window.close(); }, 100);   //was 500
}
</script>


Hij laat mij dan een print voorbeeld zien , waar ik dan op afdrukken kan duwwen.
Dit wil ik echter niet, ik wil net als die etiketten gelijk dat hij afdrukt.

Is dit wel mogelijk , voor dat we een speld in een hooiberg gaan zoeken?
ik heb even opgezocht: het commando dat ik gebruik:


   $command = '/usr/bin/lp -n 1 -d NAAM_PRINTER_IN_CUPS  /path/to/een.pdf';
   exec($command);


-n 1: aantal afdrukken is 1 (soms ook meer dan 1 voor mijn situatie)
-d xxx: destination: welke printer.

nb: sommige van mijn printers snappen een pdf direct. Voor een nieuwe printer is een driver op de server van cups gezet om de printer het te kunnen laten snappen.

Overigens is dit een print opdracht die vanuit een CLI omgeving komt. Ik maak namelijk tot 10tallen pdf's aan die vervolgens via CUPS naar buiten gaan.

Dat duurt voor de gebruiker te lang, dus PHP roept een extern script aan dat doorloopt, terwijl het eerst aangeroepen php-script naar de gebruiker een "OK, we printen" pagina stuurt.

cups zet de opdracht in de wachtrij tot de printer beschikbaar is.

Reageren