Added image printing capabilities
This commit is contained in:
parent
70cffdeb57
commit
2c2efd9a57
1 changed files with 33 additions and 2 deletions
|
@ -3,12 +3,15 @@
|
|||
# python imports
|
||||
import argparse
|
||||
import logging
|
||||
import math
|
||||
import datetime
|
||||
import os
|
||||
import os.path
|
||||
|
||||
# 3rd party imports
|
||||
from escpos.printer import Usb, Dummy, File
|
||||
import feedparser
|
||||
from PIL import Image
|
||||
import re
|
||||
import requests
|
||||
|
||||
|
@ -178,9 +181,32 @@ def print_file(printer, file):
|
|||
printer.text(line)
|
||||
|
||||
file.close()
|
||||
printer.text("\n\n")
|
||||
|
||||
|
||||
def print_image(printer, image):
|
||||
"""
|
||||
Prints an image
|
||||
"""
|
||||
# Load the image to adjust it
|
||||
im = Image.open(image)
|
||||
|
||||
ratio = float(im.size[0]) / float(im.size[1])
|
||||
|
||||
if im.size[0] > im.size[1]:
|
||||
# The image needs to be rotated
|
||||
width = math.floor(384 * ratio)
|
||||
im = im.resize((width, 384))
|
||||
im = im.transpose(Image.ROTATE_90)
|
||||
|
||||
else:
|
||||
height = math.floor(384.0 * ratio)
|
||||
im = im.resize((384, height))
|
||||
|
||||
im.save("temp.png")
|
||||
printer.hw("INIT")
|
||||
printer.image("temp.png")
|
||||
os.remove("temp.png")
|
||||
|
||||
|
||||
def clear_html(text):
|
||||
cleanr = re.compile('<.*?>|&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});')
|
||||
|
@ -198,6 +224,7 @@ def create_parser():
|
|||
parser.add_argument("--news", default=False)
|
||||
parser.add_argument("--text", nargs=1, default=None)
|
||||
parser.add_argument("--file", default=None, type=open)
|
||||
parser.add_argument("--image", nargs=1, default=None)
|
||||
|
||||
return parser
|
||||
|
||||
|
@ -209,7 +236,7 @@ if __name__ == "__main__":
|
|||
args = parser.parse_args()
|
||||
|
||||
if args.text:
|
||||
print_text(printer, args.text)
|
||||
print_text(printer, args.text[0])
|
||||
printer.text("\n\n")
|
||||
|
||||
if args.file:
|
||||
|
@ -229,3 +256,7 @@ if __name__ == "__main__":
|
|||
printer.text("\n\n")
|
||||
print_rss(printer, "https://www.space.com/feeds/all", news=2)
|
||||
printer.text("\n\n")
|
||||
|
||||
if args.image:
|
||||
print_image(printer, args.image[0])
|
||||
printer.text("\n\n")
|
||||
|
|
Loading…
Reference in a new issue