![](/img/trans.png)
[英]c# Get Path from a busy file using openFileDialog in winforms
[英]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.