Library for writing XMP to a multipage TIFF

2019-07-16 20:11发布

Can you recommend a library that lets me add XMP data to a TIFF file? Preferably a library that can be used with Java.

2条回答
相关推荐>>
2楼-- · 2019-07-16 20:38

There is JempBox which is open source and allows the manipulation of XMP streams, but it doesn't look like it will read/write the XMP data in a TIFF file.

There is also Chilkat which is not open source, but does appear to do what you want.

查看更多
放我归山
3楼-- · 2019-07-16 20:53

It's been a while, but it may still be useful to someone: Apache Commons has a library called Sanselan suitable for this task. It's a bit dated and the documentation is sparse, but it does the job well nevertheless:

    File file = new File("path/to/your/file");

    // Get XMP xml data from a file
    String xml = Sanselan.getXmpXml(file);

    // Process the XML data
    xml = processXml(xml);

    // Write XMP xml data from a file
    Map params = new HashMap();
    params.put(Sanselan.PARAM_KEY_XMP_XML, xml);
    BufferedImage image = Sanselan.getBufferedImage(file);
    Sanselan.writeImage(image, file, Sanselan.guessFormat(file), params);

You may have to be careful with multipage TIFFs though, because Sanselan.getBufferedImage will probably only get the first (so only the first gets written back).

查看更多
登录 后发表回答