.docx файл медленно открывается - PullRequest
0 голосов
/ 02 ноября 2018

Я использую 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. Я не уверен, если это проблема с моим ноутбуком или я просто должен признать, что эти файлы большие и жить с этим.

Любая помощь очень ценится!

...