我有一个帮助按钮在我的表单上,当用户单击它初始化help .cs窗体,其中axAcroPDF1初始化。一切都如预期的那样工作,但是当我构建应用程序并将发布文件夹移动到USB以将其复制到另一个位置时,它无法读取pdf,这是正确的事情,我如何解决此问题,以便它从当前位置获取pdf的文件路径。
这是我的代码来初始化pdf和我如何加载它:
private void Help_Load(object sender, EventArgs e)
{
InitializeAdobe("C:\Users\username\Documents\Visual Studio 2013\Projects\Learning Windows Forms\TotalReporting\TotalReporting\bin\Release\Total Reporting Help Guide.pdf");
}
private void InitializeAdobe(string filePath)
{
try
{
this.axAcroPDF1.LoadFile(filePath);
this.axAcroPDF1.src = filePath;
this.axAcroPDF1.setShowToolbar(false);
this.axAcroPDF1.setView("FitH");
this.axAcroPDF1.setLayoutMode("SinglePage");
this.axAcroPDF1.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
private void Help_FormClosed(object sender, FormClosedEventArgs e)
{
this.axAcroPDF1.Dispose();
this.axAcroPDF1 = null;
}
基本上你不需要像这样把file放在path中,因为当你运行你的应用程序时,它也会在那台机器上保存这个路径。所以你必须把文件放在一个明确的位置,这样你就可以在运行时获得位置(不是通过硬编码的路径)。你可以参考我的答案来获得所需的路径。https://stackoverflow.com/a/40157384/6527049