С помощью ручного сканера штрих-кода компьютер получает числовое значение. Что соответствует именам файлов в каталоге. Задача программы — открыть PDF-файл и распечатать его.
Код: Выделить всё
def print_pdf(file_path):
# Открываем PDF файл в просмотрщике для печати
if os.path.exists(file_path):
subprocess.Popen(["open", "/wait", "/t", file_path, "Xprinter XP-420B"], shell=True)
else:
print("PDF файл не найден!")
Код: Выделить всё
def open_image(image_path):
# Открываем изображение с использованием стандартного просмотрщика
if os.path.exists(image_path):
subprocess.Popen(["start", image_path], shell=True)
else:
print("Изображение не найдено!")
Программа работает и запускается, но файлы не открываются должным образом.
Полный код:
Код: Выделить всё
import os
import subprocess
import time
def find_file_in_directory(directory, barcode):
# Простой поиск файла по штрих-коду
for filename in os.listdir(directory):
if barcode in filename:
return os.path.join(directory, filename)
return None
def print_pdf(file_path):
# Открываем PDF файл в просмотрщике для печати
if os.path.exists(file_path):
subprocess.Popen(["open", "/wait", "/t", file_path, "Xprinter XP-420B"], shell=True)
else:
print("PDF файл не найден!")
def open_image(image_path):
# Открываем изображение с использованием стандартного просмотрщика
if os.path.exists(image_path):
subprocess.Popen(["start", image_path], shell=True)
else:
print("Изображение не найдено!")
def main():
# Папка, где хранятся PDF и изображения
directory = "/Users/Poligraf 1/Desktop/PROJECT" # Укажите путь к папке
while True:
barcode = input("Сканируйте штрих-код: ")
pdf_file = find_file_in_directory(directory, barcode)
if pdf_file:
print_pdf(pdf_file)
# Предполагаем, что изображение тоже содержит штрих-код в названии
image_file = pdf_file.replace('.pdf', '.png') # или любой другой формат
open_image(image_file)
else:
print("Файл не найден для данного штрих-кода.")
time.sleep(1) # Задержка перед следующим сканированием
if __name__ == "__main__":
main()
Искал информацию о том, как правильно открывать файлы через Python, но не помогло.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ng-program