@@ -45,7 +45,7 @@ This file is part of the iText (R) project.
45
45
46
46
import com .itextpdf .io .LogMessageConstant ;
47
47
import com .itextpdf .io .font .constants .StandardFonts ;
48
- import com .itextpdf .kernel . colors . Color ;
48
+ import com .itextpdf .io . image . ImageDataFactory ;
49
49
import com .itextpdf .kernel .colors .ColorConstants ;
50
50
import com .itextpdf .kernel .font .PdfFontFactory ;
51
51
import com .itextpdf .kernel .geom .PageSize ;
@@ -59,6 +59,7 @@ This file is part of the iText (R) project.
59
59
import com .itextpdf .layout .element .AreaBreak ;
60
60
import com .itextpdf .layout .element .Cell ;
61
61
import com .itextpdf .layout .element .Div ;
62
+ import com .itextpdf .layout .element .Image ;
62
63
import com .itextpdf .layout .element .List ;
63
64
import com .itextpdf .layout .element .Paragraph ;
64
65
import com .itextpdf .layout .element .Table ;
@@ -1165,6 +1166,124 @@ public void keepTogetherInDivWithKidsFloatTest() throws IOException, Interrupted
1165
1166
Assert .assertNull (new CompareTool ().compareByContent (outFile , cmpFileName , destinationFolder ));
1166
1167
}
1167
1168
1169
+ @ Test
1170
+ @ LogMessages (messages = {
1171
+ @ LogMessage (messageTemplate = LogMessageConstant .ELEMENT_DOES_NOT_FIT_AREA )
1172
+ })
1173
+ //TODO: update cmp file when DEVSIX-4681 will be fixed
1174
+ public void floatingElementsInDivAndKeepTogetherElemTest () throws IOException , InterruptedException {
1175
+ String cmpFileName = sourceFolder + "cmp_floatingElementsInDivAndKeepTogetherElem.pdf" ;
1176
+ String outFile = destinationFolder + "floatingElementsInDivAndKeepTogetherElem.pdf" ;
1177
+
1178
+ PdfDocument pdfDoc = new PdfDocument (new PdfWriter (outFile ));
1179
+ pdfDoc .addNewPage ();
1180
+
1181
+ Document doc = new Document (pdfDoc );
1182
+
1183
+ Div mainDiv = new Div ();
1184
+
1185
+ Image first = new Image (ImageDataFactory .create (sourceFolder + "1.png" ));
1186
+ first .setProperty (Property .FLOAT , FloatPropertyValue .RIGHT );
1187
+ first .setHeight (350 );
1188
+
1189
+ Image second = new Image (ImageDataFactory .create (sourceFolder + "2.png" ));
1190
+ second .setProperty (Property .FLOAT , FloatPropertyValue .RIGHT );
1191
+ second .setHeight (350 );
1192
+
1193
+ mainDiv .add (first );
1194
+ mainDiv .add (second );
1195
+
1196
+ doc .add (mainDiv );
1197
+ doc .add (new Paragraph ("Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1198
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1199
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1200
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1201
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1202
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! " )
1203
+ .setKeepTogether (true ).setFontSize (24 ));
1204
+
1205
+ doc .close ();
1206
+ Assert .assertNull (new CompareTool ().compareByContent (outFile , cmpFileName , destinationFolder ));
1207
+ }
1208
+
1209
+ @ Test
1210
+ @ LogMessages (messages = {
1211
+ @ LogMessage (messageTemplate = LogMessageConstant .ELEMENT_DOES_NOT_FIT_AREA )
1212
+ })
1213
+ //TODO: update cmp file when DEVSIX-4681 will be fixed
1214
+ public void floatingEmptyElementsInDivAndKeepTogetherElemTest () throws IOException , InterruptedException {
1215
+ String cmpFileName = sourceFolder + "cmp_floatingEmptyElementsInDivAndKeepTogetherElem.pdf" ;
1216
+ String outFile = destinationFolder + "floatingEmptyElementsInDivAndKeepTogetherElem.pdf" ;
1217
+
1218
+ PdfDocument pdfDoc = new PdfDocument (new PdfWriter (outFile ));
1219
+ pdfDoc .addNewPage (PageSize .A5 .rotate ());
1220
+
1221
+ Document doc = new Document (pdfDoc );
1222
+
1223
+ Div mainDiv = new Div ();
1224
+
1225
+ Paragraph p1 = new Paragraph ();
1226
+ p1 .setProperty (Property .FLOAT , FloatPropertyValue .RIGHT );
1227
+
1228
+ Paragraph p2 = new Paragraph ();
1229
+ p2 .setProperty (Property .FLOAT , FloatPropertyValue .RIGHT );
1230
+
1231
+ Paragraph ktp = new Paragraph ("Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1232
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1233
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1234
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1235
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1236
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1237
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1238
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1239
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1240
+ ).setKeepTogether (true ).setFontSize (20 );
1241
+
1242
+ mainDiv .add (p1 );
1243
+ mainDiv .add (p2 );
1244
+
1245
+ doc .add (mainDiv );
1246
+ doc .add (ktp );
1247
+
1248
+ doc .close ();
1249
+ Assert .assertNull (new CompareTool ().compareByContent (outFile , cmpFileName , destinationFolder ));
1250
+ }
1251
+
1252
+ @ Test
1253
+ public void floatingEmptyElementsAndKeepTogetherElemTest () throws IOException , InterruptedException {
1254
+ String cmpFileName = sourceFolder + "cmp_floatingEmptyElementsAndKeepTogetherElem.pdf" ;
1255
+ String outFile = destinationFolder + "floatingEmptyElementsAndKeepTogetherElem.pdf" ;
1256
+
1257
+ PdfDocument pdfDoc = new PdfDocument (new PdfWriter (outFile ));
1258
+ pdfDoc .addNewPage (PageSize .A5 .rotate ());
1259
+
1260
+ Document doc = new Document (pdfDoc );
1261
+
1262
+ Paragraph p1 = new Paragraph ();
1263
+ p1 .setProperty (Property .FLOAT , FloatPropertyValue .RIGHT );
1264
+
1265
+ Paragraph p2 = new Paragraph ();
1266
+ p2 .setProperty (Property .FLOAT , FloatPropertyValue .RIGHT );
1267
+
1268
+ Paragraph ktp = new Paragraph ("Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1269
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1270
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1271
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1272
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1273
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1274
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1275
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1276
+ + "Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! Hello, iText! "
1277
+ ).setKeepTogether (true ).setFontSize (20 );
1278
+
1279
+ doc .add (p1 );
1280
+ doc .add (p2 );
1281
+ doc .add (ktp );
1282
+
1283
+ doc .close ();
1284
+ Assert .assertNull (new CompareTool ().compareByContent (outFile , cmpFileName , destinationFolder ));
1285
+ }
1286
+
1168
1287
private Div createChildDivWithText (Div parent , String text ) {
1169
1288
Div child = new Div ();
1170
1289
if (text != null ) {
0 commit comments