204.vsdを以下のsampleコードでvsdxに変換します。
public void sample() throws Exception {
Path input = Paths.get("C:\\test\\input"); Path output = Paths.get("C:\\test\\output"); String fileName = "204.vsd"; try (InputStream stream = Files.newInputStream(input.resolve(fileName)); OutputStream outputStream = Files.newOutputStream(output.resolve(fileName + ".vsdx"))) { Diagram diagram = new Diagram(stream); diagram.save(outputStream, SaveFileFormat.VSDX); } catch (Exception e) { System.out.println(fileName + ": converting failed."); System.out.println(e.getMessage()); } }
変換後のvsdxファイルを展開して中のXMLを確認します。
page5.xml、page26.xml内に含まれている"ToSheet"属性の値が"-1"になっています。
“ToSheet"のデータ型はunsignedInt のため、”-1"はOpenXMLの定義に違反しています。
正しく変換することは可能でしょうか。
使用バージョン: Aspose.Diagram for Java 22.4
サンプルデータ: Sample.zip (5.5 MB)