繁体   English   中英

如何从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方法中使用类变量,因此在此行中访问ofd

PdfReader reader = new PdfReader(ofd.FileName); 

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

对于非静态字段“ ofd”,需要一个对象实例。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM