Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words pour Python via .NET est un wrapper de Aspose.Words pour .NET, c’est pourquoi les deux produits ont presque le même ensemble de fonctionnalités. Néanmoins, il existe certaines nuances de travail et différences dans les fonctionnalités et le API, qui sont décrites sur cette page.
En raison du processus d’emballage, certaines fonctionnalités ne sont pas disponibles dans la version Python. Voici une liste des fonctionnalités les plus remarquables qui ne sont actuellement pas disponibles dans la version Python.
Bien que la conversion de type ne soit pas naturelle pour les développeurs Python, certaines tâches ne peuvent pas être accomplies sans convertir les nœuds ou les champs des documents en type concret. Aspose.Words pour Python via .NET fournit des méthodes spéciales qui permettent de convertir des objets là où cela est nécessaire.
La classe de base pour tous les nœuds de document dans Aspose.Words DOM est la classe Node. Par exemple, la méthode get_child renvoie une instance de classe Node, mais si vous devez modifier le nœud renvoyé, dans la plupart des cas, vous devez le convertir en type concret. Le code suivant montre comment modifier la couleur de la police du premier Run du document:
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")La conversion peut également être requise lorsque la méthode clone est utilisée:
doc = aw.Document(docs_base.my_dir + "Document.docx")
clone = doc.clone().as_document()
clone.save(docs_base.artifacts_dir + "CloneAndCombineDocuments.cloning_document.docx")Comme vous avez peut-être remarqué où dans le code C# vous utiliseriez (Paragraph)node pour la diffusion, en Python, vous devez utiliser la méthode node.as_paragraph(). Dans la version Python de la classe Aspose.Words Node introduit le lien suivant de méthodes as_xxx:
La méthode as_xxx génère un RuntimeError avec le message suivant si le nœud ne peut pas être mis en casse selon le type spécifié:
RuntimeError: Proxy error(InvalidCastException): Unable to cast object of type ‘Aspose.Words.XXX’ to type ‘Aspose.Words.Drawing.YYY’.
La même situation s’appliquait aux champs. L’exemple de code suivant montre comment remplacer les liens hypertexte:
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")Comme vous l’avez peut-être remarqué, l’objet Field fournit également un ensemble de méthodes as_xxx, répertoriées ci-dessous:
Le casting est également requis pour travailler avec les styles de table:
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")L’exemple de code suivant montre comment lire les propriétés du contrôle 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 classe FontSourceBase fournit un ensemble de méthodes as_xxx, répertoriées ci-dessous:
Aspose.Words pour Python autorise les propriétés d’indexeur uniquement par type int, en .NET cependant il est possible d’utiliser d’autres types, par exemple des chaînes. Pour combler cette lacune, les classes suivantes disposent de méthodes supplémentaires:
Pour se rapprocher du monde Python, les membres API de Aspose.Words pour Python via .NET utilisent le style serpent pythonique, mais dans la plupart des cas, ils ont un analogue individuel en Aspose.Words pour .NET API. Vous pouvez trouver ces analogues dans le fichier XML.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.