You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core中如何使用iText7将PDF域值替换为图片?

iText7中替换按钮域为图片的实现方案

在iText7中没有直接对应iTextSharp里PushbuttonField的类,但可以通过PdfButtonFormField配合相关API实现相同功能——将指定按钮域替换为图片,且仅显示图片、保持比例缩放。

完整iText7实现代码

var pdfReader = new PdfReader(pdfPath1);
var fstream = new FileStream(newFile, FileMode.Create);
var pdfWriter = new PdfWriter(fstream);
var pdfDocument = new PdfDocument(pdfReader, pdfWriter);
var acroForm = PdfAcroForm.GetAcroForm(pdfDocument, true);

if (!string.IsNullOrEmpty(sign1))
{
    // 获取目标按钮域
    PdfButtonFormField buttonField = (PdfButtonFormField)acroForm.GetField("imgSign1");
    if (buttonField != null)
    {
        // 加载图片并转换为PDF可用的XObject
        ImageData imageData = ImageDataFactory.Create(sign1);
        PdfImageXObject imageXObject = new PdfImageXObject(imageData);
        
        // 设置按钮仅显示图标、保持图片比例
        buttonField.SetLayout(PdfButtonFormField.LAYOUT_ICON_ONLY);
        buttonField.SetProportionalIcon(true);
        
        // 将图片绑定到按钮域
        buttonField.SetImage(imageXObject);
    }
}

// 关闭资源
pdfDocument.Close();
pdfReader.Close();
fstream.Close();

代码对应说明

  • 获取按钮域:通过acroForm.GetField()获取目标按钮,强制转换为PdfButtonFormField
  • 图片处理:用ImageDataFactory加载本地图片,包装为PdfImageXObject适配PDF环境
  • 布局配置:SetLayout(PdfButtonFormField.LAYOUT_ICON_ONLY)对应iTextSharp的LAYOUT_ICON_ONLY,SetProportionalIcon(true)对应ProportionalIcon = true
  • 绑定图片:通过SetImage()方法将图片设置为按钮的显示内容

原iTextSharp实现代码

var pdfReader = new PdfReader(pdfPath1);
string outputfile = string.Empty;
var pdfStamper = new PdfStamper(pdfReader, new FileStream(newFile, FileMode.Create));
var pdfFormFields = pdfStamper.AcroFields;
outputfile = string.Empty;

if (!String.IsNullOrEmpty(sign1))
{
    PushbuttonField pushbuttonField = pdfFormFields.GetNewPushbuttonFromField("imgSign1");
    pushbuttonField.Layout = PushbuttonField.LAYOUT_ICON_ONLY;
    pushbuttonField.ProportionalIcon = true;
    pushbuttonField.Image = iTextSharp.text.Image.GetInstance(sign1);
    pdfFormFields.ReplacePushbuttonField("imgSign1", pushbuttonField.Field);
}

内容的提问来源于stack exchange,提问作者vikas chaudhary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:50:23