줄 바꿈 결정
Contents
[
Hide
]
다중 행 TextFragment의 줄 바꿈 추적
다음 코드 스니펫은 PDF 문서 내에서 다중 행 TextFragment의 줄 바꿈 동작을 추적하는 방법을 보여줍니다.
track_line_breaking() 함수는 이 기능을 시연하기 위해 정의되었습니다. 이 함수는 생성된 PDF 문서와 줄 바꿈 정보가 포함된 해당 텍스트 파일의 출력 파일 경로를 지정하는 것으로 시작합니다.
함수 내에서 새 PDF 문서 객체가 생성되고 새로운 페이지가 추가됩니다. 그런 다음, 문자열 내에 줄 바꿈 ("\r\n")이 삽입된 텍스트를 포함하는 TextFragment의 네 인스턴스를 생성하기 위해 루프가 사용됩니다. 이로 인해 다중 행 텍스트가 시뮬레이션됩니다.
각 TextFragment는 페이지의 단락에 추가되기 전에 20포인트의 글꼴 크기로 설정됩니다.
모든 TextFragment가 추가된 후 문서는 저장됩니다.
그 후, 함수는 생성된 PDF 문서의 두 번째 페이지에서 줄 바꿈에 대한 알림을 get_notifications() 메서드를 사용하여 추출합니다. 이 알림은 이전에 지정된 텍스트 파일에 작성됩니다.
이 코드 스니펫은 여러 줄의 텍스트를 포함하는 PDF 문서를 생성한 후 줄 바꿈 동작에 대한 정보를 추출하여 문서 내에서 텍스트가 어떻게 배치되는지에 대한 통찰력을 제공합니다.
import aspose.pdf as ap
def track_line_breaking():
"""여러 줄의 TextFragment의 줄 바꿈 추적"""
output_pdf = DIR_OUTPUT_TEXTS + "track_line_breaking.pdf"
output_txt = DIR_OUTPUT_TEXTS + "track_line_breaking.txt"
# 새로운 문서 객체 생성
document = ap.Document()
page = document.pages.add()
for i in range(4):
text = ap.text.TextFragment(
"Lorem ipsum \r\ndolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
)
text.text_state.font_size = 20
page.paragraphs.add(text)
document.save(output_pdf)
notifications = document.pages[1].get_notifications()
with open(output_txt, "w") as f:
f.write(notifications)