我想将标题,描述或关键字等IPTC数据写入jpg文件,但它不起作用。如果我运行示例代码,则写入第二个jpg文件,但没有示例数据。我正在使用Apache的commons映像库: http://commons.apache.org/proper/commons-imaging/
以下是示例代码:
TiffImageMetadata metadata = ((JpegImageMetadata)Imaging.getMetadata(new File(JPG_PATH +
"\\IMGP5996_empty.jpg"))).getExif();
ExifRewriter rewriter = new ExifRewriter();
TiffOutputSet outputSet = metadata.getOutputSet();
TiffOutputDirectory exif = outputSet.getOrCreateExifDirectory();
exif.add(MicrosoftTagConstants.EXIF_TAG_XPAUTHOR, "TEST_AUTHOR");
exif.add(MicrosoftTagConstants.EXIF_TAG_XPCOMMENT, "TEST_COMMENT");
exif.add(MicrosoftTagConstants.EXIF_TAG_XPSUBJECT, "TEST_SUBJECT");
exif.add(MicrosoftTagConstants.EXIF_TAG_XPTITLE, "TEST_TITLE");
exif.add(MicrosoftTagConstants.EXIF_TAG_XPKEYWORDS, "TEST_KEYWORD");
FileOutputStream fos=new FileOutputStream(new File(JPG_PATH + "\\IMGP5996_empty-2.jpg"));
rewriter.updateExifMetadataLossy(jpgFile, fos, outputSet);
任何人都可以帮助我吗?
答案 0 :(得分:0)
我认为此时,不可能将(通过公共成像)IPTC元数据写入jpg文件: http://commons.apache.org/proper/commons-imaging/todo.html
答案 1 :(得分:0)
自己做这件事会很简单,但不是微不足道的。您需要重写EXIF APPn市场,但这可能会在不修改其余压缩数据流的情况下关闭。您需要阅读EXIF标准以了解元数据标签的编码方式。
答案 2 :(得分:0)
谢谢大家的回复 我喜欢iim4j的解决方案: http://iim4j.sourceforge.net/
图书馆很好,但文件很差