2016-08-17 17 views
0

Создание 2 PdfSignatureFormFields таким же образом, я получил 2 поля по-разному отображаемые в Adobe Reader: один с небольшим изображением, указывающим поле подписи, а другой без указания.Почему внешний вид 2 идентично созданных полей подписи отличается от IText 7?

Я использую сотовый setNextRenderer вызов, чтобы создать эти поля, как показано в следующей выписке:

static private Cell createSignatureFieldCell(PdfDocument document, String name, String label, PdfFont font) { 
    Cell cell = new Cell(); 
    cell.setHeight(100); 
    cell.setNextRenderer(new SignatureCellEvent(cell,name,label)); 
    return cell; 
    } 

    static private class SignatureCellEvent extends CellRenderer 
    { 
    protected String fieldname; 
    protected String labelcontent; 
    public SignatureCellEvent(Cell modelElement, String fieldname,String label) { 
    super(modelElement); 
    this.fieldname=fieldname; 
    this.labelcontent=label; 
    } 

    @Override 
    public void draw(DrawContext drawContext) 
    { 
    float x = getOccupiedAreaBBox().getLeft() ; 
    float y = (getOccupiedAreaBBox().getTop() + getOccupiedAreaBBox().getBottom())/2; 
    PdfDocument doc=drawContext.getDocument(); 
    PdfAcroForm form=PdfAcroForm.getAcroForm(doc, true); 
    Rectangle rect = new Rectangle(x, y - 10, 50, 50); 
    PdfSignatureFormField field = PdfFormField.createSignature(doc,rect); 
    field.setFieldName(fieldname); 
    field.setRequired(true); 
    form.addField(field); 

    } 
} 
+0

Пожалуйста, поделитесь PDF в вопросе. – mkl

+0

Здесь ... https: //1drv.ms/b/s! AkF6t4TavwMvchwL3wL2HXZKPuM –

ответ

0

Извините за неудобство!

Я нашел причину такого поведения:

Это происходит, когда есть имя поля столкновение в документе. В моем случае динамически созданное поле имело то же имя, что и существующее статическое поле.

С уважением,

David L.