Trabajar con imágenes

Aspose.Words permite a los usuarios trabajar con imágenes de una forma muy flexible. En este artículo, puedes explorar sólo algunas de las posibilidades de trabajar con imágenes.

Cómo insertar una imagen

DocumentBuilder proporciona varias sobrecargas del método InsertImage que le permiten insertar una imagen en línea o flotante. Si la imagen es un metarchivo EMF o WMF, se insertará en el documento en formato de metarchivo. Todas las demás imágenes se almacenarán en formato PNG. El método InsertImage puede utilizar imágenes de diferentes fuentes:

  • Desde un archivo o URL pasando un parámetro String InsertImage
  • Desde una secuencia pasando un parámetro Stream InsertImage
  • Desde un objeto Imagen pasando un parámetro Imagen InsertImage
  • Desde una matriz de bytes pasando un parámetro de matriz de bytes InsertImage

Para cada uno de los métodos InsertImage, existen más sobrecargas que le permiten insertar una imagen con las siguientes opciones:

  • En línea o flotante en una posición específica, por ejemplo, InsertImage
  • Escala porcentual o tamaño personalizado, por ejemplo, InsertImage; Además, el método InsertImage devuelve un objeto Shape que acaba de crearse e insertarse para que pueda modificar aún más las propiedades de la Forma.

Cómo insertar una imagen {#insert-an-inline-image} en línea

Pase una sola cadena que represente un archivo que contiene la imagen a InsertImage para insertar la imagen en el documento como un gráfico en línea.

El siguiente ejemplo de código muestra cómo insertar una imagen en línea en la posición del cursor en un documento:

Cómo insertar una imagen flotante

El siguiente ejemplo de código muestra cómo insertar una imagen flotante desde un archivo o URL en una posición y tamaño específicos:

Cómo extraer imágenes de un documento

Todas las imágenes se almacenan dentro de nodos Shape en un Document. Para extraer todas las imágenes o imágenes que tengan un tipo específico del documento, siga estos pasos:

  • Utilice el método GetChildNodes para seleccionar todos los nodos Shape.
  • Iterar a través de las colecciones de nodos resultantes.
  • Verifique la propiedad booleana HasImage.
  • Extraer datos de imágenes utilizando la propiedad ImageData.
  • Guardar datos de imagen en un archivo.

El siguiente ejemplo de código muestra cómo extraer imágenes de un documento y guardarlas como archivos:

Cómo insertar un código de barras en cada página del documento

Este ejemplo le muestra cómo agregar códigos de barras iguales o diferentes en todas o en páginas específicas de un documento de Word. No existe una forma directa de agregar códigos de barras en todas las páginas de un documento, pero puede usar los métodos MoveToSection, MoveToHeaderFooter y InsertImage para moverse a cualquier sección o encabezado/pie de página e insertar las imágenes de códigos de barras como puede ver en el siguiente código.

El siguiente ejemplo de código muestra cómo insertar una imagen de código de barras en cada página de un documento:

Bloquear relación de aspecto de imagen

La relación de aspecto de una forma geométrica es la relación de sus tamaños en diferentes dimensiones. Puede bloquear la relación de aspecto de la imagen usando AspectRatioLocked. El valor predeterminado de la relación de aspecto de la forma depende del ShapeType. Es true para ShapeType.Image y false para otros tipos de formas.

El siguiente ejemplo de código muestra cómo trabajar con la relación de aspecto:

Cómo obtener límites reales de forma en puntos

Si desea que el cuadro delimitador real de la forma se represente en la página, puede lograrlo utilizando la propiedad BoundsInPoints.

El siguiente ejemplo de código muestra cómo utilizar esta propiedad:

Recortar imágenes

El recorte de una imagen generalmente se refiere a la eliminación de las partes exteriores no deseadas de una imagen para ayudar a mejorar el encuadre. También se utiliza para eliminar algunas partes de una imagen para aumentar el enfoque en un área particular.

El siguiente ejemplo de código muestra cómo lograr esto usando Aspose.Words API:

Guardar imágenes como WMF

Aspose.Words proporciona funcionalidad para guardar todas las imágenes disponibles en un documento en formato WMF mientras convierte DOCX a RTF.

El siguiente ejemplo de código muestra cómo guardar imágenes como WMF con opciones de guardado RTF: