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تعریف سطح با قالب و مقدار شروع

همچنین ببینید:

 فارسی