У меня есть таблица в моей PDF-форме, и я использовал помощник PdfpCellevent для вставки текстовых полей в строки, однако я могу вводить значения в текстовое поле, и он просто перетекает в невидимую часть поле ячейки.Предельная длина PdfPCellEvent
Как можно ограничить длину видимой области в pdfPcellevent в itext?
static class MyCellField implements PdfPCellEvent{
public String fieldname;
public MyCellField(String fieldname){
this.fieldname= fieldname;
}
@Override
public void cellLayout(PdfPCell cell, Rectangle rectangle, PdfContentByte[] canvases) {
final PdfWriter writer = canvases[0].getPdfWriter();
final TextField textField = new TextField(writer, rectangle, fieldname);
try {
final PdfFormField field = textField.getTextField();
writer.addAnnotation(field);
} catch (final IOException | DocumentException ioe) {
throw new ExceptionConverter(ioe);
}
}
}
private static PdfPCell createPdfCell(String phrase, String eventValue){
PdfPCell pdfCell = new PdfPCell();
pdfCell.addElement(new Phrase(phrase, FontFactory.getFont(FontFactory.TIMES, 11)));
pdfCell.setVerticalAlignment(Element.ALIGN_MIDDLE);
pdfCell.setBorderColor(BaseColor.BLACK);
pdfCell.setPadding(2);
pdfCell.getFixedHeight();
pdfCell.setCellEvent(new MyCellField(eventValue));
pdfCell.setRowspan(3);
return pdfCell;
}
На рисунке ниже дисплея, что в настоящее время делает:
и один ниже, что я ожидал:
Пожалуйста, покажите нам свой код и ожидаемое поведение. –
Возможно, вы используете 'ColumnText.showTextAligned()' вместо создания 'ColumnText', установив размер столбца, добавив контент и используя метод' go() '. Я согласен с Алексеем. Вы не должны ожидать более сложного ответа, если вы не укажете какой-либо код. –
Теперь понятно. У вас есть однострочное поле, и вы хотите, чтобы оно было многострочным полем. Это легко. –