-2

我正在使用 iText 5.3.4 并尝试设置图像字段,下面的代码是 Bruno 建议我使用的,但是我收到“表达式的类型必须是数组类型但它解析为列表”的错误。我没有看到有关如何按照 api 要求的方式编写代码的文档。有没有人知道这应该怎么写????或者如何将图像发送到图像字段?

Rectangle rect = form.getFieldPositions(fieldName)[0].position;
int page = form.getFieldPositions(fieldName)[0].page;
image1.scaleAbsolute(rect.getWidth(), rect.getHeight());
img.setAbsolutePosition(rect.getLeft(), rect.getBottom());
stamper.getOverContent(page).addImage(img);
4

1 回答 1

1

return fromgetFieldPositions是 type List<AcroFields.FieldPosition>,所以投诉是有效的。您应该使用.get(0)而不是[0]引用集合中的第一项。

一个简单的重构可能是:

List<AcroFields.FieldPosition> positions = form.getFieldPositions(fieldName);
Rectangle rect = positions.get(0).position;
int page = positions.get(0).page;
image1.scaleAbsolute(rect.getWidth(), rect.getHeight());
img.setAbsolutePosition(rect.getLeft(), rect.getBottom());
stamper.getOverContent(page).addImage(img);
于 2012-12-11T16:01:27.180 回答