vishal.shimpi Ответов: 1

Как обновить значение текстового поля PDF-формы без создания нового файла


Привет,

Не могли бы вы помочь мне в следующем сценарии?

У меня есть редактируемая pdf-форма, и я хочу обновить поле программно (C#) без создания нового файла. Я попробовал использовать iTextSharp, но он позволяет мне читать и писать файл одновременно.

Ребята, у вас есть какие-нибудь идеи, как я могу этого добиться? Любая помощь будет очень признательна.

Заранее спасибо.

Что я уже пробовал:

string Scr = @"D:\temp\notifications\ReadFrom\pdfSource.pdf";
            string Dst = @"D:\temp\notifications\WriteTo\PdfDestination.pdf";


            try
            {

                PdfReader reader = new PdfReader(Scr);  //Source File
                using (FileStream ms = new FileStream(Dst, FileMode.OpenOrCreate, FileAccess.ReadWrite))  // Destination File Location
                {
                    PdfStamper st = new PdfStamper(reader, ms);
                    AcroFields fds = st.AcroFields;
                    var keys = fds.Fields.Keys;

                    
                    foreach (string item in keys)
                    {
                        if (item.Contains(FieldName)) // && item.GetValue(FieldName) != DBValue
                        {
                            fds.SetField(item, UserEnteredFieldValue);
                            //int i = fds.GetRevision(item);
                        }
                    }
                    
                    st.FormFlattening = true;
                    st.Writer.CloseStream = false;
                    st.Close();
                }
            }
            catch (Exception ex)
            { }

1 Ответов

Рейтинг:
1

Rahul VB

Вы можете попробовать Этот[^]