C# wpf在AdobeReader中单击按钮打开PDF文件
我需要一个按钮打开一个PDF文件与Adobe Reader。我有以下代码,但它不工作。该文件位于我的应用程序的Books文件夹中C# wpf在AdobeReader中单击按钮打开PDF文件,c#,wpf,xaml,ado.net,C#,Wpf,Xaml,Ado.net,我需要一个按钮打开一个PDF文件与Adobe Reader。我有以下代码,但它不工作。该文件位于我的应用程序的Books文件夹中 private void openPDF(object sender, RoutedEventArgs e) { try { System.Diagnostics.Process process = new System.Diagnostics.Process(); bookPDF = "/Books/" + dataR
private void openPDF(object sender, RoutedEventArgs e)
{
try
{
System.Diagnostics.Process process = new System.Diagnostics.Process();
bookPDF = "/Books/" + dataRow.ItemArray[6].ToString();
Uri pdf = new Uri(bookPDF, UriKind.Relative);
process.StartInfo.FileName = new Uri(bookPDF, UriKind.Relative).ToString();
process.Start();
process.WaitForExit();
}
catch
{
MessageBox.Show("Could not open the file.", "Error", MessageBoxButton.OK, MessageBoxImage.Warning);
}
}
我用一个要打开的测试pdf文件测试了一个简单的字符串,它打开了
...
String file = "C:\\pdf\\Windows_Server_2008_R2_Unleashed.pdf";
process.StartInfo.FileName = file;
process.Start();
process.WaitForExit();
更改您的第六行:
bookPDF = "/Books/" + dataRow.ItemArray[6].ToString();
致:
Microsoft Windows命名约定在路径中使用反斜杠作为分隔符
您可以将第六行更改为:
bookPDF = string.Format(@"books\{0}", dataRow.ItemArray[6].ToString());
如果您的应用程序目录中有指定pdf格式的books文件夹,那么这应该可以工作 如果您在资源管理器中双击,该文件是否在读卡器中打开?我还注意到,您对书籍使用的是正斜杠而不是反斜杠。dataRowdataRow.ItemArray[6]中有什么内容。ToString的文件名类似于123.Pdf,您是否忘记在Pdf文件上设置“复制到输出目录”?如果使用路径Books\123.pdf,则Books文件夹应与构建的exe.Claudio P位于同一目录中,就是这样!非常感谢。我在应用程序目录中有一本书,但它仍然不起作用。为了清楚起见,我可以在资源管理器中打开该文件。
bookPDF = string.Format(@"books\{0}", dataRow.ItemArray[6].ToString());