Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words for Python via .NET عبارة عن غلاف لـ Aspose.Words لـ .NET، ولهذا السبب يتمتع المنتجان بنفس مجموعة الميزات تقريبًا. ومع ذلك، هناك بعض الفروق الدقيقة في العمل والاختلافات في الميزات وAPI، الموضحة في هذه الصفحة.
بسبب عملية التغليف، هناك بعض الميزات غير المتوفرة في إصدار Python. فيما يلي قائمة بأبرز الميزات غير المتوفرة حاليًا في إصدار Python.
على الرغم من أن تحويل الكتابة ليس أمرًا طبيعيًا بالنسبة لمطوري Python، إلا أن بعض المهام لا يمكن إنجازها دون إرسال العقد أو الحقول إلى نوع محدد من المستندات. يوفر Aspose.Words for Python via .NET طرقًا خاصة تتيح إرسال الكائنات عندما يكون ذلك ضروريًا.
الفئة الأساسية لجميع عقد المستندات في Aspose.Words DOM هي فئة Node. على سبيل المثال، تقوم طريقة get_child بإرجاع ومثيل فئة Node، ولكن إذا كنت بحاجة إلى تعديل العقدة التي تم إرجاعها، فيجب عليك في معظم الحالات تحويلها إلى نوع ملموس. يوضح الكود التالي كيفية تغيير لون خط Run الأول في المستند:
doc = aw.Document(docs_base.my_dir + "Document.docx")
# Get the first Run node and cast it to Run object.
run = doc.get_child(aw.NodeType.RUN, 0, True).as_run()
# Make changes to the run
run.font.color = drawing.Color.red
# Save the result
doc.save(docs_base.artifacts_dir + "WorkingWithNode.change_run_color.docx")قد يكون الإرسال مطلوبًا أيضًا عند استخدام طريقة clone:
doc = aw.Document(docs_base.my_dir + "Document.docx")
clone = doc.clone().as_document()
clone.save(docs_base.artifacts_dir + "CloneAndCombineDocuments.cloning_document.docx")كما قد تلاحظ أين تستخدم (Paragraph)node في كود C# للإرسال، في Python يجب عليك استخدام طريقة node.as_paragraph(). في إصدار Python لفئة Aspose.Words Node يقدم الرابط التالي لطرق as_xxx:
تقوم طريقة as_xxx برفع RuntimeError برسالة مثل ما يلي إذا تعذر ربط العقدة بالنوع المحدد:
RuntimeError: Proxy error(InvalidCastException): Unable to cast object of type ‘Aspose.Words.XXX’ to type ‘Aspose.Words.Drawing.YYY’.
وينطبق نفس الوضع على الحقول. يوضح مثال التعليمات البرمجية التالي كيفية استبدال ارتباطات الارتباط التشعبي:
doc = aw.Document(docs_base.my_dir + "Hyperlinks.docx")
for field in doc.range.fields :
if field.type == aw.fields.FieldType.FIELD_HYPERLINK:
hyperlink = field.as_field_hyperlink()
# Some hyperlinks can be local (links to bookmarks inside the document), ignore these.
if hyperlink.sub_address != None :
continue
hyperlink.address = "https:#www.aspose.com"
hyperlink.result = "Aspose - The .net & Java Component Publisher"
doc.save(docs_base.artifacts_dir + "WorkingWithFields.replace_hyperlinks.docx")كما لاحظت، يوفر كائن Field أيضًا مجموعة من أساليب as_xxx، المدرجة أدناه:
الإرسال مطلوب أيضًا للعمل مع أنماط الجدول:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
table = builder.start_table()
builder.insert_cell()
builder.write("Name")
builder.insert_cell()
builder.write("Value")
builder.end_row()
builder.insert_cell()
builder.insert_cell()
builder.end_table()
# Add a table style and modify it's properties.
tableStyle = doc.styles.add(aw.StyleType.TABLE, "MyTableStyle1").as_table_style()
tableStyle.borders.line_style = aw.LineStyle.DOUBLE
tableStyle.borders.line_width = 1
tableStyle.left_padding = 18
tableStyle.right_padding = 18
tableStyle.top_padding = 12
tableStyle.bottom_padding = 12
table.style = tableStyle
doc.save(docs_base.artifacts_dir + "WorkingWithTableStylesAndFormatting.create_table_style.docx")يوضح مثال التعليمات البرمجية التالي كيفية قراءة خصائص عنصر تحكم ActiveX:
doc = aw.Document(docs_base.my_dir + "ActiveX controls.docx")
properties = ""
for shape in doc.get_child_nodes(aw.NodeType.SHAPE, True) :
shape = shape.as_shape()
if shape.ole_format == None :
break
oleControl = shape.ole_format.ole_control
if oleControl.is_forms2_ole_control :
checkBox = oleControl.as_forms2_ole_control()
properties = properties + "\nCaption: " + checkBox.caption
properties = properties + "\nValue: " + checkBox.value
properties = properties + "\nEnabled: " + str(checkBox.enabled)
properties = properties + "\nType: " + str(checkBox.type)
if checkBox.child_nodes != None :
properties = properties + "\nChildNodes: " + checkBox.child_nodes
properties += "\n"
properties = properties + "\nTotal ActiveX Controls found: " + str(doc.get_child_nodes(aw.NodeType.SHAPE, True).count)
print("\n" + properties)توفر فئة FontSourceBase مجموعة من أساليب as_xxx، وهي مدرجة أدناه:
يسمح Aspose.Words for Python بخصائص المفهرس فقط حسب نوع int، في .NET، ومع ذلك من الممكن استخدام أنواع أخرى، على سبيل المثال السلاسل. لملء هذه الفجوة، لدى الفئات التالية طرق إضافية:
لكي نكون أقرب إلى عالم Python، يستخدم أعضاء API في Aspose.Words لـ Python via .NET أسلوب الثعبان الثعباني، ولكن في معظم الحالات لديهم تناظري واحد لواحد في Aspose.Words لـ .NET API. يمكنك العثور على هذه التناظرية في ملف XML.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.