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 è un wrapper di Aspose.Words for .NET, ecco perché i due prodotti hanno quasi lo stesso insieme di funzionalità. Tuttavia, ci sono alcune sfumature di lavoro e differenze nelle funzionalità e nel API, che sono descritte in questa pagina.
A causa del processo di confezionamento alcune funzionalità non sono disponibili nella versione Python. Ecco un elenco delle funzionalità più importanti che attualmente non sono disponibili nella versione Python.
Sebbene la conversione del tipo non sia naturale per gli sviluppatori Python, alcune attività non possono essere eseguite senza convertire i nodi o i campi dei documenti in un tipo concreto. Aspose.Words per Python via .NET fornisce metodi speciali che consentono il casting di oggetti laddove necessario.
La classe base per tutti i nodi del documento in Aspose.Words DOM è la classe Node. Ad esempio, i rendimenti del metodo get_child e l’istanza della classe Node, ma se è necessario modificare il nodo restituito, nella maggior parte dei casi è necessario convertirlo in un tipo concreto. Il codice seguente mostra come modificare il colore del carattere del primo Run nel 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")Il casting potrebbe essere richiesto anche quando viene utilizzato il metodo 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")Come potresti aver notato dove nel codice C# utilizzeresti (Paragraph)node per il casting, in Python devi usare il metodo node.as_paragraph(). Nella versione Python della classe Aspose.Words Node introduce il seguente collegamento di metodi as_xxx:
Il metodo as_xxx genera un RuntimeError con il messaggio simile al seguente se il nodo non può essere inserito nel tipo specificato:
RuntimeError: Proxy error(InvalidCastException): Unable to cast object of type ‘Aspose.Words.XXX’ to type ‘Aspose.Words.Drawing.YYY’.
La stessa situazione si applicava ai campi. Nell’esempio di codice seguente viene illustrato come sostituire i collegamenti ipertestuali:
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")Come avrai notato, l’oggetto Field fornisce anche una serie di metodi as_xxx, elencati di seguito:
Il casting è inoltre necessario per lavorare con gli stili di tabella:
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")Nell’esempio di codice seguente viene illustrato come leggere le proprietà del controllo 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 fornisce una serie di metodi as_xxx, elencati di seguito:
Aspose.Words per Python consente le proprietà dell’indicizzatore solo per tipo int, in .NET tuttavia è possibile utilizzare altri tipi, ad esempio stringhe. Per colmare questa lacuna, le seguenti classi hanno metodi aggiuntivi:
Per essere più vicini al mondo Python, i membri API di Aspose.Words per Python via .NET utilizzano lo stile serpente pitonico, tuttavia nella maggior parte dei casi hanno un analogo uno a uno in Aspose.Words per .NET API. Puoi trovare questi analoghi nel xml.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.