0
MS Word 문서의 생성을 자동화하고 있으며 코드의 일부는 win32com을 사용하여 목차와 헤더를 업데이트합니다. 이를 수행하는 함수는 다음과 같습니다.MS Word에서 파이썬으로 텍스트를 가운데에 맞추는 방법
import win32com.client as win32
def updateHeaderAndTOC(docx_file, headerText):
word = win32.gencache.EnsureDispatch("Word.Application")
doc = word.Documents.Open(docx_file)
word.ActiveDocument.Sections(1)\
.Headers(win32.constants.wdHeaderFooterPrimary)\
.Range.Text=headerText
doc.TablesOfContents(1).Update()
doc.Close(SaveChanges=True)
이것은 잘 작동하는 것 같습니다. 문제는 헤더 텍스트가 바뀌면 어떤 이유에서든 헤더 텍스트를 변경하기 전에 가운데에 정렬하는 대신 헤더가 왼쪽으로 정렬된다는 것입니다.
누군가 및/또는
- 방지 일어나고에서이 왼쪽 정당성을 알고 있나요?
센터 맞춤, 단일 단락 헤더가있는 테스트 파일을 만들었습니다. 귀하의 코드는 내 머리글을 왼쪽 맞춤으로 만들지 않았습니다. 당신의 타겟 단어 파일에서 center-tab으로 centering을했을지도 모릅니다. 이 경우 헤더 텍스트의 시작 부분에'\ t '를 추가 할 수 있습니다. – xidgel
교체 할 헤더에는 2 줄 (2 단락)이 있으며, 교체되는 헤더에는 2 줄/단락이 있습니다. 차이가 있니? – Jed
'headerText ='foo \ rbar \ r '과 같이 2-para 헤더를 바꾸는 문제를 재현 할 수 없습니다. 2 개의 가운데에있는 머리말 단락 뒤에 3 번째 빈 왼쪽 맞춤 단락이있는 경우 문제를 재현 할 수 있습니다. – xidgel