C# iTextSharp 获取PDF模板的所有Fields 的值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp.text;
using iTextSharp.text.pdf;
using System.IO;


namespace UserTestProject
{
    class Program
    {
        static void Main(string[] args)
        {
            PdfReader pdfReader = null;
            PdfStamper pdfStamper = null;
            try
            {
                pdfReader = new PdfReader(@"Test.pdf");
                AcroFields pdfFormFields = pdfReader.AcroFields;
                foreach (var item in pdfFormFields.Fields)
                {
                    var d = item.Value.GetMerged(0);
                    var str = d.Get(PdfName.V);
                    if (!string.IsNullOrEmpty(str?.ToString()))
                    {
                        var p = (str.GetBytes()[0] << 8) + str.GetBytes()[1];
                        string code;
                        switch (p)
                        {
                            case 0xefbb:
                                code = "UTF-8";
                                break;
                            case 0xfffe:
                                code = "Unicode";
                                break;
                            case 0xfeff:
                                code = "UTF-16BE";
                                break;
                            default:
                                code = "GBK";
                                break;
                        }
                        var value = Encoding.GetEncoding(code).GetString(str.GetBytes());
                        Console.WriteLine(item.Key + ":" + value);
                    }
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                if (pdfStamper != null)
                {
                    pdfStamper.Close();
                }
                if (pdfReader != null)
                {
                    pdfReader.Close();
                }
            }
        }
    }
}

写这里防止大家再去挖坑

你可能感兴趣的:(iTextSharp,pdf)