@@ -47,22 +47,33 @@ This file is part of the iText (R) project.
47
47
import com .itextpdf .io .util .UrlUtil ;
48
48
import com .itextpdf .kernel .color .ColorConstants ;
49
49
import com .itextpdf .kernel .geom .PageSize ;
50
+ import com .itextpdf .kernel .geom .Rectangle ;
50
51
import com .itextpdf .kernel .pdf .PdfDocument ;
52
+ import com .itextpdf .kernel .pdf .PdfPage ;
51
53
import com .itextpdf .kernel .pdf .PdfWriter ;
54
+ import com .itextpdf .kernel .pdf .canvas .PdfCanvas ;
52
55
import com .itextpdf .kernel .pdf .xobject .PdfImageXObject ;
53
56
import com .itextpdf .kernel .utils .CompareTool ;
54
57
import com .itextpdf .layout .border .SolidBorder ;
55
- import com .itextpdf .layout .element .*;
58
+ import com .itextpdf .layout .element .AreaBreak ;
59
+ import com .itextpdf .layout .element .Cell ;
60
+ import com .itextpdf .layout .element .Div ;
61
+ import com .itextpdf .layout .element .Image ;
62
+ import com .itextpdf .layout .element .List ;
63
+ import com .itextpdf .layout .element .Paragraph ;
64
+ import com .itextpdf .layout .element .Table ;
65
+ import com .itextpdf .layout .element .Text ;
56
66
import com .itextpdf .layout .property .HorizontalAlignment ;
57
67
import com .itextpdf .layout .property .Property ;
68
+ import com .itextpdf .layout .property .TextAlignment ;
58
69
import com .itextpdf .layout .property .UnitValue ;
70
+ import com .itextpdf .layout .property .VerticalAlignment ;
59
71
import com .itextpdf .test .ExtendedITextTest ;
60
72
import com .itextpdf .test .annotations .LogMessage ;
61
73
import com .itextpdf .test .annotations .LogMessages ;
62
74
import com .itextpdf .test .annotations .type .IntegrationTest ;
63
75
import org .junit .Assert ;
64
76
import org .junit .BeforeClass ;
65
- import org .junit .Ignore ;
66
77
import org .junit .Test ;
67
78
import org .junit .experimental .categories .Category ;
68
79
@@ -556,13 +567,13 @@ public void imageTest21() throws IOException, InterruptedException {
556
567
557
568
Image image = new Image (ImageDataFactory .create (sourceFolder + "Desert.jpg" ));
558
569
image .setAutoScaleHeight (true );
559
- float [] colWidths = {1f ,1f };
570
+ float [] colWidths = {1f , 1f };
560
571
561
572
Table container = new Table (UnitValue .createPercentArray (colWidths ));
562
573
container .addCell ("Text" );
563
574
container .addCell ("autoscaling image, height only" );
564
575
565
- int textIterations =50 ;
576
+ int textIterations = 50 ;
566
577
Paragraph p = new Paragraph ();
567
578
for (int i = 0 ; i < textIterations ; i ++) {
568
579
p .add ("Text will wrap" );
@@ -841,4 +852,35 @@ public void imageWithMinMaxHeightTest01() throws IOException, InterruptedExcepti
841
852
842
853
Assert .assertNull (new CompareTool ().compareByContent (outFileName , cmpFileName , destinationFolder , "diff" ));
843
854
}
855
+
856
+ @ Test
857
+ public void precisionTest01 () throws IOException , InterruptedException {
858
+ String outFileName = destinationFolder + "precisionTest01.pdf" ;
859
+ String cmpFileName = sourceFolder + "cmp_precisionTest01.pdf" ;
860
+ String imageFileName = sourceFolder + "LOGO_PDF_77.jpg" ;
861
+
862
+ PdfDocument pdfDoc = new PdfDocument (new PdfWriter (outFileName ));
863
+ PdfPage page = pdfDoc .addNewPage ();
864
+ PdfCanvas currentPdfCanvas = new PdfCanvas (page );
865
+
866
+ Rectangle rc = new Rectangle (56.6929131f , 649.13385f , 481.889771f , 136.062988f );
867
+ Canvas canvas = new Canvas (currentPdfCanvas , pdfDoc , rc );
868
+
869
+ Table table = new Table (UnitValue .createPointArray (new float []{158f }));
870
+ table .setTextAlignment (TextAlignment .LEFT );
871
+
872
+ Image logoImage = new Image (ImageDataFactory .create (imageFileName ));
873
+ Paragraph p = new Paragraph ().add (logoImage .setAutoScale (true ));
874
+
875
+ Cell cell = new Cell ();
876
+ cell .setKeepTogether (true );
877
+ cell .add (p );
878
+
879
+ table .addCell (cell .setHeight (85.03937f ).setVerticalAlignment (VerticalAlignment .TOP ).setPadding (0 ));
880
+ canvas .add (table );
881
+
882
+ pdfDoc .close ();
883
+
884
+ Assert .assertNull (new CompareTool ().compareByContent (outFileName , cmpFileName , destinationFolder , "diff" ));
885
+ }
844
886
}
0 commit comments