Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words вместо Python via .NET е опаковка от Aspose.Words вместо .NET, Ето защо двата продукта имат почти еднакви функции. Въпреки това, има някои нюанси на работа и разлики в характеристиките и API, които са описани на тази страница.
Поради процеса на опаковане има някои характеристики, които не са на разположение в Python версия. Ето списък на най-забележителните функции, които в момента не са налични в Python версия.
Въпреки че типът кастинг не е естествен за Python разработчиците някои задачи не могат да бъдат изпълнени без леене на документи възли или полета за конкретен тип. Aspose.Words вместо 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")Както може би сте забелязали. C# код, който бихте използвали (Paragraph)node за леене, в 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 вместо Python не позволява indexer свойства само чрез 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.