Parsers
Parsers
درونی API — کلاسهای این صفحه بخشی از API عمومی نیستند و از سطح بالایی صادر نمیشوند
aspose.words_fossپکیج. آنها بهصورت داخلی توسط خط لوله تبدیل سند استفاده میشوند. اکثر توسعهدهندگان باید ازLdmMarkdownWriter/LdmPdfWriterکلاسها وDocument.textبهجای آن از ویژگی استفاده کنید. ببینید مدیریت هسته برای API عمومی. این کلاسها جزئیات پیادهسازی هستند و ممکن است بدون اطلاع قبلی تغییر کنند.
Aspose.Words FOSS برای Python شامل پارسِرهای تخصصی است که دادههای ساختار یافته را از داخلیهای DOCX استخراج میکنند. NumberingParser تعاریف شمارهگذاری فهرست را مدیریت میکند و StyleParser سبکهای سند را استخراج میکند.
پارسِر شمارهگذاری
NumberingParser تعاریف شمارهگذاری را از یک بستهٔ DOCX میخواند و آنها را از طریق پرسوجوی API در دسترس میگذارد. برای بارگذاری XML شمارهگذاری از parse_numbering_part() استفاده کنید، سپس با روشهای کمکی ویژگیهای فهرست را پرسوجو کنید.
| روش | توضیح |
|---|---|
NumberingParser.parse_numbering_part() | تجزیه عنصر شمارهگذاری DOCX |
NumberingParser.get_list_info() | دریافت اطلاعات دربارهٔ یک فهرست خاص با شناسه |
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() همراه با یک نام سبک شناختهشده استفاده کنید |
| سطح لیست نادرست | پارامتر سطح نادرست | سطوح لیست به صورت صفر-مبنا هستند |
API Reference خلاصه
| کلاس / متد | توضیح |
|---|---|
NumberingParser.parse_numbering_part() | تجزیه تعاریف شمارهگذاری DOCX |
NumberingParser.get_list_info() | پرس و جو اطلاعات لیست بر پایه شناسه |
NumberingParser.is_ordered_list() | بررسی اینکه آیا یک سطح لیست ترتیبدار است |
StyleParser.parse() | تجزیه نام سبک به اطلاعات ساختاریافته |
StyleParser.get_style_chain() | تحلیل زنجیرهای از نامهای سبک ارثبریشده |
NumberingInfo | مدل داده تعریف شمارهگذاری |
NumberingLevel | تعریف سطح با قالب و مقدار شروع |