2014-06-12 6 views
3

Exiftool을 사용하여 일러스트레이터 파일 메타 데이터 값을 읽으려고합니다. 나는 아래에 따라 노력했다.ExifTool을 사용하여 메타 데이터 읽기

File[] images = new File("filepath").listFiles(); 
ExifTool tool = new ExifTool(Feature.STAY_OPEN); 
for(File f : images) { 
    if (f.toString().contains(".ai")) 
    { 
     System.out.println("test "+tool.getImageMeta(f, Tag.DATE_TIME_ORIGINAL)); 
    } 
} 
tool.close(); 

위의 코드는 값을 인쇄하지 않습니다. 나는 이것을 시도했다.

public static final File[] IMAGES = new File("filepath").listFiles(); 
ExifTool tool = new ExifTool(Feature.STAY_OPEN); 
for (File f : IMAGES) { 
System.out.println("\n[" + f.getName() + "]"); 
System.out.println(tool.getImageMeta(f, Format.NUMERIC, 
Tag.values())); 
} 

오직 {IMAGE_HEIGHT=2245, IMAGE_WIDTH=5393} 만 인쇄됩니다. Exiftool을 사용하여 메타 데이터 값을 호출하는 방법 조언 및 참고 링크는 높이 평가됩니다.

답변

0

주어진 API의 경우,

1-않습니다 당신은 그 자체가 해당 태그가

작성되지 않았을 수 있습니다

2 파일을 찾고 태그가 포함되지 3 - 당신은 더 일반적인 태그 명령 할 때를 사용하여 자신을 다시 할 수 있습니다 호출 exiftool.exe

소스 코드를보고 API에 사용할 수있는 모든 태그가 포함 된 enum을 찾으십시오. 그러면 해당 태그가 제한된 것으로 표시됩니다. 하지만 네, 당신은 당신이 사용하고있는 클래스와 비슷한 클래스를 만드는 것을 고려할 수도 있습니다. 나는 똑같은 일을하고있다. 그렇게하면 태그를 enum 대신 집합 또는 HashMap으로 저장할 수 있으므로 태그 선택이 훨씬 제한적입니다. 그런 다음, 프로세스의 OutputStream에 원하는 태그에 대한 명령을 작성한 다음 InputStream에서 결과를 읽습니다.

관련 문제