Я использую python для создания файла .docx, но файлы открываются очень медленно, если они вообще открываются. Цель состояла в том, чтобы взять текстовый файл и изображение и сделать так, чтобы цвет текста соответствовал цвету пикселя, чтобы создать новый файл, в котором изображение создается с текстом.
from PIL import Image
import numpy as np
import docx
from docx import Document
from docx.shared import RGBColor
f = open('Sherlock Holmes Script.txt')
lyrics = f.read()
pic = Image.open('SH2.jpg')
pix = pic.load()
if '\n' in lyrics:
lyrics = lyrics.replace('\n', " ")
doc = docx.Document()
style = doc.styles['Normal']
font = style.font
font.name = 'LM Mono 10'
font.size = docx.shared.Pt(6)
#Set margin size
#changing the page margins
sections = doc.sections
for section in sections:
section.top_margin = 0
section.bottom_margin = 0
section.left_margin = 0
section.right_margin = 0
section = doc.sections[-1]
section.page_width = docx.shared.Inches(17.55)
#section.page_height = docx.shared.Inches(28.1)
paragraph_format = doc.styles['Normal'].paragraph_format
paragraph_format.space_before = docx.shared.Pt(0)
paragraph_format.space_after = docx.shared.Pt(0)
pic_colors = pic.load()
color_list = []
for n in range(pic.height):
for m in range(pic.width):
color_list.append(pic_colors[m,n])
for i in range(len(lyrics)):
if i%pic.width == 0:
paraObj1 = doc.add_paragraph()
foo = paraObj1.add_run(lyrics[i])
font = foo.font
font.color.rgb = RGBColor(color_list[i][0],
color_list[i][1],
color_list[i][2])
doc.save('Sherlock 2.docx')
Код выполняется менее чем за минуту, но когда я дважды щелкаю полученный файл, LibreOffice Write открывается, но файл .docx не открывается. Через некоторое время я получаю сообщение о том, что LibreOffice перестал отвечать. Файл .docx имеет размер около 700 КБ, поэтому я ожидаю, что он будет немного медленным, но он вообще не откроется.
Я подумал, что это может быть проблема с файлами LibreOffice и .docx, поэтому я попытался открыть его с помощью Office Word Online, и он открывался, но затем зависал через минуту или две после открытия.
Я в Ubuntu 18.04, использую Python 3.6 и LibreOffice. Я не уверен, если это проблема с моим ноутбуком или я просто должен признать, что эти файлы большие и жить с этим.
Любая помощь очень ценится!