下記のコードでExcelファイル内の画像ファイルを抽出しています。
public byte[] extractImage(Workbook workbook) {
for (Object sheetObj : workbook.getWorksheets()) {
Worksheet sheet = (Worksheet) sheetObj;
for (Object pictureObj : sheet.getPictures()) {
Picture picture = (Picture) pictureObj;
return picture.getData();
}
}
return null;
}
しかし、下記のサンプルデータ内にあるtiff形式の画像ファイルを抽出することができませんでした。
使用バージョン:Aspose.Cells for Java 18.4
サンプルデータ:http://www.intermundo.ch/4.8.1_4.9.1_4.10.1_Aufgabenliste_Modelle_1_bis_3.xltx
抽出対象:\4.8.1_4.9.1_4.10.1_Aufgabenliste_Modelle_1_bis_3\xl\media\image1.tiff
この画像ファイルを抽出する方法はございますでしょうか。
お手数おかけしますが、ご確認の程よろしくお願いいたします。
@yudai_yamaguchi,
コードセグメントとテンプレートファイルをありがとう。
私はテンプレートXltxファイルを使用して述べたように問題を再現できます。 MS Excelにファイルを手動で開くと、TIFFイメージはスプレッドシートに表示されませんが、XLTXファイルのソース "\ xl \ media "で確認されます。 私はまた、次のコード行が常に "0"を与えることを確認しました:
System.out.println(sheet.getPictures).getCount());
私はあなたの問題のID "CELLSJAVA-42593"のチケットを記録しました。 テンプレートXLTXファイルの "\ xl \ media "に埋め込まれたTIFF画像を抽出する方法をサポートできるかどうかを確認してください。
更新があればここでお知らせします。
チケット作成のご対応ありがとうございました。
よろしくお願いいたします。
@yudai_yamaguchi
写真はページ設定の一部です。
次のコードを参照してください:
Java
Workbook workbook = new Workbook(dirPath + "4.8.1_4.9.1_4.10.1_Aufgabenliste_Modelle_1_bis_3.xltx");
PageSetup ps = workbook.getWorksheets().get(0).getPageSetup();
Picture pic = ps.getPicture(true, 2);
教えていただいたコードで画像を抽出することができました。
問題を解決していただきありがとうございました。
@yudai_yamaguchi,
あなたの問題は、提案されたコードで整理されていることを知っています。追加のヘルプやその他の問題や質問がある場合は、いつでもお気軽にお問い合わせください。私はあなたをすぐに助けます します。