如何从 OpenFileDialog 获取文件路径并将其传递给 PDFReader? (C#)

How can I get the path of a file from an OpenFileDialog and pass it to a PDFReader? (C#)

OpenFileDialog ofd = new OpenFileDialog();
private void button1_Click(object sender, EventArgs e)
{
    ofd.Filter = "PDF|*.pdf";
    if (ofd.ShowDialog() == DialogResult.OK)
    { 
           richTextBox1.Text = ofd.SafeFileName;
    }

}
public static string pdfText(string path)
{
     //this is the error, I cannot get the path of the File I chose from the OpenFileDialog
    PdfReader reader = new PdfReader(ofd.FileName); 
    string text = string.Empty;

    for (int page = 1; page <= reader.NumberOfPages; page++)
    {
        text = text += PdfTextExtractor.GetTextFromPage(reader, page);

    }
    reader.Close();
    return text;
}

我需要从 OpenFileDialog 获取用户选择的文件的路径,但我无法将其传递给 PDFReader

1) 您不能在 static 方法中使用 class 变量,因此在这一行中访问 ofd

PdfReader reader = new PdfReader(ofd.FileName); 

应该会导致编译器错误消息

for the non-static field 'ofd' an object instance is required.

2) 看来你没有调用你的方法。您需要调用它并将文件名作为参数传递给它

private void button1_Click(object sender, EventArgs e)
{
    ofd.Filter = "PDF|*.pdf";
    if (ofd.ShowDialog() == DialogResult.OK)
    { 
           richTextBox1..Text = pdfText(ofd.SafeFileName);
    }    
}

那么你需要在方法内部使用method参数:

public static string pdfText(string path)
{
     //this is the error, I cannot get the path of the File I chose from the OpenFileDialog
    PdfReader reader = new PdfReader(path); // Here use path

现在返回的字符串应该出现在您的 richTextBox1