下記のコードで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: Installation|Documentation