[解決済み] エラー: 配列または java.lang.Iterable のインスタンスに対してのみ反復処理可能です。
2022-02-04 20:22:41
質問
私はバーコードを作成し、それを読んで、Word文書に追加したいのですが、配列またはjava.lang.Iterableのインスタンスに対してのみ反復できるため、私のエラーでそれを作るように見えることはありません助けてください
投稿の更新 nodeCollectionはcom.aspose.words.のものです。
import com.aspose.barcode.*;
import com.aspose.barcoderecognition.BarCodeReadType;
import com.aspose.barcoderecognition.BarCodeReader;
import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.ImageType;
import com.aspose.words.NodeCollection;
import com.aspose.words.NodeType;
import com.aspose.words.Shape;
try
{
// Generate barcode image
BarCodeBuilder builder = new BarCodeBuilder();
builder.setSymbologyType(Symbology.Code39Standard);
builder.setCodeText("test-123");
String strBarCodeImageSave = "img.jpg";
builder.save(strBarCodeImageSave);
// Add the image to a Word doc
Document doc = new Document();
DocumentBuilder docBuilder = new DocumentBuilder(doc);
docBuilder.insertImage(strBarCodeImageSave);
String strWordFile = "docout.doc";
doc.save(strWordFile);
// Recognition part
// Extract image from the Word document
NodeCollection<Shape> shapes = doc.getChildNodes(NodeType.SHAPE, true, false);
int imageIndex = 0;
for(Shape shape: shapes)
{
if (shape.hasImage())
{
// If this shape is an image, extract image to file
String extension = ImageTypeToExtension(shape.getImageData().getImageType());
String imageFileName = MessageFormat.format("Image.ExportImages.{0} Out.{1}", imageIndex, extension);
String strBarCodeImageExtracted = "" + imageFileName;
shape.getImageData().save(strBarCodeImageExtracted);
// Recognize barcode from this image
BarCodeReader reader = new BarCodeReader((BufferedImage) Toolkit.getDefaultToolkit().getImage(strBarCodeImageExtracted),BarCodeReadType.Code39Standard);
while (reader.read())
{
System.out.println("codetext: " + reader.getCodeText());
}
imageIndex++;
}
}
}
catch(Exception ex)
{
System.out.println(ex.getMessage());
}
}
private static String ImageTypeToExtension(int imageType) throws Exception
{
switch (imageType)
{
case ImageType.BMP:
return "bmp";
case ImageType.EMF:
return "emf";
case ImageType.JPEG:
return "jpeg";
case ImageType.PICT:
return "pict";
case ImageType.PNG:
return "png";
case ImageType.WMF:
return "wmf";
default:
throw new Exception("Unknown image type.");
}
}}
解決方法は?
Nodecollectionはcom.aspose.words.NodeCollectionと仮定しています。
foreach構文を使いたいなら、そうした方がいい。
Node[] shapesArray = shapes.toArray();
for (Node node : shapesArray ){ ...
関連
-
[解決済み] StringBuilderをクリアまたは空にするにはどうすればよいですか?重複] [重複] [重複] [重複] [重複] [重複
-
[解決済み】接続Java - MySQL : 公開鍵の取得は許可されていません。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] Bashで変数で定義された数値の範囲を反復処理するにはどうすればよいですか?
-
[解決済み] JavaScriptで2次元の配列を作成するにはどうすればよいですか?
-
[解決済み] Javaでenumを繰り返し処理するためのforループ
-
[解決済み] Hibernateの「オブジェクトは保存されていないトランジェントインスタンスを参照しています - フラッシュする前にトランジェントインスタンスを保存してください」エラーの修正方法
-
[解決済み] Javaでリストを反復処理する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Hibernateエラー:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられました。
-
[解決済み] java.sql.SQLException: ユーザー 'root'@'localhost' (using password: YES) のためのアクセスが拒否されました。
-
[解決済み】Android Studioでタスク :app:compileDebugJavaWithJavac の実行に失敗しました。
-
[解決済み】指定された子にはすでに親がいます。先に子の親に対してremoveView()を呼び出す必要がある(Android)
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】非閉鎖文字リテラルエラー
-
[解決済み】なぜjava.io.Fileにはcloseメソッドがないのでしょうか?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】Ubuntu: OpenJDK 8 - パッケージを見つけることができません。
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。