Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- tArgs = {...}
- if tArgs = <2 then
- print("Usage: Print <Receipt> <Title>")
- end
- local function Print()
- local sPrinterSide = nil
- for n,sName in ipairs(peripheral.getNames()) do
- if peripheral.isPresent(sName) and peripheral.getType(sName) == "printer" then
- sPrinterSide = sName
- break
- end
- end
- local nPage = 0
- local printer = peripheral.wrap(sPrinterSide)
- if printer.getInkLevel() < 1 then
- sStatus = "Printer out of ink"
- return
- elseif printer.getPaperLevel() < 1 then
- sStatus = "Printer out of paper"
- return
- end
- local terminal = {
- getCursorPos = printer.getCursorPos,
- setCursorPos = printer.setCursorPos,
- getSize = printer.getPageSize,
- write = printer.write,
- }
- terminal.scroll = function()
- if nPage == 1 then
- printer.setPageTitle(tArgs[2])
- end
- while not printer.newPage() do
- if printer.getInkLevel() < 1 then
- sStatus = "Printer out of ink, please refill"
- elseif printer.getPaperLevel() < 1 then
- sStatus = "Printer out of paper, please refill"
- else
- sStatus = "Printer output tray full, please empty"
- end
- term.restore()
- local timer = os.startTimer(0.5)
- sleep(0.5)
- end
- nPage = nPage + 1
- if nPage == 1 then
- printer.setPageTitle(tArgs[2])
- else
- printer.setPageTitle(tArgs[2])
- end
- end
- while not printer.endPage() do
- sStatus = "Printer output tray full, please empty"
- sleep( 0.5 )
- end
- if nPage > 1 then
- sStatus = "Printed "..nPage.." Pages"
- else
- sStatus = "Printed 1 Page"
- end
- end
- Print()
Advertisement
Add Comment
Please, Sign In to add comment