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);
}
}
然后你需要在方法中使用方法参数:
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