Невозможно открыть PDF файл с помощью объекта iTextSharp PdfReader
Я пытаюсь сгенерировать PDF-файл из файла шаблона и файла FDF.
например,
PDF-файл = файл шаблона + файл FDF
PDF-файл успешно генерируется с помощью шаблонов и файлов fdf и может быть открыт вручную с помощью Acrobat Pdf.
Однако я не могу открыть сгенерированный pdf-файл с помощью объекта PdfReader iTextSharp.
например,
PdfReader obj = новый PdfReader(outputFileName);
Я получаю следующую ошибку в приведенной выше строке:
Ошибка: индекс был вне диапазона. Должен быть неотрицательным и меньше размера коллекции.
Имя параметра: индекс
Вот метод и клиентский вызов метода.
1) Правильно ли я использую метод создания PDF-файла? Если нет, то каков правильный метод?
2) есть ли какая-либо известная проблема с PdfReader?
Любая помощь будет очень признательна.
public static void GenerateFormWithData(string formFilename, string fdfFileName, string outputFileName) { File.Copy(formFilename, outputFileName, true); using (FileStream outputStream = new FileStream(outputFileName, FileMode.Open)) { FdfReader fdfReader = new FdfReader(fdfFileName); PdfReader formReader = new PdfReader(fdfReader.FileSpec); using (PdfStamper pdfStamper = new PdfStamper(formReader, outputStream)) { AcroFields pdfForm = pdfStamper.AcroFields; pdfForm.SetFields(fdfReader); pdfStamper.FormFlattening = true; pdfStamper.Writer.CloseStream = false; pdfStamper.Close(); outputStream.Close(); } fdfReader.Close(); formReader.Close(); } PdfReader obj = new PdfReader(outputFileName); // ERROR on this line // Note: I am able to open the outputFileName when I double click on the file in Windows Explorer. But not able to read the file using PdfReader after generating it. } // Client Call string formFile = Path.Combine(defaultPath, "MyTemplate.pdf"); string fdfFile = Path.Combine(defaultPath, "FormDataFile.fdf"); string outFile = Path.Combine(defaultPath, "MyOutput.pdf"); PdfLibrary.GenerateFormWithData(formFile, fdfFile, outFile);