Отобразить содержание pdf (или doc, txt) в окне Pygame

Хочу создать некую библиотеку (обучающий проект). Подскажите, пожалуйста, возможно ли при нажатии на кнопку отразить текст pdf (или doc, txt) файла в окне pygame?
Или открыть данный файл при нажатии на кнопку.

Перебрала все варианты, которые нашла в интернете, но или нарушаю порядок написании кода или не правильно его понимаю.

При нажатии на K_button хочу отразить содержания файла или файл.

Отрывок кода:

import pygame
import sys
from Button import ImageButton


pygame.init()
screen = pygame.display.set_mode((1024, 670))
pygame.display.set_caption("Собственность")
icon = pygame.image.load("image/8920844.png")
pygame.display.set_icon(icon)
#Картинка фона
bg = pygame.image.load("image/XXL.png")

def theft158():
    home_button = ImageButton(10, 5, 35, 35, "", "image/Домой.png", "image/Домой2.png")
    back_button = ImageButton(45, 5, 40, 40, "", "image/Назад.png", "image/Назад2.png")
    K_button = ImageButton(20, 105, 1024, 30, "Астраханский областной суд", "image/Статьи.png", "image/Статья2.png")


    running = True
    while running:
        screen.fill((0, 0, 0))
        screen.blit(bg, (0, 0))
        home_button.check_hover(pygame.mouse.get_pos())
        home_button.draw(screen)
        back_button.check_hover(pygame.mouse.get_pos())
        back_button.draw(screen)
        K_button.check_hover(pygame.mouse.get_pos())
        K_button.draw(screen)

        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                running = False
                pygame.quit()
                sys.exit()

            home_button.handle_event(event)
            back_button.handle_event(event)

            if event.type == pygame.USEREVENT and event.button == home_button:
                main_menu()

            if event.type == pygame.USEREVENT and event.button == back_button:
                sud_menu()

            if event.type == pygame.USEREVENT and event.button == K_button:
                pass


if __name__ == "__main__":
    main_menu()

Ответы (2 шт):

Автор решения: Fox Fox

Для того, чтобы полноценно открыть документ Word или pdf, нужно чтоб объект, в котором содержимое отображается, поддерживал такое отображение как должно. С простым текстом проще. Вот вариант для "Или открыть данный файл при нажатии на кнопку":

import os
os.startfile(v_file)

Файл загрузится для просмотра в том приложении, которое закреплено в Windows за данным типом файла. Аналог "клацанья дважды по файлу в Проводнике".

→ Ссылка
Автор решения: S. Nick

Как вариант для my_file.txt:

main.py:

import pygame
from pygame.locals import *

pygame.init()
screen = pygame.display.set_mode([640, 380])
clock = pygame.time.Clock()

red = (255, 0, 0)
yellow = (255, 191, 0)
bg = pygame.image.load("background.png")

list_of_lines = []
with open('my_file.txt', encoding='utf-8') as file:
    list_of_lines = [line.rstrip() for line in file]

font = pygame.font.SysFont('impact', 24)
msg_list = []
for line in list_of_lines:
    msg = font.render(line, True, yellow)
    msg_list.append(msg)
rows = len(msg_list) - 1

centerx = screen.get_rect().centerx
centery = screen.get_rect().centery
deltaY = centery + 50  

running = True
while running:
    clock.tick(80)
    for event in pygame.event.get():
        if event.type == QUIT:
            running = False

    screen.fill(0)
    screen.blit(bg, (0, 0)) 
    
    deltaY -= 1
    for i, msg in enumerate(msg_list):
        pos = msg.get_rect(
            center=(centerx, centery + deltaY + 30 * i))
        screen.blit(msg, pos)
        
        if i==rows and pos.y < -50:
            centerx = screen.get_rect().centerx
            centery = screen.get_rect().centery
            deltaY = centery + 50  
  
    pygame.display.update()

pygame.quit()

my_file.txt:

HELLO Pygame

Как отобразить содержание 
my_file.txt 
в окне pygame?

Хочу создать некую библиотеку (обучающий проект) 
подскажите, пожалуйста, возможно ли при нажатии 
на кнопку отразить текст файла.txt в окне pygame? 
Или открыть данный файл при нажатии на кнопку. 
Перебрала все варианты, которые нашла в интернете, 
но или нарушаю порядок написании кода или 
не правильно его понимаю.

введите сюда описание изображения

background.png

введите сюда описание изображения

→ Ссылка