We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

Aspose.Cells for Java 一部のSmartArtからテキストが抽出できない

下記のコードでSmartArtからテキストを抽出しています。

for (Object shapeObj : sheet.getShapes()) {
    Shape shape = (Shape) shapeObj;
    // SmartArtを取得
    if (shape.isSmartArt()) {
        GroupShape resultOfSmartArt = shape.getResultOfSmartArt();
        Shape[] groupedShapes = resultOfSmartArt.getGroupedShapes();
        Arrays.asList(groupedShapes).stream()
                .forEach(x -> {
                    texts.add(x.getText()); //nullが返ってくる
                    texts.add(x.getTitle());
                    texts.add(x.getAlternativeText());
                });
    }
}

しかし、下記のサンプルデータ内にある歯車型のSmartArtからテキストを抽出することができませんでした、
(別の種類のSmartArtからはテキストが抽出できています。)

使用バージョン:Aspose.Cells for Java 18.4
サンプルデータ:smartart.zip (52.0 KB)

このSmartArtからテキストを抽出する方法はございますでしょうか。

お手数おかけしますが、ご確認の程よろしくお願いいたします。

@yudai_yamaguchi,

テンプレートファイルをありがとう。

最初のテストの後、私はテンプレートファイルのサンプルコードを使って説明したように問題を観察しました。私はギアタイプのSmartArtからテキストを抽出できないことを発見しました。グループ内の図形の属性ごとに「null」または何も返されません。
例えば
サンプルコード:

Workbook wb = new Workbook("f:\\files\\smartart\\smartart.xls"); 

Worksheet sheet = wb.getWorksheets().get(0); 

for (Object shapeObj : sheet.getShapes()) { 
Shape smShape = (Shape) shapeObj; 
// SmartArtを取得 
if (smShape.isSmartArt()) { 
//Convert it to group shape and access all individual shapes 
Shape[] shapes = smShape.getResultOfSmartArt().getGroupedShapes(); 

for (int i =0; i< shapes.length; i++) 
{ 
Shape shape = shapes[i];	
System.out.println(shape.getText()); 
System.out.println(shape.getTitle()); 
System.out.println(shape.getAlternativeText()); 
} 

} 
} 

あなたの問題ID "CELLSJAVA-42612"のチケットを記録しました。私たちはすぐにそれを調査します。

更新がある場合は、ここでお知らせします。

チケット作成のご対応ありがとうございました。
以上、よろしくお願いいたします。

@yudai_yamaguchi,

これは、Aspose.Cellsがギアジオメトリの解析を現在サポートしていないことを通知するためです。 うまくいけば、私たちは来月末までにそれをサポートすることができます。

現在サポートしていない件について了解いたしました。
引き続きご対応の程よろしくお願いいたします。

@yudai_yamaguchi,

这是为了告诉你,我们已经支持这个功能并且早些时候解决了这个问题。 在实施QA并添加其他扩展和修改之后,我们将很快提供一个固定版本。

問題を解決していただき、ありがとうございました。

@yudai_yamaguchi

以下の修正プログラムをダウンロードしてお試しください。フィードバックをお寄せください。

ご対応ありがとうございます。
修正版を使って、歯車型からテキスト抽出できることを確認しました。

1つお伺いしたいことがあります。
現在、他にもAspose.Cells for JavaでサポートしていないSmartArtのタイプはありますでしょうか。
もしサポートしていないタイプがある場合は、そのタイプを教えていただきたいです。

お手数おかけしますが、ご確認の程よろしくお願いいたします。

@yudai_yamaguchi,

ほとんどのスマートアートシェイプはレンダリングをサポートします 製品のリリースごとに、形状からイメージへの変換のためにモジュールを内部的に変更します。 特定のスマートアートや他の図形をレンダリングするときに問題が見つかった場合は、詳細とサンプルを提供してください。 すぐに問題をチェックして修正してください。

ご返答ありがとうございます。
SmartArtのサポートについて承知しました。
また、問題があったときはご連絡させていただきます。

The issues you have found earlier (filed as CELLSJAVA-42612) have been fixed in Aspose.Cells for Java 18.6. Please also see the document for your reference: https://docs.aspose.com/display/cellsjava/Installation