Parsers
Parsers
내부 API — 이 페이지의 클래스는 공개 API의 일부가 아니며 최상위 수준에서 내보내지 않습니다
aspose.words_foss패키지. 이들은 문서 변환 파이프라인에서 내부적으로 사용됩니다. 대부분의 개발자는 다음을 사용해야 합니다LdmMarkdownWriter/LdmPdfWriter클래스와Document.text속성을 대신 사용하십시오. 보기 핵심 관리 공개 API를 위해. 이러한 클래스는 구현 세부 사항이며 사전 통보 없이 변경될 수 있습니다.
Aspose.Words FOSS for Python은 DOCX 내부에서 구조화된 데이터를 추출하는 특수 파서를 포함합니다. NumberingParser은 리스트 번호 정의를 처리하고, StyleParser은 문서 스타일을 추출합니다.
번호 매기기 파서
NumberingParser은 DOCX 패키지에서 번호 정의를 읽어들이고 이를 쿼리 API를 통해 노출합니다. 번호 XML를 로드하려면 parse_numbering_part()을 사용하고, 그 다음 헬퍼 메서드로 리스트 속성을 쿼리하십시오.
| 메서드 | 설명 |
|---|---|
NumberingParser.parse_numbering_part() | DOCX 번호 매기기 요소를 파싱합니다 |
NumberingParser.get_list_info() | ID로 특정 목록에 대한 정보를 가져옵니다. |
NumberingParser.get_level_info() | 주어진 깊이에서 목록의 레벨 세부 정보를 가져옵니다 |
NumberingParser.is_ordered_list() | 목록 수준이 순서형인지 글머리표인지 확인합니다 |
NumberingParser.get_start_value() | 목록 수준의 시작 번호를 가져옵니다. |
NumberingParser.get_delimiter() | 목록 수준에 대한 구분자 문자열을 가져옵니다. |
스타일 파서
StyleParser은 스타일 이름을 구조화된 ParsedStyle 객체로 파싱합니다. DOCX 스타일 이름을 기반으로 헤딩, 블록 인용, 코드 블록, 그리고 리스트 단락을 식별합니다.
| 메서드 | 설명 |
|---|---|
StyleParser.parse() | 스타일 이름을 ParsedStyle 객체로 파싱합니다 |
StyleParser.get_style_chain() | 상속된 스타일을 위해 스타일 이름 체인을 파싱합니다 |
StyleParser.is_setext_heading() | 스타일이 Setext 스타일 헤딩인지 확인합니다 |
StyleParser.extract_all_styles() | 쉼표로 구분된 체인에서 개별 스타일 이름을 추출합니다 |
번호 매기기 데이터 모델
구문 분석된 번호 매기기 데이터는 구조화된 객체에 저장됩니다:
| 클래스 | 설명 |
|---|---|
NumberingInfo | 번호 매기기 정의는 num_id, abstract_num_id, 및 levels를 사용합니다 |
NumberingLevel | 레벨 정의는 format, start, 및 text 속성을 포함합니다 |
ListInfo | 특정 리스트 인스턴스에 대한 정보 |
ListLevelInfo | 레벨별 서식 세부 정보 |
팁 및 모범 사례
- 문서를 로드한 후
parse_numbering_part()를 한 번 호출하여 모든 목록 정의를 채웁니다 is_ordered_list()를 사용하여 번호 매기기 목록과 글머리표 목록을 구분합니다- 단일 호출로 상속된 스타일 체인을 구문 분석하려면
get_style_chain()를 사용합니다 - 번호 매기기 및 스타일 파서는 문서 변환 파이프라인 내부에서 사용됩니다
일반적인 문제
| 문제 | 원인 | 수정 |
|---|---|---|
| 빈 번호 매기기 정의 | 문서에 목록이 없습니다 | get_list_info() 반환값을 속성에 접근하기 전에 확인하십시오 |
| 스타일 누락 | 스타일 이름을 인식할 수 없습니다 | 알려진 스타일 이름과 함께 parse()를 사용하십시오 |
| 잘못된 목록 수준 | 잘못된 수준 매개변수 | 목록 수준은 0부터 시작합니다 |
API Reference 요약
| 클래스 / 메서드 | 설명 |
|---|---|
NumberingParser.parse_numbering_part() | DOCX 번호 매기기 정의 구문 분석 |
NumberingParser.get_list_info() | ID로 목록 정보 조회 |
NumberingParser.is_ordered_list() | 목록 수준이 순서형인지 확인 |
StyleParser.parse() | 스타일 이름을 구조화된 정보로 구문 분석 |
StyleParser.get_style_chain() | 상속된 스타일 이름 체인을 구문 분석 |
NumberingInfo | 번호 매기기 정의 데이터 모델 |
NumberingLevel | 형식 및 시작 값을 포함한 레벨 정의 |