Прямо сейчас у меня есть шаблон формы, который имеет некоторые поля, которые предварительно заполнены из базы данных, используя библиотеку iTextSharp. Затем пользователи заполнят остальные поля и сохраняют заполненные формы. Затем я извлечу данные и поместим их в базу данных.Как я могу заполнить форму PDF с помощью iTextSharp, сохраняя при этом ее редактирование и сохранение в Adobe Reader другими пользователями?
В настоящее время я могу создавать PDF-файлы, и они предварительно заполняются просто отлично. Я даже могу редактировать и сохранять их в Adobe Reader на своем компьютере. Однако я обнаруживаю, что когда кто-то еще открывает те же файлы, им не разрешается сохранять формы.
Что нужно сделать, чтобы формы сохранялись всеми пользователями с помощью Adobe Reader? Вот код, я должен создать PDF:
Dim pdfReader As PdfReader = New PdfReader(formPath)
pdfReader.RemoveUsageRights()
Dim pdfStamper As PdfStamper = New PdfStamper(pdfReader, New FileStream(outputPath, FileMode.Create))
Dim pdfFormFields As AcroFields = pdfStamper.AcroFields
Dim xfdfReader As XfdfReader = New XfdfReader(xfdfPath)
pdfFormFields.SetFields(xfdfReader)
pdfStamper.Close()
я использовал, чтобы иметь проблему, что даже я не мог сохранить формы в Reader, и именно поэтому я добавил эту строку:
pdfReader.RemoveUsageRights()
Это сделало так, что I может редактировать PDF-файл, который заставляет меня думать, что все было решено. Но никто другой не может.
У вас есть только Adobe Reader, а не Adobe Acrobat? И какая версия? – mkl
Yep.I использовал Acrobat для создания формы PDF, но я определенно открываю файлы в Reader. Я использую Reader XI (очевидно, Adobe решила, что римские цифры прохладны где-то вдоль линии). Я попытался открыть файл на другом компьютере с помощью Reader 9, поэтому он может быть таким же простым, как проблема с версией, и мне нужны мои пользователи для установки Reader XI. –
Действительно, Adobe изменила то, что позволяет пользователям своих читателей по умолчанию. Тем не менее, если вы используете PdfStamper в режиме добавления, вы можете даже обслуживать пользователей более старых версий Adobe Reader. – mkl