Olorin
Overview
Silent receipt and label printing for web apps like the Koha ILS, via the Olorin Companion App on this computer.
1. The web application embeds a print button in the web app, notice/slip templates carry it: ```html <button id="webPrint" data-printer="receipt_printer" data-print="#receipt">Print</button> ``` `data-printer` names one of five logical printers — `receipt_printer`, `sticker_printer`, `paper_printer`, `full_sheet_printer`, `label_printer` and `data-print` is a CSS selector for the element whose contents should print. Any element with the `olorinPlugin` class works the same way. 2. Wrap the printable part of the slip: ```html <span id="receipt"> ... slip content ... </span> ``` 3. To print automatically when the page loads, trigger a click on the button from the page's own JavaScript. In Koha that means setting the `IntranetSlipPrinterJS` system preference to: ```javascript setTimeout(function () { $("#webPrint").trigger("click"); }, 1000); ``` (Any page script that dispatches a real click works — jQuery is not required.) 4. The extension's options page maps each logical printer to a real OS printer, with per-printer page size, margins, orientation, number of copies, and duplex (long edge / short edge) mode. Settings are stored by the companion app, so they are shared by every browser on the machine. Pages can react to print outcomes by listening for a DOM event: ```javascript document.addEventListener("olorin:print-result", (e) => console.log(e.detail)); // e.detail = { success: true } or { success: false, error: "..." } ```
0 out of 5No ratings
Details
- Version2.0.0
- UpdatedJuly 27, 2026
- Offered bykyle
- Size36.92KiB
- Languages3 languages
- DeveloperByWater Solutions
7548 Welcana Dr Fairview, PA 16415-1026 USEmail
kyle@bywatersolutions.com - Non-traderThis developer has not identified itself as a trader. For consumers in the European Union, please note that consumer rights do not apply to contracts between you and this developer.
Privacy
This developer declares that your data is
- Not being sold to third parties, outside of the approved use cases
- Not being used or transferred for purposes that are unrelated to the item's core functionality
- Not being used or transferred to determine creditworthiness or for lending purposes