Advertisement
Guest User

printText.lua

a guest
Apr 20th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.63 KB | None | 0 0
  1. term.clear()
  2. local arg = {...}
  3. printer = peripheral.wrap(arg[1])
  4. io.input(arg[2])
  5. text = io.read('*all')
  6. function check()
  7.     if printer.newPage() == false then
  8.         term.clear()
  9.         term.setCursorPos(1,1)
  10.         io.write('Please insert some paper!')
  11.     else paperWidth, paperHeight = printer.getPageSize()
  12.     end
  13. end
  14.  
  15. local function printerTable(text,paperWidth)
  16.     local table = {}
  17.     local i = 1
  18.     local space1 = 0
  19.     local space2 = 0
  20.     local lowerSpace = 0
  21.     local printerTable = {}
  22.     while (space1 ~= nil) and (space2 ~= nil) do
  23.         while (space2 ~= nil) and (space1 ~= nil) and (space1 < i*paperWidth) and (space2 < i*paperWidth) do
  24.             space1 = string.find(text,' ', space2+1)    
  25.             space2 = string.find(text,' ', space1+1)
  26.             if (space1 ~= nil) and (space2 ~= nil) then
  27.                 lowerSpace = math.min(space1,space2)
  28.             elseif space1 ~= nil then
  29.                 lowerSpace = space1
  30.             else
  31.                 lowerSpace = space2
  32.             end
  33.             print(space1,space2,lowerSpace)    
  34.         end
  35.         table[i] = lowerSpace
  36.         i = i+1
  37.     end
  38.     for i = 1, #table do
  39.         printerTable[i] = string.sub(text,table[i],table[i+1]-1)
  40.         return printerTable
  41.     end
  42. end
  43. check()
  44. if paperWidth*paperHeight<string.len(text) then
  45.     print('This text file won\'t fit on this page!')
  46. else
  47.     for i, v in ipairs(printerTable(text,paperWidth)) do
  48.         print(v)
  49.         printer.write(v)
  50.         printer.setCursorPos(i+1,i)
  51.     end
  52. end
  53.  
  54. printer.endPage()
  55. print(text)
  56. print(paperWidth,paperHeight)
  57. print(string.len(text))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement