Printing from the web – Joas de Haan
Joas de Haan explains how to do printing from the web
So I’m going to talk about printing from the back. So I’m going to talk about printing from the back. I’m going to slide. I’m going to use for anyone that doesn’t know me. So printing from the back is a bit of a problem. It’s kind of possible, but not everything. It’s as smooth as printing from a smart line, for example. Because at Roush, they kind of directly talk to the printer. In a way, if you want to print something, the user gets a print preview. And from the head, you can choose a printer and print. But it’s always an extra click for the user to do. So for example, what you can use, there is the end to the client. You can choose the key for the printer. Also, as a developer, you can control the printer, the printer is actually happening. So you can find the printer that is used. You can also announce print to specific drivers of the printer. So I ran into this with a customer that does create an EFE for the whole sales market. And they still print a lot. So they have just normal, like, back in slips. They print to normal, A4, a paper, but they also have a print paper with headers. For the invoice, for example, and that need. Those come from a different drawer of the printer. And also, they print. They have like 10,000s for every day. So they don’t want to do 10,000 extra clicks every day. So they just want to let ours come in through the interface, through API. And it prints you just for a lot, no user should need to do anything for that. Yeah, so the printing just from the end to client was a really good option for them. So what they wanted was just to have the print for a lot. And also, that’s why which printers are used for certain reports. And also, these drives are used for every printer. So they have the right type of paper. The solution that we came up with is to use the empty desktop. And we created a small solution that prints in the empty desktop. The empty desktop is just started locally on the network of the appliance. So the application runs on the machine, the printer installed. And basically, they have a table with all the print jobs. It’s like a print queue. And the empty desktop client is just watching the table. And whenever a new record comes in, in the record, it says you should print this report from this printer. And then it just handles it on the right of the box. Well, the empty desktop in itself can still not print through a certain drawer. So for that, we use a different tool. Because the empty desktop can run commands on the command line. Let’s see. We’ll get a different one. Slide. Well, I can first show you. The tool we use is Sumatra. And from that, you can just do a print command. And for example, you can have a lot of options here. The one of them is, for example, the tray that’s used to print. I think I have it. So. And so for every record they have in their application, they specify where it should be printed. And I can have that application here. So they have here, they have all kinds of reports. So for example, you have a cell phone. It’s like an order slip. And they have a list. But for every report, they have a print mapping and you can specify where this report should be printed. So it can be a default printer for this report. So I can have a new line here and say, well, this report should also probably be printed on the command. And then the top tray will do copies. So right now, this cell phone is printed once on the brother printer and once on the can. And the brother device on the can. But also they specify if it should be different for certain users. One user always needs it on this printer and another user needs it on a different printer, for example. Okay, so then whenever this report is printed, we check the mapping. And when a print job comes in, then the anti-test resolution copies the file. So it’s a PDF file. It’s a little of this. And then we call the surmatera PDF using the command line. Something like this. So you specify the printer name, the tray number, the house of copies. And you have to get the path that it can really file its copies. And then the print stuff on the house is an intervention from the user. To get these installed, every time, also we should open that the density of the site. And it checks if the surmatera execute was already there. And another thing that it is user small to get the info from the printer. And then it’s called the print info. And it shows you. I have the solution here, we’re running from developer now. So here in the middle you see the print jobs. And when I print something in the other application, you see a new record in this list. And well, first the state is pending, but then it will be picked right away. And here you can specify which printers are available. And also the trace that are available for this printer. Well, one thing, so I use the determine which trace are available for every printer. I use the print tool. So basically what it does is if you even ask what all those specifications for the printer. And so somewhere in here there are open trace. So here for example. So if I want to add the new printer that I read this tool also on the command line, I use some regular expression to extract the information. So for example, if I remove this one and add it again. This one, if you want to add the broader one, it will automatically read which trace are available. So you can get left over different options that you’ve introduced. Yeah, so here I have some small words, but it’s still the best principle you can answer. Yeah, so there’s basically one that I wanted to show. So I don’t know if there are any questions. Just the one, do you have to remove the file? I guess you have to remove the file from the piece. Yeah, there’s right. It’s called by. Well, basically just wait for someone. No, no, no. Well, what we actually do is the little bits. I can see the red. I can see the red. I can see the red. I can see the red. Yeah, the red. No. Okay. Thank you. Thank you. Bye.