Buscar Reemplazar Visio Java

Los archivos de Visio pueden incluir formas, conectores, imágenes o texto para representar diferentes diagramas que se utilizan para crear diagramas como organigramas, diagramas de flujo, etc. En ciertos escenarios, es posible que desee buscar y reemplazar texto en formato VSD o VSDX. Diagrama de Visio. En consecuencia, este artículo explica cómo buscar y reemplazar texto en dibujos de Visio mediante programación en Java.

Buscar y reemplazar texto en el diagrama de Visio: instalación de la API de Java

Aspose.Diagram for Java La API admite trabajar con diferentes formatos de archivo de Visio, incluidos VSD, VSDX, VSDM, VSSX, etc. Puede descargar los archivos JAR desde la sección Descargas o utilizar lo siguiente configuraciones en el archivo pom.xml de su proyecto para acceder a la API desde el Repositorio de Aspose:

Repositorio:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>http://repository.aspose.com/repo/</url>
    </repository>
</repositories>

Dependencia:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-diagram</artifactId>
        <version>22.4</version>
        <classifier>jdk16</classifier>
    </dependency>
</dependencies>

Buscar y reemplazar texto en el diagrama de Visio mediante programación en Java

Puede encontrar y reemplazar texto en un archivo de Visio en formato VSD VSDX con los siguientes pasos:

  1. Cree una colección de cadenas para buscar y reemplazar texto.
  2. Cargue el archivo de diagrama de origen de Visio y recorra el texto en cada forma.
  3. Escriba el archivo de diagrama de Visio de salida.

El ejemplo de código a continuación muestra cómo buscar y reemplazar texto en un archivo de Visio mediante programación usando Java:

// Cargue el diagrama de entrada
Diagram diagram = new Diagram("FindReplaceText.vsdx");

DateFormat dateFormat = new SimpleDateFormat("dd/MMMM/yyyy");
Date myDate = new Date(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();

// Preparar una colección de texto antiguo y nuevo
Hashtable<String, String> replacements = new Hashtable<String, String>();
replacements.put("[[CompanyName]]", "Research Society of XYZ");
replacements.put("[[CompanyName]]", "Research Society of XYZ");
replacements.put("[[EmplyeeName]]", "James Bond");
replacements.put("[[SubjectTitle]]", "The affect of the internet on social behavior in the industrialize world");

cal.setTime(myDate);
cal.add(Calendar.YEAR, -1);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[TimePeriod]]", dateFormat.format(cal.getTime()) + " -- " + dateFormat.format(myDate));

cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, -7);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[SubmissionDate]]", dateFormat.format(cal.getTime()));
replacements.put("[[AmountReq]]", "$100,000");

cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[DateApproved]]", dateFormat.format(cal.getTime()));

// Iterar a través de las formas de una página
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage("Page-1").getShapes())
{
    Set<String> keys = replacements.keySet();
    for(String key: keys)
    {
        for (FormatTxt txt : (Iterable<FormatTxt>) shape.getText().getValue())
        {
       	    Txt tx = (Txt)((txt instanceof Txt) ? txt : null);
            if (tx != null && tx.getText().contains(key))
            {
                // Buscar y reemplazar el texto de una forma
                tx.setText(tx.getText().replace(key, replacements.get(key)));
            }
        }
    }
}

// Guardar el diagrama
diagram.save("FindReplaceText_Out.vsdx", SaveFileFormat.VSDX);

Conclusión

En conclusión, ha entendido cómo buscar y reemplazar texto en los diagramas de Visio. También puede improvisar el fragmento de código para que funcione con otras sobrecargas del método de reemplazo. Por ejemplo, reemplazar todas las instancias de texto coincidente o solo la primera aparición del término de búsqueda en el archivo de Visio. Puede visitar el espacio documentación para conocer otras funciones para manipular o convertir archivos de MS Visio. En caso de que necesite discutir alguna de sus inquietudes o requisitos, comuníquese con nosotros en el foro.

Ver también

Convertir archivo Visio VSD o VSDX a XAML en Java