c# - iTextSharp 填充 Pdf 表单图像字段

标签 c# itext imagefield pdf-form

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

    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();
    }

关于c# - iTextSharp 填充 Pdf 表单图像字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44794670/

相关文章:

c# - 插入日志事件时,TimeCreated 字段不够准确

c# - 检索可执行信息

c# - 创建/获取 TableMapping 映射以发送到 SQLiteAsyncConnection.DeleteAll()

python - 在 Django 模型中存储图像列表

特定宽度和高度的 Django Form Imagefield 验证

c# - Silverlight 与网络浏览器应用程序 (.xbab)?

java - 无法编译apk,Itext和Proguard冲突

c# - iTextSharp - 无法在表格单元背景颜色上绘制矩形

c# - 使用一个签名签署 PDF,但具有多个签名外观

django - 可疑文件操作: Storage can not find an available filename for