C# iTextSharp can';我不读一些PDF文件

C# iTextSharp can';我不读一些PDF文件,c#,pdf,itextsharp,C#,Pdf,Itextsharp,我无法将某些PDF的内容读取并显示到RichTextBox。 我使用以下代码: string fileName = @"C:\Users\PC\Desktop\SomePdf.pdf"; string str = string.Empty; PdfReader reader = new PdfReader(fileName); for (int i = 1; i <= reader.NumberOfPages; i++) { ITextExtractionStrategy it

我无法将某些PDF的内容读取并显示到
RichTextBox
。 我使用以下代码:

string fileName = @"C:\Users\PC\Desktop\SomePdf.pdf";
string str = string.Empty;

PdfReader reader = new PdfReader(fileName);

for (int i = 1; i <= reader.NumberOfPages; i++)
{
    ITextExtractionStrategy its = new iTextSharp.text.pdf.parser.LocationTextExtractionStrategy();
    String s = PdfTextExtractor.GetTextFromPage(reader, i, its);

    s = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(s)));
    str = str + s;
    rtbVsebina.Text = str;
}

reader.Close();
stringfilename=@“C:\Users\PC\Desktop\SomePdf.pdf”;
string str=string.Empty;
PdfReader reader=新的PdfReader(文件名);

对于(inti=1;i您将页面内容与页面注释混淆

页面内容是页面内容流的一部分。它在页面字典的
/Contents
条目和(可选)外部对象(aka
XObjects
)中引用。使用问题中复制/粘贴的代码片段,您可以提取此内容

富文本框是多种批注类型之一。批注不是页面内容流的一部分。它们从页面字典的
/Annots
条目中引用。如果要获取批注的内容,需要向页面请求其批注,而不是解析页面的内容第页。例如,请参见

回答您的问题“我做错了什么”:您看错了地方。

发生了什么事?有错误吗?没有显示任何内容?