Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words consente agli utenti di lavorare con le immagini in modo molto flessibile. In questo articolo puoi esplorare solo alcune delle possibilità di lavorare con le immagini.
DocumentBuilder fornisce diversi sovraccarichi del metodo insert_image che consente di inserire un’immagine in linea o mobile. Se l’immagine è un metafile EMF o WMF, verrà inserita nel documento in formato metafile. Tutte le altre immagini verranno archiviate in formato PNG. Il metodo inserisci_immagine può utilizzare immagini provenienti da diverse fonti:
URL passando un parametro stringaStreamPer ognuno dei metodi inserisci_immagine sono presenti ulteriori sovraccarichi che permettono di inserire un’immagine con le seguenti opzioni:
Passa una singola stringa che rappresenta un file che contiene l’immagine a insert_image per inserire l’immagine nel documento come elemento grafico in linea.
L’esempio di codice seguente mostra come inserire un’immagine in linea nella posizione del cursore in un documento:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.insert_image(docs_base.images_dir + "Logo.jpg")
doc.save(docs_base.artifacts_dir+"WorkingWithImages.document_builder_insert_inline_image.doc")L’esempio di codice seguente mostra come inserire un’immagine mobile da un file o URL in una posizione e dimensione specificate:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.insert_image(docs_base.images_dir + "Logo.jpg",
aw.drawing.RelativeHorizontalPosition.MARGIN,
100,
aw.drawing.RelativeVerticalPosition.MARGIN,
100,
200,
100,
aw.drawing.WrapType.SQUARE)
doc.save(docs_base.artifacts_dir+"WorkingWithImages.document_builder_insert_floating_image.doc")Tutte le immagini sono archiviate all’interno dei nodi Shape in un Document. Per estrarre tutte le immagini o le immagini di tipo specifico dal documento, attenersi alla seguente procedura:
Il seguente esempio di codice mostra come estrarre immagini da un documento e salvarle come file:
È possibile scaricare il file modello di questo esempio da Qui.
Questo esempio dimostra come aggiungere codici a barre uguali o diversi su tutte o su pagine specifiche di un documento Word. Non esiste un modo diretto per aggiungere codici a barre su tutte le pagine di un documento ma puoi utilizzare i metodi move_to_section, move_to_header_footer e insert_image per spostarti in qualsiasi sezione o intestazione/piè di pagina e inserire le immagini del codice a barre come puoi vedere nel codice seguente.
L’esempio di codice seguente inserisce un’immagine del codice a barre in ogni pagina di un documento.
Le proporzioni di una forma geometrica sono il rapporto tra le sue dimensioni in diverse dimensioni. È possibile bloccare le proporzioni dell’immagine utilizzando aspect_ratio_locked. Il valore predefinito delle proporzioni della forma dipende dal ShapeType. È True per ShapeType.IMAGE e False per altri tipi di forma.
Il seguente esempio di codice mostra come lavorare con le proporzioni:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.insert_image(docs_base.images_dir + "Logo.jpg")
shape.aspect_ratio_locked = False
doc.save(docs_base.artifacts_dir+"WorkingWithImages.set_aspect_ratio_locked.doc")Se desideri che il riquadro di delimitazione effettivo della forma venga visualizzato sulla pagina, puoi ottenerlo utilizzando la proprietà bounds_in_points.
L’esempio di codice seguente mostra come utilizzare questa proprietà:
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
shape = builder.insert_image(docs_base.images_dir + "Logo.jpg")
shape.aspect_ratio_locked = False
print("\nGets the actual bounds of the shape in points.")
rect = shape.get_shape_renderer().bounds_in_points
print(f"{rect.x}, {rect.y}, {rect.width}, {rect.height}")Il ritaglio di un’immagine si riferisce solitamente alla rimozione delle parti esterne indesiderate di un’immagine per migliorare l’inquadratura. Viene utilizzato anche per rimuovere alcune porzioni di un’immagine per aumentare la messa a fuoco su un’area particolare.
L’esempio di codice seguente mostra come ottenere questo risultato utilizzando Aspose.Words API:
# The path to the documents directory.
inputPath = docs_base.images_dir + "Logo.jpg"
outputPath = docs_base.artifacts_dir + "cropped_logo.jpg"
self.crop_image(inputPath,outputPath, 100, 90, 200, 200)@staticmethod
def crop_image(inPath : str, outPath : str, left : int, top : int, width : int, height : int) :
doc = aw.Document();
builder = aw.DocumentBuilder(doc)
croppedImage = builder.insert_image(inPath)
src_width_points = croppedImage.width
src_height_points = croppedImage.height
croppedImage.width = aw.ConvertUtil.pixel_to_point(width)
croppedImage.height = aw.ConvertUtil.pixel_to_point(height)
widthRatio = croppedImage.width / src_width_points
heightRatio = croppedImage.height / src_height_points
if (widthRatio< 1) :
croppedImage.image_data.crop_right = 1 - widthRatio
if (heightRatio< 1) :
croppedImage.image_data.crop_bottom = 1 - heightRatio
leftToWidth = aw.ConvertUtil.pixel_to_point(left) / src_width_points
topToHeight = aw.ConvertUtil.pixel_to_point(top) / src_height_points
croppedImage.image_data.crop_left = leftToWidth
croppedImage.image_data.crop_right = croppedImage.image_data.crop_right - leftToWidth
croppedImage.image_data.crop_top = topToHeight
croppedImage.image_data.crop_bottom = croppedImage.image_data.crop_bottom - topToHeight
croppedImage.get_shape_renderer().save(outPath, aw.saving.ImageSaveOptions(aw.SaveFormat.JPEG))Aspose.Words fornisce funzionalità per salvare tutte le immagini disponibili in un documento in formato WMF durante la conversione di DOCX in RTF.
Il seguente esempio di codice mostra come salvare le immagini come WMF con le opzioni di salvataggio RTF:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.