iTextSharp填充PDF表单图像字段 [英] iTextSharp Fill Pdf Form Image Field

查看:305
本文介绍了iTextSharp填充PDF表单图像字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Acrobat DC 2015创建了pdf表单.上面有一个图像字段.我成功填写了文本字段.但是我不知道如何填充图像字段.你帮我吗?

I created a pdf form with Acrobat DC 2015. I have a image field on it. I fill text field succesfully. But I don't know how to fill image field. Do you help me?

    private static void FillPdfForm()
    {
        // Original File
        const string pdfTemplate = @"pdf\form.pdf";
        // New file which will be created after fillin PDF
        var newFile = @"pdf\FilledCV.PDF";
        var pdfReader = new PdfReader(pdfTemplate);
        var pdfStamper = new PdfStamper(pdfReader, new FileStream(
            newFile, FileMode.Create));
        var pdfFormFields = pdfStamper.AcroFields;

        // So one of our fields in PDF is FullName I am filling it with my full name
        pdfFormFields.SetFieldProperty("01", "textsize", 8f, null);
        pdfFormFields.SetField("01", "Example");

        // flatten the form to remove editting options, set it to false
        // to leave the form open to subsequent manual edits

        foreach (var de in pdfReader.AcroFields.Fields)
        {
            pdfFormFields.SetFieldProperty(de.Key.ToString(),
                                       "setfflags",
                                        PdfFormField.FF_READ_ONLY,
                                        null);
        }

        pdfStamper.FormFlattening = false;
        pdfStamper.FormFlattening = false;
        pdfStamper.Close();
    }

推荐答案

我已修复它.

    private static void FillPdfForm()
    {
        const string pdfTemplate = @"pdf\form.pdf";
        var newFile = @"pdf\FilledCV.PDF";
        var pdfReader = new PdfReader(pdfTemplate);
        var pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create));
        var pdfFormFields = pdfStamper.AcroFields;

        string TestImage = @"pdf\test.jpg";
        PushbuttonField ad = pdfFormFields.GetNewPushbuttonFromField("08");
        ad.Layout = PushbuttonField.LAYOUT_ICON_ONLY;
        ad.ProportionalIcon = true;
        ad.Image = Image.GetInstance(TestImage);
        pdfFormFields.ReplacePushbuttonField("08", ad.Field);


        pdfFormFields.SetFieldProperty("01", "textsize", 8f, null);
        pdfFormFields.SetField("01", "Example");
        foreach (var de in pdfReader.AcroFields.Fields)
        {
            pdfFormFields.SetFieldProperty(de.Key,"setfflags",PdfFormField.FF_READ_ONLY,null);
        }
        pdfStamper.FormFlattening = false;
        pdfStamper.Close();
    }

这篇关于iTextSharp填充PDF表单图像字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆