@@ -60,12 +60,12 @@ source product.
60
60
61
61
namespace iText . Forms {
62
62
public class PdfFormFieldTest : ExtendedITextTest {
63
- public static readonly String sourceFolder = iText . Test . TestUtil . GetParentProjectDirectory ( NUnit . Framework . TestContext
64
- . CurrentContext . TestDirectory ) + "/resources/itext/forms/PdfFormFieldTest/" ;
65
-
66
63
public static readonly String destinationFolder = NUnit . Framework . TestContext . CurrentContext . TestDirectory
67
64
+ "/test/itext/forms/PdfFormFieldTest/" ;
68
65
66
+ public static readonly String sourceFolder = iText . Test . TestUtil . GetParentProjectDirectory ( NUnit . Framework . TestContext
67
+ . CurrentContext . TestDirectory ) + "/resources/itext/forms/PdfFormFieldTest/" ;
68
+
69
69
[ NUnit . Framework . OneTimeSetUp ]
70
70
public static void BeforeClass ( ) {
71
71
CreateDestinationFolder ( destinationFolder ) ;
@@ -656,29 +656,6 @@ public virtual void FillFieldWithHebrewCase4() {
656
656
+ testName + "_" ) ) ;
657
657
}
658
658
659
- private void CreateAcroForm ( PdfDocument pdfDoc , PdfAcroForm form , PdfFont font , String text , int offSet ) {
660
- for ( int x = offSet ; x < ( offSet + 3 ) ; x ++ ) {
661
- Rectangle rect = new Rectangle ( 100 + ( 30 * x ) , 100 + ( 100 * x ) , 55 , 30 ) ;
662
- PdfFormField field = PdfFormField . CreateText ( pdfDoc , rect , "f-" + x , "" , font , 12.0f ) ;
663
- field . SetJustification ( PdfFormField . ALIGN_RIGHT ) ;
664
- if ( text != null ) {
665
- field . SetValue ( text ) ;
666
- }
667
- form . AddField ( field ) ;
668
- }
669
- }
670
-
671
- private void AddParagraph ( Document document , String text , PdfFont font ) {
672
- document . Add ( new Paragraph ( "Hello world " ) . Add ( text ) . SetFont ( font ) ) ;
673
- }
674
-
675
- private void FillAcroForm ( PdfDocument pdfDocument , String text ) {
676
- PdfAcroForm acroForm = PdfAcroForm . GetAcroForm ( pdfDocument , false ) ;
677
- foreach ( PdfFormField field in acroForm . GetFormFields ( ) . Values ) {
678
- field . SetValue ( text ) ;
679
- }
680
- }
681
-
682
659
/// <exception cref="System.IO.IOException"/>
683
660
/// <exception cref="System.Exception"/>
684
661
[ NUnit . Framework . Test ]
@@ -1073,5 +1050,64 @@ public virtual void TestDaInAppendMode() {
1073
1050
pdfDoc . Close ( ) ;
1074
1051
NUnit . Framework . Assert . AreEqual ( "/F1 25 Tf" , da . ToString ( ) ) ;
1075
1052
}
1053
+
1054
+ /// <exception cref="System.IO.IOException"/>
1055
+ [ NUnit . Framework . Test ]
1056
+ public virtual void SetPageNewField ( ) {
1057
+ String filename = destinationFolder + "setPageNewField.pdf" ;
1058
+ PdfDocument pdfDoc = new PdfDocument ( new PdfWriter ( filename ) ) ;
1059
+ pdfDoc . AddNewPage ( ) ;
1060
+ pdfDoc . AddNewPage ( ) ;
1061
+ pdfDoc . AddNewPage ( ) ;
1062
+ String fieldName = "field1" ;
1063
+ int pageNum = 2 ;
1064
+ PdfAcroForm form = PdfAcroForm . GetAcroForm ( pdfDoc , true ) ;
1065
+ PdfTextFormField field1 = PdfFormField . CreateText ( pdfDoc , new Rectangle ( 90 , 700 , 150 , 22 ) , fieldName , "new field"
1066
+ ) ;
1067
+ field1 . SetPage ( pageNum ) ;
1068
+ form . AddField ( field1 ) ;
1069
+ pdfDoc . Close ( ) ;
1070
+ // -------------------------------------------
1071
+ PrintOutputPdfNameAndDir ( filename ) ;
1072
+ PdfDocument resPdf = new PdfDocument ( new PdfReader ( filename ) ) ;
1073
+ PdfArray fieldsArr = resPdf . GetCatalog ( ) . GetPdfObject ( ) . GetAsDictionary ( PdfName . AcroForm ) . GetAsArray ( PdfName
1074
+ . Fields ) ;
1075
+ NUnit . Framework . Assert . AreEqual ( 1 , fieldsArr . Size ( ) ) ;
1076
+ PdfDictionary field = fieldsArr . GetAsDictionary ( 0 ) ;
1077
+ PdfDictionary fieldP = field . GetAsDictionary ( PdfName . P ) ;
1078
+ // TODO DEVSIX-2912: shall be equal to second page object
1079
+ NUnit . Framework . Assert . AreEqual ( resPdf . GetPage ( 3 ) . GetPdfObject ( ) , fieldP ) ;
1080
+ NUnit . Framework . Assert . IsNull ( resPdf . GetPage ( 1 ) . GetPdfObject ( ) . GetAsArray ( PdfName . Annots ) ) ;
1081
+ PdfArray secondPageAnnots = resPdf . GetPage ( 2 ) . GetPdfObject ( ) . GetAsArray ( PdfName . Annots ) ;
1082
+ NUnit . Framework . Assert . AreEqual ( 1 , secondPageAnnots . Size ( ) ) ;
1083
+ NUnit . Framework . Assert . AreEqual ( field , secondPageAnnots . Get ( 0 ) ) ;
1084
+ // TODO DEVSIX-2912: third page annotations array shall be null
1085
+ PdfArray thirdPageAnnots = resPdf . GetPage ( 3 ) . GetPdfObject ( ) . GetAsArray ( PdfName . Annots ) ;
1086
+ NUnit . Framework . Assert . AreEqual ( 1 , thirdPageAnnots . Size ( ) ) ;
1087
+ NUnit . Framework . Assert . AreEqual ( field , thirdPageAnnots . Get ( 0 ) ) ;
1088
+ }
1089
+
1090
+ private void CreateAcroForm ( PdfDocument pdfDoc , PdfAcroForm form , PdfFont font , String text , int offSet ) {
1091
+ for ( int x = offSet ; x < ( offSet + 3 ) ; x ++ ) {
1092
+ Rectangle rect = new Rectangle ( 100 + ( 30 * x ) , 100 + ( 100 * x ) , 55 , 30 ) ;
1093
+ PdfFormField field = PdfFormField . CreateText ( pdfDoc , rect , "f-" + x , "" , font , 12.0f ) ;
1094
+ field . SetJustification ( PdfFormField . ALIGN_RIGHT ) ;
1095
+ if ( text != null ) {
1096
+ field . SetValue ( text ) ;
1097
+ }
1098
+ form . AddField ( field ) ;
1099
+ }
1100
+ }
1101
+
1102
+ private void AddParagraph ( Document document , String text , PdfFont font ) {
1103
+ document . Add ( new Paragraph ( "Hello world " ) . Add ( text ) . SetFont ( font ) ) ;
1104
+ }
1105
+
1106
+ private void FillAcroForm ( PdfDocument pdfDocument , String text ) {
1107
+ PdfAcroForm acroForm = PdfAcroForm . GetAcroForm ( pdfDocument , false ) ;
1108
+ foreach ( PdfFormField field in acroForm . GetFormFields ( ) . Values ) {
1109
+ field . SetValue ( text ) ;
1110
+ }
1111
+ }
1076
1112
}
1077
1113
}
0 commit comments