Upload app.py
Browse files
app.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
import gradio as gr
|
| 2 |
import re
|
| 3 |
from docx import Document
|
| 4 |
-
from docx.shared import Cm
|
| 5 |
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
|
| 6 |
from docx.oxml.ns import qn
|
| 7 |
from docx.oxml import OxmlElement
|
|
@@ -49,10 +49,27 @@ def format_docx(file, chapter_keywords):
|
|
| 49 |
|
| 50 |
# 3. 檢查是否為章節標題
|
| 51 |
if re.search(combined_pattern, paragraph.text):
|
| 52 |
-
#
|
| 53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
|
| 55 |
-
#
|
| 56 |
for run in paragraph.runs:
|
| 57 |
run.font.bold = True
|
| 58 |
|
|
|
|
| 1 |
import gradio as gr
|
| 2 |
import re
|
| 3 |
from docx import Document
|
| 4 |
+
from docx.shared import Cm, Pt
|
| 5 |
from docx.enum.text import WD_PARAGRAPH_ALIGNMENT
|
| 6 |
from docx.oxml.ns import qn
|
| 7 |
from docx.oxml import OxmlElement
|
|
|
|
| 49 |
|
| 50 |
# 3. 檢查是否為章節標題
|
| 51 |
if re.search(combined_pattern, paragraph.text):
|
| 52 |
+
# 嘗試設定標題 1 樣式(處理不同語言版本的樣式名稱)
|
| 53 |
+
try:
|
| 54 |
+
# 英文版本
|
| 55 |
+
paragraph.style = doc.styles['Heading 1']
|
| 56 |
+
except KeyError:
|
| 57 |
+
try:
|
| 58 |
+
# 中文版本
|
| 59 |
+
paragraph.style = doc.styles['標題 1']
|
| 60 |
+
except KeyError:
|
| 61 |
+
try:
|
| 62 |
+
# 其他可能的名稱
|
| 63 |
+
paragraph.style = doc.styles['Heading1']
|
| 64 |
+
except KeyError:
|
| 65 |
+
# 如果都找不到,手動設定樣式
|
| 66 |
+
paragraph.style = doc.styles['Normal']
|
| 67 |
+
# 手動設定標題樣式
|
| 68 |
+
for run in paragraph.runs:
|
| 69 |
+
run.font.bold = True
|
| 70 |
+
run.font.size = Pt(16) # 16pt
|
| 71 |
|
| 72 |
+
# 確保粗體設定
|
| 73 |
for run in paragraph.runs:
|
| 74 |
run.font.bold = True
|
| 75 |
|