如何将XMP元数据写入PSD? (JAVA)

时间:2016-04-20 04:21:37

标签: java image apache psd xmp

我有一个photoshop文件,我希望能够用java程序更改2个文本值。用文本编辑器打开PSD我可以找到我想要更改的文本。 LayerText Eighty, LayerText Nine 出于隐私原因,我用蓝色隐藏了一些内容。如果我使用exiftool gui,我会看到[this] [2]。所以我认为它是在TextLayerText下。在Photoshop中,它们是[文本层]。[3]我做了一些研究,并在apache公共场所听说过Sanselan。我可以找到我在[文本编辑器] [4]中找到的相同代码。

File imageFile = new File(fileField.getText());
                File outputFile = new File(fileField.getText().split("\\.")[0] + ".png");
                BufferedImage image = Sanselan.getBufferedImage(imageFile);
                logArea.append("--- XMP Metadata ----\n");
                logArea.append(Sanselan.getXmpXml(imageFile));
                Map params = new HashMap();
                params.put("TextLayerText", "");
                Sanselan.writeImage(image, outputFile, ImageFormat.IMAGE_FORMAT_PNG, params);

这是我目前的代码。它首先声明输入2个文件,输出第2个。它获取XMP并将其打印出来。我创建了一个params Map,但我的错误是。

org.apache.sanselan.ImageWriteException: Unknown parameter: TextLayerText

此程序的目标是修改2个文本图层并从中渲染png。如果我将params留空,它会呈现png文件,我可以使用Sanselan.getXmpXml读取参数。我正在努力寻找改变它们的方法。我把所有图片in one都放了,因为我的声誉我不能发布超过2个链接。

0 个答案:

没有答案