iTextSharp отображение имен файлов не работает - PullRequest
0 голосов
/ 23 мая 2018

У меня есть пример кода C #, который я на самом деле взял из статьи, чтобы объяснить, как составить список имен полей из файла PDF.Код был взят из здесь

Прежде, чем я взял код, я добавил следующие библиотеки DLL к справке моего проекта:

  • itextsharp.dll
  • itextsharp.pdfa.dll
  • itextsharp.xmlworker.dll
  • itextsharp.xtra.dll

Затем я создал одну простую форму с одним TextBox и ядля многострочного свойства установите True для TextBox

. При загрузке формы я вызвал метод ListFieldNames() для перечисления полей в TextBox в соответствии со статьей.

Нижеэто код:

private void ListFieldNames()
    {
        string pdfTemplate = "C:\\Users\\aalsahli\\Desktop\\I-9Form.pdf";
        this.Text += " - " + pdfTemplate;

        PdfReader pdfReader = new PdfReader(pdfTemplate);

        StringBuilder sb = new StringBuilder();
        foreach (var de in pdfReader.AcroFields.Fields)
        {
            sb.Append(de.Key.ToString() + Environment.NewLine);
        }
        textBox1.Text = sb.ToString();
        textBox1.SelectionStart = 0;
    }

Когда я запускаю приложение, в TextBox ничего не отображается, и я не получаю сообщения об ошибке.

Когда я пытался отладить приложение, я нашелиз-за того, что код вообще не попадает в цикл for, что означает, что строка sb.Append(de.Key.ToString() + Environment.NewLine); никогда не выполнялась

Вот вывод, который я получаю при запуске приложения:

'ReadPDF.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ReadPDF.exe' (CLR v4.0.30319: DefaultDomain): Loaded 'C:\Users\aalsahli\source\repos\ReadPDF\ReadPDF\bin\Debug\ReadPDF.exe'. Symbols loaded.
'ReadPDF.exe' (CLR v4.0.30319: ReadPDF.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ReadPDF.exe' (CLR v4.0.30319: ReadPDF.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ReadPDF.exe' (CLR v4.0.30319: ReadPDF.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ReadPDF.exe' (CLR v4.0.30319: ReadPDF.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ReadPDF.exe' (CLR v4.0.30319: ReadPDF.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ReadPDF.exe' (CLR v4.0.30319: ReadPDF.exe): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'ReadPDF.exe' (CLR v4.0.30319: ReadPDF.exe): Loaded 'C:\Users\aalsahli\source\repos\ReadPDF\ReadPDF\bin\Debug\itextsharp.dll'. Module was built without symbols.
...