@@ -43,43 +43,21 @@ This file is part of the iText (R) project.
43
43
package com .itextpdf .forms .widget ;
44
44
45
45
import com .itextpdf .forms .PdfAcroForm ;
46
- import com .itextpdf .forms .fields .PdfButtonFormField ;
47
- import com .itextpdf .forms .fields .PdfChoiceFormField ;
48
46
import com .itextpdf .forms .fields .PdfFormField ;
49
47
import com .itextpdf .forms .fields .PdfTextFormField ;
50
- import com .itextpdf .io .LogMessageConstant ;
51
- import com .itextpdf .io .font .PdfEncodings ;
52
- import com .itextpdf .io .font .constants .StandardFonts ;
53
- import com .itextpdf .io .source .ByteArrayOutputStream ;
54
48
import com .itextpdf .kernel .colors .ColorConstants ;
55
- import com .itextpdf .kernel .font .PdfFont ;
56
- import com .itextpdf .kernel .font .PdfFontFactory ;
57
49
import com .itextpdf .kernel .geom .Rectangle ;
58
- import com .itextpdf .kernel .pdf .PdfArray ;
59
- import com .itextpdf .kernel .pdf .PdfDictionary ;
60
50
import com .itextpdf .kernel .pdf .PdfDocument ;
61
- import com .itextpdf .kernel .pdf .PdfName ;
62
- import com .itextpdf .kernel .pdf .PdfNumber ;
63
- import com .itextpdf .kernel .pdf .PdfPage ;
64
51
import com .itextpdf .kernel .pdf .PdfReader ;
65
- import com .itextpdf .kernel .pdf .PdfString ;
66
52
import com .itextpdf .kernel .pdf .PdfWriter ;
67
- import com .itextpdf .kernel .pdf .StampingProperties ;
68
- import com .itextpdf .kernel .pdf .canvas .PdfCanvas ;
53
+ import com .itextpdf .kernel .pdf .annot .PdfAnnotation ;
69
54
import com .itextpdf .kernel .utils .CompareTool ;
70
- import com .itextpdf .layout .Canvas ;
71
- import com .itextpdf .layout .Document ;
72
- import com .itextpdf .layout .element .AreaBreak ;
73
- import com .itextpdf .layout .element .Paragraph ;
74
55
import com .itextpdf .test .ExtendedITextTest ;
75
- import com .itextpdf .test .annotations .LogMessage ;
76
- import com .itextpdf .test .annotations .LogMessages ;
77
56
import com .itextpdf .test .annotations .type .IntegrationTest ;
78
57
79
- import java .io .ByteArrayInputStream ;
80
58
import java .io .IOException ;
81
- import java .util .Map ;
82
59
60
+ import java .util .Map ;
83
61
import org .junit .Assert ;
84
62
import org .junit .BeforeClass ;
85
63
import org .junit .Test ;
@@ -114,4 +92,62 @@ public void fillFormWithRotatedFieldAndPageTest() throws IOException, Interrupte
114
92
Assert .fail (errorMessage );
115
93
}
116
94
}
95
+
96
+ @ Test
97
+ //TODO: update cmp file after fixing DEVSIX-836
98
+ public void borderStyleInCreatedFormFieldsTest () throws IOException , InterruptedException {
99
+ String outPdf = destinationFolder + "borderStyleInCreatedFormFields.pdf" ;
100
+
101
+ PdfDocument doc = new PdfDocument (new PdfWriter (outPdf ));
102
+
103
+ PdfAcroForm form = PdfAcroForm .getAcroForm (doc , true );
104
+
105
+ PdfFormField formField1 = PdfTextFormField .createText (doc ,
106
+ new Rectangle (100 , 600 , 100 , 50 ), "firstField" , "Hello, iText!" );
107
+ formField1 .getWidgets ().get (0 ).setBorderStyle (PdfAnnotation .STYLE_BEVELED );
108
+ formField1 .setBorderWidth (2 ).setBorderColor (ColorConstants .BLUE );
109
+
110
+ PdfFormField formField2 = PdfTextFormField .createText (doc ,
111
+ new Rectangle (100 , 500 , 100 , 50 ), "secondField" , "Hello, iText!" );
112
+ formField2 .getWidgets ().get (0 ).setBorderStyle (PdfAnnotation .STYLE_UNDERLINE );
113
+ formField2 .setBorderWidth (2 ).setBorderColor (ColorConstants .BLUE );
114
+
115
+ PdfFormField formField3 = PdfTextFormField .createText (doc ,
116
+ new Rectangle (100 , 400 , 100 , 50 ), "thirdField" , "Hello, iText!" );
117
+ formField3 .getWidgets ().get (0 ).setBorderStyle (PdfAnnotation .STYLE_INSET );
118
+ formField3 .setBorderWidth (2 ).setBorderColor (ColorConstants .BLUE );
119
+
120
+ form .addField (formField1 );
121
+ form .addField (formField2 );
122
+ form .addField (formField3 );
123
+ form .flattenFields ();
124
+
125
+ doc .close ();
126
+
127
+ Assert .assertNull (new CompareTool ().compareByContent (outPdf ,
128
+ sourceFolder + "cmp_borderStyleInCreatedFormFields.pdf" , destinationFolder ));
129
+ }
130
+
131
+ @ Test
132
+ //TODO: update cmp file after fixing DEVSIX-836
133
+ public void updatingBorderStyleInFormFieldsTest () throws IOException , InterruptedException {
134
+ String inputPdf = sourceFolder + "borderStyleInCreatedFormFields.pdf" ;
135
+ String outPdf = destinationFolder + "updatingBorderStyleInFormFields.pdf" ;
136
+
137
+ PdfDocument doc = new PdfDocument (new PdfReader (inputPdf ), new PdfWriter (outPdf ));
138
+
139
+ PdfAcroForm form = PdfAcroForm .getAcroForm (doc , false );
140
+
141
+ Map <String , PdfFormField > fields = form .getFormFields ();
142
+ fields .get ("firstField" ).setValue ("New Value 1" );
143
+ fields .get ("secondField" ).setValue ("New Value 2" );
144
+ fields .get ("thirdField" ).setValue ("New Value 3" );
145
+
146
+ form .flattenFields ();
147
+
148
+ doc .close ();
149
+
150
+ Assert .assertNull (new CompareTool ().compareByContent (outPdf ,
151
+ sourceFolder + "cmp_updatingBorderStyleInFormFields.pdf" , destinationFolder ));
152
+ }
117
153
}
0 commit comments