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.
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?
Eh, ja. We hebben waarschijnlijk wat meer info nodig.
Hoe ziet je netwerkconfiguratie er uit (wat voor machines en waar - lokaal / intranet / etc.), welke besturingssystemen gebruik je, hoe hangt de printer hier aan? Hoe past de webserver in dit plaatje etc.? Dit alles bij elkaar bepaalt waarschijnlijk welke oplossing je dient te gebruiken. Voor Windows/Apache is er waarschijnlijk wel een DLL en in geval van Linux biedt het commando lpr mogelijk uitkomst.
Met het bovenstaande zou je al een eind moeten komen en anders Google eens op "PHP print via network" ofzo en kijk wat het meest op jouw situatie van toepassing is.
De vraag "hoe kan ik rechtstreeks printen" kan anders met geen fatsoen beantwoord worden waarschijnlijk, en het ziet er ook niet naar uit dat dit rechtstreeks via JavaScript afgedwongen kan worden (een vlugge zoektoch leert dat je dan altijd een dialoog krijgt).
In principe ga je iets te ver om de vragen te stellen hoe het netwerk er uit ziet.
De printer die in het netwerk staat, staat gewoon op iedere pc/laptop.
Dus die staat ook overal als standaard ingesteld, drukt men op print komt hij bij die printer eruit gewandeld.
Dit staat in dit geval los van het lokaal/intranet.
Vermoedelijk kom ik inderdaad niet van dat dialoog af mits ik iets in het systeem van betreffende pc/laptop aanpas.
Het zij dan helaas zo, meende dat ze hier ook wel een omweg voor hadden.
Zou nogal dom zijn als je van het printerdialoog af zou kunnen komen. Denk je eens in hoe gevoelig dat zou zijn voor een willekeurig script op een willekeurige website die je printer vol zou proppen met opdrachten.
De gebruikelijke methode voor printen op labels en dergelijke is zoals Thomas aangeeft het gebruiken van een printserver die vanaf de command line (dus bijvoorbeeld middels PHP) rechtstreeks aangestuurd kan worden.
In principe ga je iets te ver om de vragen te stellen hoe het netwerk er uit ziet.
Dat denk ik niet, want dit bepaalt (mede) de technische oplossing. Ik bedoelde meer een soort van layout, niet of de PC van Bep bij het raam staat ofzo. Daarnaast betreft dit toch een lokaal netwerk, dus daar komt niemand verder van buitenaf bij lijkt mij, als dat jouw bezorgdheid is.
Pascal Schuffelers op 08/10/2018 11:32:38
De printer die in het netwerk staat, staat gewoon op iedere pc/laptop.
Dus die staat ook overal als standaard ingesteld, drukt men op print komt hij bij die printer eruit gewandeld.
Dit staat in dit geval los van het lokaal/intranet.
Je zegt zelf dat dit via een webapplicatie gaat:
Maar als de briefjes geladen word, wat werkt via een script
Dan zou dus de webapplicatie de initiator van de printopdracht moeten zijn, en niet de gebruiker zelf, anders ben je inderdaad weer terug in de situatie waarbij deze via een dialoog een printopdracht geeft waarbij JavaScript enkel een doorgeefluik is.
Pascal Schuffelers op 08/10/2018 11:32:38
Dit staat in dit geval los van het lokaal/intranet.
Sterker nog, ik denk dat je hier juist de oplossing zou moeten zoeken.
Het grote verschil is inderdaad, wie de print opdracht geeft. (en wie is in dit geval de server met PHP of de pc waarop de browser draait).
En is de oplossing nogal afhankelijk van de gebruikte hardware en het netwerk.
Zelf heb ik een setup waarbij de server buiten staat (in het buitenland zelfs) en waar de printers (A4 printer en een etiketten printer) in het netwerk op een kantoor in Nederland staan.
Die stap om van buitenaf in het interne netwerk te komen, heb jij niet.
Wel heb je de vraag hoe de printopdracht aan de printer gegeven kan worden door PHP.
In mijn setup kan ik een pdf-file aan CUPS(printer server software op de server waarop ook Apache draait) geven onder vermelding "voor printer X"
CUPS forwardt dat dan naar de printer.
MAar als het bijvoorbeeld een Word document zou zijn, wordt het moeilijker.
En ook als de printer niet rechstreeks een pdf begrijpt maar een andere datastroom wil hebben via een of andere driver.
Gebruikte hardware en software op de server is dus van belang.
(en ook of een systeembeheerder niet heeft ingesteld of een aanmelding van de gebruiker bij de printer (inloggen) nodig is)
Dit is inderdaad identiek aan wat wij doen in onze magazijnen. Pakbonnen, adreslabels, de hele boel gaat via CUPS vanaf (een) webserver via een tweede CUPS instantie in het magazijn naar de gewenste printer. Deze CUPS server kan in principe op een raspberry pi draaien, dus het kan erg eenvoudig. En Dymo printers kunnen gewoon door CUPS gestuurd worden.
De Dymo staat gewoon op de laptop , die ze daar gebruiken, via usb aangesloten.
Cups heb ik inderdaad op die RPI al staan.
Denk dat ik dan toch hier naar moet kijken, al zal ik wel een voorbeeld moeten kunnen vinden van een code die via CUPS zonder afdrukvoorbeeld iets af kan drukken.