Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words para Python via .NET é um wrapper de Aspose.Words para .NET, por isso os dois produtos possuem quase o mesmo conjunto de recursos. No entanto, existem algumas nuances de trabalho e diferenças de recursos e API, que são descritas nesta página.
Devido ao processo de empacotamento, existem alguns recursos que não estão disponíveis na versão Python. Aqui está uma lista dos recursos mais notáveis que atualmente não estão disponíveis na versão Python.
Embora a conversão de tipo não seja natural para desenvolvedores Python, algumas tarefas não podem ser realizadas sem a conversão de nós ou campos de documentos para um tipo concreto. Aspose.Words para Python via .NET fornece métodos especiais que permitem converter objetos onde for necessário.
A classe base para todos os nós de documento em Aspose.Words DOM é a classe Node. Por exemplo, o método get_child retorna uma instância da classe Node, mas se você precisar modificar o nó retornado, na maioria dos casos você deverá convertê-lo para um tipo concreto. O código a seguir demonstra como alterar a cor da fonte do primeiro Run do documento:
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")A conversão também pode ser necessária quando o método clone é usado:
doc = aw.Document(docs_base.my_dir + "Document.docx")
clone = doc.clone().as_document()
clone.save(docs_base.artifacts_dir + "CloneAndCombineDocuments.cloning_document.docx")Como você deve ter notado onde no código C# você usaria (Paragraph)node para conversão, em Python você deve usar o método node.as_paragraph(). Na versão Python da classe Aspose.Words Node apresenta o seguinte link de métodos as_xxx:
O método as_xxx gera um RuntimeError com a mensagem como a seguinte se o nó não puder ser caseado para o tipo especificado:
RuntimeError: Proxy error(InvalidCastException): Unable to cast object of type ‘Aspose.Words.XXX’ to type ‘Aspose.Words.Drawing.YYY’.
A mesma situação se aplica aos campos. O exemplo de código a seguir demonstra como substituir links de hiperlink:
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")Como você deve ter notado, o objeto Field também fornece um conjunto de métodos as_xxx, listados abaixo:
A conversão também é necessária para trabalhar com estilos de tabela:
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")O exemplo de código a seguir demonstra como ler propriedades de controle 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)A classe FontSourceBase fornece um conjunto de métodos as_xxx, listados abaixo:
Aspose.Words para Python permite propriedades do indexador apenas por tipo int, em .NET porém é possível utilizar outros tipos, por exemplo strings. Para preencher essa lacuna, as seguintes classes possuem métodos adicionais:
Para estar mais próximo do mundo Python, os membros API do Aspose.Words para Python via .NET usam o estilo python python, porém na maioria dos casos eles têm um para um análogo em Aspose.Words para .NET API. Você pode encontrar esses análogos no arquivoxml.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.