GroupDocs.Comparison for Python 26.5.0 متاح الآن. هذا هو أول إصدار عام على PyPI للمكتبة منذ 25.12 ويقدم غلافًا Pure-Python، مع ملف AGENTS.md المدمج لاكتشاف مساعد الذكاء الاصطناعي، سكريبت وحدة تحكم جديد، وإعادة هيكلة شاملة للوثائق.
ما الجديد في هذا الإصدار
| المفتاح | الفئة | الملخص |
|---|---|---|
| COMPARISONPYTHON-34 | Feature | إعادة بناء الغلاف Pure-Python — الآن يمكن استكشاف الواجهة العامة بالكامل من Python |
| COMPARISONPYTHON-35 | Feature | تضمين AGENTS.md داخل الحزمة لاكتشاف وكيل الذكاء الاصطناعي |
| COMPARISONPYTHON-36 | Feature | صفحة وثائق جديدة: الوكلاء وتكامل LLM (خادم MCP، ملف AGENTS.md المدمج، وثائق محسّنة لـ LLM) |
| COMPARISONPYTHON-39 | Feature | سكريبت وحدة التحكم groupdocs-comparison يتم تثبيته مع الحزمة — أوامر فرعية compare، info، list-formats |
| COMPARISONPYTHON-38 | Enhancement | إعادة هيكلة الوثائق — developer-guide/comparing-documents/ يدمج comparison-basic/ و advanced-usage/comparison/؛ تحميل وحفظ مسطح |
تغييرات API العامة
الفئات العليا الظاهرة حديثًا
هذه الفئات كانت موجودة في داخلية 25.12 لكنها كانت مخفية عن استكشاف Python بواسطة الغلاف المترجم بـ Nuitka. الآن يمكن استيرادها مباشرة:
from groupdocs.comparison.license import License, Metered
from groupdocs.comparison.options import (
Color, PdfCompareOptions, WordCompareOptions, CalculateCoordinatesModeEnumeration,
ChangeType, ComparisonDisplayMode, DetalisationLevel, FolderComparisonExtension,
ImagesInheritance, MetadataType, PagesSetup, PaperSize, PasswordSaveOption,
PreviewFormats, PreviewResolution,
)
from groupdocs.comparison.result import ComparisonAction, FileType, Rectangle
الفئة الجديدة Color
StyleSettings.font_color, .highlight_color, .shape_color, و .boarder_color الآن تقبل أيًا من:
from groupdocs.comparison.options import Color
# مصنع اللون المسمى
style.font_color = Color.from_name("firebrick")
# زوج RGB / RGBA
style.font_color = (255, 0, 0)
style.font_color = (255, 0, 0, 128)
# سلسلة Hex
style.font_color = "#FF8800"
style.font_color = "#80FF8800" # AARRGGBB
# عدد ARGB مضغوط
style.font_color = 0xFF0000
# أو كائن Color مباشرة
style.font_color = Color(178, 34, 34, 255)
Color يمكن استيراده من groupdocs.comparison، groupdocs.comparison.options، و groupdocs.pydrawing — جميع المسارات الثلاثة تُعيد نفس الفئة.
PreviewOptions القابلة للاستدعاء
منشئ PreviewOptions يقبل دالة Python للمنفذ CreatePageStream. توقيع الاستدعاء هو (page_number) -> writable_stream:
from groupdocs.comparison.options import PreviewOptions, PreviewFormats
def create_page_stream(page_number):
return open(f"page-{page_number}.png", "wb")
def release_page_stream(page_number):
pass # الجسر قد قام بالفعل بعملية التفريغ/الإغلاق
with Comparer("source.docx") as comparer:
preview = PreviewOptions(create_page_stream, release_page_stream)
preview.preview_format = PreviewFormats.PNG
preview.page_numbers = [1, 2, 3]
comparer.source.generate_preview(preview)
PreviewOptions(create_page_stream) (معامل واحد، بدون استدعاء إلغاء) صالح أيضًا.
Rectangle ذات النوع من خصائص الإحداثيات
options = CompareOptions(calculate_coordinates=True)
with Comparer("source.docx") as comparer:
comparer.add("target.docx")
comparer.compare(options)
for change in comparer.get_changes():
b = change.box
print(f"({b.x:.1f}, {b.y:.1f}) {b.width:.1f}x{b.height:.1f}")
# (488.96, 223.86) 71.09x36.80 — '…'
الإصلاح شامل على مستوى المنتج — ينطبق على كل خاصية ذات نوع قيمة في جميع المنتجات (Point، Size، إلخ، وليس فقط Rectangle).
معلمات kwargs بأسماء الخصائص في مُنشئات الخيارات
opts = ApplyChangeOptions(changes=changes, save_original_state=True)
save = SaveOptions(password="secret")
load = LoadOptions(password="open-sesame")
comp = CompareOptions(detect_style_changes=True, sensitivity_of_comparison=85)
نمط الـ setter لا يزال يعمل (opts = ApplyChangeOptions(); opts.changes = changes). معلمات kwargs غير المعروفة تُثير TypeError.
طرق جديدة مع لاحقة overload
تمت إضافة مجموعة من الطرق ذات اللاحقة overload إلى السطح العام بحيث يمكن استدعاء كل overload من .NET من Python باسم صريح غير غامض. أمثلة:
Comparer.add_file(path),add_stream(stream),add_streams(streams),add_string(text)Comparer.apply_changes_file(path, options),apply_changes_stream(stream, options), …Comparer.compare_file(...),compare_stream(...),compare_streams(...),compare_string(...),compare_compare_options(...),compare_save_options(...)Comparer.compare_directory_file(...),compare_directory_string(...)Comparer.get_changes_change_type(...),get_changes_get_change_options(...)License.set_license_file(...),set_license_stream(...),set_license_streams(...),set_license_string(...)Metered.set_metered_key_file(...),set_metered_key_string(...)Document.generate_preview_preview_options(...)localization.SupportedLocales.is_locale_supported_culture_info(...),is_locale_supported_file(...),is_locale_supported_string(...)
Comparer.dispose() صريح
متاح للمتصلين الذين يفضلون عدم استخدام نمط مدير السياق with. النمط الموصى به يظل:
with Comparer("source.docx") as comparer:
comparer.add("target.docx")
comparer.compare("result.docx")
تنسيق القيم enum
جميع القيم enum تستخدم قاعدة الأحرف الكبيرة في Python. القيم الشائعة:
from groupdocs.comparison.result import ComparisonAction, FileType
from groupdocs.comparison.options import (
ChangeType, ComparisonDisplayMode, DetalisationLevel,
FolderComparisonExtension, ImagesInheritance, MetadataType,
PaperSize, PasswordSaveOption, PreviewFormats, PreviewResolution,
)
from groupdocs.comparison.words.revision import RevisionAction
ComparisonAction.ACCEPT, ComparisonAction.REJECT, ComparisonAction.NONE
RevisionAction.ACCEPT, RevisionAction.REJECT, RevisionAction.NONE
PreviewFormats.PNG, PreviewFormats.JPG
MetadataType.SOURCE, MetadataType.TARGET, MetadataType.FILE_AUTHOR
PasswordSaveOption.USER, PasswordSaveOption.SOURCE, PasswordSaveOption.TARGET
إذا كنت تستخدم وثائق 25.12 التي كانت تُظهر قيم .Accept/.Reject، قم بتحديثها إلى الشكل بالأحرف الكبيرة.
مثال على الكود
فيما يلي مثال بسيط يوضح استيراد الفئات العليا الظاهرة حديثًا وإجراء مقارنة بسيطة:
from groupdocs.comparison import Comparer
from groupdocs.comparison.options import CompareOptions
options = CompareOptions(detect_style_changes=True)
with Comparer("source.docx") as comparer:
comparer.add("target.docx")
comparer.compare(options)
for change in comparer.get_changes():
print(f"Change type: {change.change_type}, Box: {change.box}")
كيفية الحصول على التحديث
PyPI
pip install groupdocs-comparison-net==26.5.0
العجلة منشورة على PyPI العام: https://pypi.org/project/groupdocs-comparison-net/
التحميل المباشر
لا توجد روابط تحميل مباشرة؛ احصل على الحزمة عبر PyPI أو موقع GroupDocs.
الموارد
- صفحة مشروع PyPI: https://pypi.org/project/groupdocs-comparison-net/
- وثائق الوكلاء وتكامل LLM: https://docs.groupdocs.com/comparison/python-net/agents-and-llm-integration/
- مستودع الأمثلة: https://github.com/groupdocs-comparison/GroupDocs.Comparison-for-Python-via-.NET
- منتدى الإبلاغ عن المشكلات: https://forum.groupdocs.com/c/comparison/
- مكتب الدعم المدفوع: https://helpdesk.groupdocs.com/