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 es un contenedor de Aspose.Words para .NET, es por eso que los dos productos tienen casi el mismo conjunto de características. Sin embargo, existen algunos matices de trabajo y diferencias en las funciones y API, que se describen en esta página.
Debido al proceso de empaquetado, hay algunas funciones que no están disponibles en la versión Python. Aquí hay una lista de las características más notables que actualmente no están disponibles en la versión Python.
Aunque la conversión de tipos no es natural para los desarrolladores de Python, algunas tareas no se pueden realizar sin convertir nodos o campos de documentos a un tipo concreto. Aspose.Words para Python via .NET proporciona métodos especiales que permiten convertir objetos cuando sea necesario.
La clase base para todos los nodos de documentos en Aspose.Words DOM es la clase Node. Por ejemplo, el método get_child devuelve una instancia de la clase Node, pero si necesita modificar el nodo devuelto, en la mayoría de los casos debe convertirlo a un tipo concreto. El siguiente código demuestra cómo cambiar el color de fuente del primer Run del 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")También es posible que se requiera conversión cuando se utiliza el método 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")Como habrás notado, en qué parte del código C# usarías (Paragraph)node para la transmisión, en Python debes usar el método node.as_paragraph(). En la versión Python de la clase Aspose.Words Node se introduce el siguiente enlace de métodos as_xxx:
El método as_xxx genera un RuntimeError con el mensaje como el siguiente si el nodo no se puede asignar al tipo especificado:
RuntimeError: Proxy error(InvalidCastException): Unable to cast object of type ‘Aspose.Words.XXX’ to type ‘Aspose.Words.Drawing.YYY’.
La misma situación se aplica a los campos. El siguiente ejemplo de código demuestra cómo reemplazar enlaces de hipervínculo:
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 habrás notado, el objeto Field también proporciona un conjunto de métodos as_xxx, que se enumeran a continuación:
También se requiere casting para trabajar con estilos de tabla:
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")El siguiente ejemplo de código demuestra cómo leer las propiedades del control 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)La clase FontSourceBase proporciona un conjunto de métodos as_xxx, que se enumeran a continuación:
Aspose.Words para Python permite propiedades del indexador solo por tipo int; sin embargo, en .NET es posible utilizar otros tipos, por ejemplo cadenas. Para llenar este vacío, las siguientes clases tienen métodos adicionales:
Para estar más cerca del mundo Python, los miembros API de Aspose.Words para Python via .NET utilizan el estilo de serpiente pitónica, sin embargo, en la mayoría de los casos tienen un análogo uno a uno en Aspose.Words para .NET API. Puedes encontrar estos analógicos en el archivo xml.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.