public virtual void CreatePDF(String dest) { // Create a pdf document along with a Document (default root layout element) instance PdfDocument pdfDocument = new PdfDocument(new PdfWriter(dest)); Document document = new Document(pdfDocument); // ಗರುಡನಂದದಿ String filedValue = "\u0C97\u0CB0\u0CC1\u0CA1\u0CA8\u0C82\u0CA6\u0CA6\u0CBF"; String fieldName = "Field name"; PdfAcroForm form = PdfAcroForm.GetAcroForm(document.GetPdfDocument(), true); PdfFont font = PdfFontFactory.CreateFont(FONTS_FOLDER + "NotoSansKannada-Regular.ttf", PdfEncodings.IDENTITY_H); // Embed entire font without any subsetting. Please note that without subset it's impossible to edit a form field // with the predefined font font.SetSubset(false); // Create a form field and set some of the properties PdfFormField formField = PdfTextFormField.CreateText(document.GetPdfDocument(), new Rectangle(50, 750, 80, 25)); formField .SetValue(filedValue) .SetBorderWidth(2) .SetFont(font) .SetFontSize(10) .SetJustification(1) .SetFieldName(fieldName); form.AddField(formField); document.Close(); }
public virtual void BorderStyleInCreatedFormFieldsTest() { String outPdf = destinationFolder + "borderStyleInCreatedFormFields.pdf"; String cmpPdf = sourceFolder + "cmp_borderStyleInCreatedFormFields.pdf"; using (PdfDocument doc = new PdfDocument(new PdfWriter(outPdf))) { PdfAcroForm form = PdfAcroForm.GetAcroForm(doc, true); PdfFormField formField1 = PdfTextFormField.CreateText(doc, new Rectangle(100, 600, 100, 50), "firstField", "Hello, iText!"); formField1.GetWidgets()[0].SetBorderStyle(PdfAnnotation.STYLE_BEVELED); formField1.SetBorderWidth(2).SetBorderColor(ColorConstants.BLUE); PdfFormField formField2 = PdfTextFormField.CreateText(doc, new Rectangle(100, 500, 100, 50), "secondField" , "Hello, iText!"); formField2.GetWidgets()[0].SetBorderStyle(PdfAnnotation.STYLE_UNDERLINE); formField2.SetBorderWidth(2).SetBorderColor(ColorConstants.BLUE); PdfFormField formField3 = PdfTextFormField.CreateText(doc, new Rectangle(100, 400, 100, 50), "thirdField", "Hello, iText!"); formField3.GetWidgets()[0].SetBorderStyle(PdfAnnotation.STYLE_INSET); formField3.SetBorderWidth(2).SetBorderColor(ColorConstants.BLUE); form.AddField(formField1); form.AddField(formField2); form.AddField(formField3); form.FlattenFields(); } NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outPdf, cmpPdf, destinationFolder)); }
public virtual void TextStartsAfterFieldBorderTest() { // TODO DEVSIX-4809 text in form filed with borders must start after border String outPdf = destinationFolder + "textStartsAfterFieldBorderTest.pdf"; String cmpPdf = sourceFolder + "cmp_textStartsAfterFieldBorderTest.pdf"; using (PdfDocument doc = new PdfDocument(new PdfWriter(outPdf))) { PdfAcroForm form = PdfAcroForm.GetAcroForm(doc, true); PdfFormField insetFormField = PdfTextFormField.CreateText(doc, new Rectangle(90, 600, 200, 100), "insetFormField" ); insetFormField.GetWidgets()[0].SetBorderStyle(PdfName.I); insetFormField.SetBorderWidth(15f).SetBorderColor(DeviceRgb.RED).SetValue("Text after border").RegenerateField (); PdfFormField solidFormField = PdfTextFormField.CreateText(doc, new Rectangle(300, 600, 200, 100), "solidFormField" ); solidFormField.GetWidgets()[0].SetBorderStyle(PdfName.S); solidFormField.SetBorderWidth(15f).SetBorderColor(DeviceRgb.RED).SetValue("Text after border").RegenerateField (); PdfFormField underlineFormField = PdfTextFormField.CreateText(doc, new Rectangle(90, 450, 200, 100), "underlineFormField" ); underlineFormField.GetWidgets()[0].SetBorderStyle(PdfName.U); underlineFormField.SetBorderWidth(15f).SetBorderColor(DeviceRgb.RED).SetValue("Text after border").RegenerateField (); PdfFormField simpleFormField = PdfTextFormField.CreateText(doc, new Rectangle(300, 450, 200, 100), "formField1" ); simpleFormField.SetBorderWidth(15f); simpleFormField.SetValue("Text after border").RegenerateField(); form.AddField(insetFormField); form.AddField(solidFormField); form.AddField(underlineFormField); form.AddField(simpleFormField); } NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outPdf, cmpPdf, destinationFolder, "diff_" )); }
public override void Draw(DrawContext drawContext) { PdfTextFormField field = PdfTextFormField.CreateText(drawContext.GetDocument(), GetOccupiedAreaBBox(), fieldName); PdfAcroForm.GetAcroForm(drawContext.GetDocument(), true) .AddField(field); }
// ******************************************************************** // Fct: AddTestFields // // Descr: - // // Owner: erst // ******************************************************************** public static void AddTestFields(String src, String dest) { float XKoord = 0; float YKoord = 0; string CommentContent = String.Empty; PdfFont fontHelvetica = PdfFontFactory.CreateFont(StandardFonts.HELVETICA); try { PdfDocument scrPdf = new PdfDocument(new PdfReader(src)); PdfDocument destPdf = new PdfDocument(new PdfWriter(dest)); PageSize ps = PageSize.A4; destPdf.SetDefaultPageSize(ps); int lastPageNo = scrPdf.GetPageNumber(scrPdf.GetLastPage()); lastPageNo = 3; PdfPage srcPage = scrPdf.GetFirstPage(); PdfPage destPage = null; int annotNo = 0; for (int i = 1; i <= lastPageNo; i++) { srcPage = scrPdf.GetPage(i); annotNo = 1; // copy page destPdf.AddPage(srcPage.CopyTo(destPdf)); destPage = destPdf.GetPage(i); while (GetNextPdfComment(destPage, ref XKoord, ref YKoord, ref CommentContent, ref annotNo)) { PdfCanvas canvas = new PdfCanvas(destPage); canvas.BeginText().SetFontAndSize(fontHelvetica, 8).MoveText(XKoord, YKoord).ShowText(CommentContent).EndText(); //Add acroform PdfAcroForm form = PdfAcroForm.GetAcroForm(destPdf, true); //Create text field PdfTextFormField user1 = PdfTextFormField.CreateText(destPdf, new Rectangle(XKoord, YKoord - 10, 60, 8), CommentContent + "_User", "enter User", fontHelvetica, 6); PdfTextFormField date1 = PdfTextFormField.CreateText(destPdf, new Rectangle(XKoord, YKoord - 20, 60, 8), CommentContent + "_Date", "enter date", fontHelvetica, 6); form.AddField(user1); form.AddField(date1); } } scrPdf.Close(); destPdf.Close(); } catch (Exception ex) { throw ex; } finally { } }
public static PdfAcroForm AddAcroForm(Document doc) { Paragraph title = new Paragraph("Application for employment").SetTextAlignment(TextAlignment.CENTER).SetFontSize (16); doc.Add(title); doc.Add(new Paragraph("Full name:").SetFontSize(12)); doc.Add(new Paragraph("Native language: English French German Russian Spanish" ).SetFontSize(12)); doc.Add(new Paragraph("Experience in: cooking driving software development").SetFontSize (12)); doc.Add(new Paragraph("Preferred working shift:").SetFontSize(12)); doc.Add(new Paragraph("Additional information:").SetFontSize(12)); //Add acroform PdfAcroForm form = PdfAcroForm.GetAcroForm(doc.GetPdfDocument(), true); //Create text field PdfTextFormField nameField = PdfTextFormField.CreateText(doc.GetPdfDocument(), new Rectangle(99, 753, 425, 15), "name", ""); form.AddField(nameField); //Create radio buttons PdfButtonFormField group = PdfFormField.CreateRadioGroup(doc.GetPdfDocument(), "language", ""); PdfFormField.CreateRadioButton(doc.GetPdfDocument(), new Rectangle(130, 728, 15, 15), group, "English"); PdfFormField.CreateRadioButton(doc.GetPdfDocument(), new Rectangle(200, 728, 15, 15), group, "French"); PdfFormField.CreateRadioButton(doc.GetPdfDocument(), new Rectangle(260, 728, 15, 15), group, "German"); PdfFormField.CreateRadioButton(doc.GetPdfDocument(), new Rectangle(330, 728, 15, 15), group, "Russian"); PdfFormField.CreateRadioButton(doc.GetPdfDocument(), new Rectangle(400, 728, 15, 15), group, "Spanish"); form.AddField(group); //Create checkboxes for (int i = 0; i < 3; i++) { PdfButtonFormField checkField = PdfFormField.CreateCheckBox(doc.GetPdfDocument(), new Rectangle(119 + i * 69, 701, 15, 15), String.Concat("experience", (i + 1).ToString()), "Off", PdfFormField.TYPE_CHECK); form.AddField(checkField); } //Create combobox String[] options = new String[] { "Any", "6.30 am - 2.30 pm", "1.30 pm - 9.30 pm" }; PdfChoiceFormField choiceField = PdfFormField.CreateComboBox(doc.GetPdfDocument(), new Rectangle(163, 676, 115, 15), "shift", "Any", options); form.AddField(choiceField); //Create multiline text field PdfTextFormField infoField = PdfTextFormField.CreateMultilineText(doc.GetPdfDocument(), new Rectangle(158, 625, 366, 40), "info", ""); form.AddField(infoField); //Create push button field PdfButtonFormField button = PdfFormField.CreatePushButton(doc.GetPdfDocument(), new Rectangle(479, 594, 45 , 15), "reset", "RESET"); button.SetAction(PdfAction.CreateResetForm(new String[] { "name", "language", "experience1", "experience2" , "experience3", "shift", "info" }, 0)); form.AddField(button); return(form); }
public virtual void DashedBorderWithBackgroundTest() { String outPdf = destinationFolder + "dashedBorderWithBackground.pdf"; String cmpPdf = sourceFolder + "cmp_dashedBorderWithBackground.pdf"; using (PdfDocument doc = new PdfDocument(new PdfWriter(outPdf))) { PdfAcroForm form = PdfAcroForm.GetAcroForm(doc, true); PdfFormField formField = PdfTextFormField.CreateText(doc, new Rectangle(100, 600, 200, 100), "formField"); formField.GetWidgets()[0].SetBorderStyle(PdfName.D); formField.SetBorderWidth(3f).SetBorderColor(DeviceRgb.RED).SetBackgroundColor(DeviceRgb.GREEN); formField.RegenerateField(); form.AddField(formField); } NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outPdf, cmpPdf, destinationFolder)); }
public virtual void WriteUtf8FieldNameAndValue() { PdfDocument pdfDoc = new PdfDocument(new PdfWriter(destinationFolder + "writeUtf8FieldNameAndValue.pdf")); PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true); PdfTextFormField field = PdfTextFormField.CreateText(pdfDoc, new Rectangle(99, 753, 425, 15), "", ""); field.SetFont(PdfFontFactory.CreateFont(FONT, PdfEncodings.IDENTITY_H)); // لا field.Put(PdfName.T, new PdfString("\u0644\u0627", PdfEncodings.UTF8)); // 福昕 福昕UTF8 field.Put(PdfName.V, new PdfString("\u798F\u6615 \u798F\u6615UTF8", PdfEncodings.UTF8)); field.RegenerateField(); form.AddField(field); pdfDoc.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationFolder + "writeUtf8FieldNameAndValue.pdf" , sourceFolder + "cmp_writeUtf8FieldNameAndValue.pdf", destinationFolder, "diffFieldNameAndValue_")); }
/// <exception cref="System.IO.IOException"/> public virtual void CreatePdf(String dest) { PdfDocument pdf = new PdfDocument(new PdfWriter(dest)); pdf.SetDefaultPageSize(PageSize.A4); Document doc = new Document(pdf); Paragraph title = new Paragraph("Application for employment").SetTextAlignment(TextAlignment.CENTER).SetFontSize(16); doc.Add(title); PdfAcroForm form = PdfAcroForm.GetAcroForm(doc.GetPdfDocument(), true); PdfTextFormField nameField = PdfTextFormField.CreateText(doc.GetPdfDocument(), new Rectangle(99, 753, 425, 15), "name", ""); nameField.SetRequired(true); form.AddField(nameField); doc.Close(); }
public virtual void FormFieldBordersTest() { String outPdf = destinationFolder + "formFieldBorders.pdf"; String cmpPdf = sourceFolder + "cmp_formFieldBorders.pdf"; using (PdfDocument doc = new PdfDocument(new PdfWriter(outPdf))) { PdfAcroForm form = PdfAcroForm.GetAcroForm(doc, true); PdfFormField simpleField = PdfTextFormField.CreateText(doc, new Rectangle(300, 300, 200, 100), "simpleField" ); simpleField.RegenerateField(); PdfFormField insetField = PdfTextFormField.CreateText(doc, new Rectangle(50, 600, 200, 100), "insetField"); insetField.GetWidgets()[0].SetBorderStyle(PdfName.I); insetField.SetBorderWidth(3f).SetBorderColor(DeviceRgb.RED).RegenerateField(); PdfFormField underlineField = PdfTextFormField.CreateText(doc, new Rectangle(300, 600, 200, 100), "underlineField" ); underlineField.GetWidgets()[0].SetBorderStyle(PdfName.U); underlineField.SetBorderWidth(3f).SetBorderColor(DeviceRgb.RED).RegenerateField(); PdfFormField solidField = PdfTextFormField.CreateText(doc, new Rectangle(50, 450, 200, 100), "solidField"); solidField.GetWidgets()[0].SetBorderStyle(PdfName.S); solidField.SetBorderWidth(3f).SetBorderColor(DeviceRgb.RED).RegenerateField(); PdfFormField dashField = PdfTextFormField.CreateText(doc, new Rectangle(300, 450, 200, 100), "dashField"); dashField.GetWidgets()[0].SetBorderStyle(PdfName.D); dashField.SetBorderWidth(3f).SetBorderColor(DeviceRgb.RED).RegenerateField(); PdfFormField beveledField = PdfTextFormField.CreateText(doc, new Rectangle(50, 300, 200, 100), "beveledField" ); beveledField.GetWidgets()[0].SetBorderStyle(PdfName.B); beveledField.SetBorderWidth(3f).SetBorderColor(DeviceRgb.RED).RegenerateField(); form.AddField(simpleField); form.AddField(insetField); form.AddField(underlineField); form.AddField(solidField); form.AddField(dashField); form.AddField(beveledField); } NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outPdf, cmpPdf, destinationFolder)); }
public static PdfAcroForm AddAcroForm(Document doc) { iText.Kernel.Font.PdfFont regular = iText.Kernel.Font.PdfFontFactory.CreateFont(iText.IO.Font.FontConstants.TIMES_ROMAN); iText.Kernel.Font.PdfFont bold = iText.Kernel.Font.PdfFontFactory.CreateFont(iText.IO.Font.FontConstants.TIMES_BOLD); Paragraph TimeSignature = new Paragraph("report prodused: " + DateTime.Now.ToString()).SetTextAlignment(TextAlignment.LEFT).SetFontSize(10); iTextSharp.text.Image logo = iTextSharp.text.Image.GetInstance("logo.png"); logo.ScaleToFit(300f, 250f); logo.SpacingBefore = 50f; logo.SpacingAfter = 10f; logo.Alignment = iTextSharp.text.Element.ALIGN_CENTER; Paragraph title = new Paragraph("TWM Airlines").SetTextAlignment(TextAlignment.CENTER).SetFontSize (16).SetFont(regular).SetBold().SetUnderline(); doc.Add(title); Paragraph par; par = new Paragraph("THIS AGREEMENT").SetFontSize(12).SetBold(); par.Add(" made effective as of:").SetFontSize(12).SetFont(regular); doc.Add(par); doc.Add(new Paragraph("PARTIES").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph("1. hereinafter referred to as the 'Employer'").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("2. hereinafter referred to as the 'Employee'").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("TERMS OF EMPLOYMENT").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph("The terms of employment are as follows:").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("1. Remuneration:").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph("Your base salary is $ . Generally, your salary will be reviewed annually, but the Firm reserves the right to change your compensation from time to time on reasonable notice").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("2. Work hours:").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph("Employee will be required to work hours per week. At times, the needs of the business may require that you work overtime.It is essential that you be available for overtime work.").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("3. Job description:").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph("The Employee's job will be as follows:").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("").SetFontSize(12)); doc.Add(new Paragraph("").SetFontSize(12)); doc.Add(new Paragraph("4. Employee Benefits:").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph("The Employee will be granted:").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("").SetFontSize(12)); doc.Add(new Paragraph("").SetFontSize(12)); doc.Add(new Paragraph("5. Essential Requirements for the Role:").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph(" (a) Employee must be fluent in:").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph(" (b) Employee must be skilled in:").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("CONTRACT EFFECTIVE BETWEEN THE DATES:").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph("Effective Starting: ").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("Date of Termination: ").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("SIGNATURES").SetFontSize(12)).SetFont(regular).SetBold(); doc.Add(new Paragraph("SIGNED by the Employee:").SetFontSize(12)).SetFont(regular); doc.Add(new Paragraph("SIGNED BY THE EMPLOYER").SetFontSize(12)).SetFont(regular); //Add acroform PdfAcroForm form = PdfAcroForm.GetAcroForm(doc.GetPdfDocument(), true); //Create text field PdfTextFormField nameField = PdfTextFormField.CreateText(doc.GetPdfDocument(), new Rectangle(250, 755, 200, 15), "date", ""); form.AddField(nameField); nameField = PdfTextFormField.CreateText(doc.GetPdfDocument(), new Rectangle(55, 703, 150, 15), "employerName", ""); form.AddField(nameField); nameField = PdfTextFormField.CreateText(doc.GetPdfDocument(), new Rectangle(55, 678, 150, 15), "employeeName", ""); form.AddField(nameField); nameField = PdfTextFormField.CreateText(doc.GetPdfDocument(), new Rectangle(170, 201, 150, 15), "contractEnds", ""); form.AddField(nameField); return(form); }
// ******************************************************************** // Fct: CreateAnnot // // Descr: - // // Owner: erst // ******************************************************************** public static void CreateAnnot(String src, String dest) { try { // Initialize PDF document PdfDocument ScrPdf = new PdfDocument(new PdfReader(src)); PdfPage SrcPage = null; PdfDocument destPdf = new PdfDocument(new PdfWriter(dest)); PageSize ps = PageSize.A4; destPdf.SetDefaultPageSize(ps); string idx = String.Empty; for (int i = 1; i <= 3; i++) { idx = i.ToString(); // Add a page from Source PDF SrcPage = ScrPdf.GetPage(i); destPdf.AddPage(SrcPage.CopyTo(destPdf)); // Add empty page //destPdf.AddNewPage(PageSize.A4); PdfPage page = destPdf.GetPage(i); // add title PdfFont fontHelvetica = PdfFontFactory.CreateFont(StandardFonts.HELVETICA); PdfCanvas canvas = new PdfCanvas(page); canvas.BeginText().SetFontAndSize(fontHelvetica, 8).MoveText(420, 770).ShowText("My Title " + idx).EndText(); //Add acroform PdfAcroForm form = PdfAcroForm.GetAcroForm(destPdf, true); //Create text field PdfTextFormField title = PdfTextFormField.CreateText(destPdf, new Rectangle(420, 750, 60, 10), idx + "_Title", idx + ".Page", fontHelvetica, 6); PdfTextFormField user1 = PdfTextFormField.CreateText(destPdf, new Rectangle(420, 740, 60, 10), idx + "_User", "enter User", fontHelvetica, 6); PdfTextFormField date1 = PdfTextFormField.CreateText(destPdf, new Rectangle(420, 730, 60, 10), idx + "_Date", "enter date" + idx, fontHelvetica, 6); form.AddField(title); form.AddField(user1); form.AddField(date1); //// Create Button Check PdfButtonFormField button = PdfFormField.CreatePushButton(destPdf, new Rectangle(420, 720, 19, 10), idx + "_BtnOK", "OK"); //button.SetAction(PdfAction.CreateResetForm(new String[] { "name", "language", "experience1", "experience2", "experience3", "shift", "info" }, 0)); PdfAction action = new PdfAction(); PdfAction date = PdfAction.CreateJavaScript("AFDate_FormatEx(\"yyyy-mm-dd\");"); //PdfAction date = PdfAction.CreateNamed //action.Put(button.GetFormType(), PdfName.F); button.SetAction(date); form.AddField(button); } ScrPdf.Close(); destPdf.Close(); } catch (Exception ex) { throw ex; } finally { } }