我在Windows窗体C#应用程序中创建了一个名为PDF的文件夹,其中放置了许多pdf文件。我正在使用Adobe PDF阅读器COM组件,我想设置当前创建的文件夹(PDF)的路径。
我正在使用它运行的文件的完整路径:
“C:/ Users / USER / Documents / Visual Studio 2012 / Projects / PERFEC1.1 / PERFEC1.1 / PDF / RedactionCV.pdf”
但它不适用于其他机器。我该如何解决这个问题?
这是我的代码:
private void btnRedactioncv_Click(object sender, EventArgs e)
{
this.axAcroPDF1.LoadFile(File_Path);
this.axAcroPDF1.src = File_path;
this.axAcroPDF1.setShowToolbar(false);
this.axAcroPDF1.setView("FitH");
this.axAcroPDF1.setLayoutMode("SinglePage");
this.axAcroPDF1.Show();
}
答案 0 :(得分:0)
保存PDF时,应使用此类代码
string pathToSave = Environment.GetFolderPath(Environment.SpecialFolders.MyDocuments);
pathToSave = Path.Combine(pathToSave, "PERFEC1.1", "PDF");
Directory.CreateDirectory(pathToSave);
string fileToSave = Path.Combine(pathToSave, "RedactionCV.pdf");
... code to save the file ....
现在,当您需要检索文档时,很容易重建不同用户的计算机上存在的路径
string pathToLoad = Path.Combine(pathToSave, "PERFEC1.1", "PDF");
string fileToLoad = Path.Combine(pathToLoad, "RedactionCV.pdf");
... code to load file ....
这种方法的关键是使用Environment.SpecialFolder枚举,它有助于检索最终用户计算机上众所周知的位置,而不是在应用程序中存储硬路径
答案 1 :(得分:0)
相对路径指定为"subfolder1\\subfolder2\\file.pdf"
,如果您想要升级使用...
:"...\\curentfolder\\subfolder1\\subfolder2\\file.pdf"
(这没有意义,但您可以使用其他文件夹而不是curentfolder)。因此,在您的情况下,它应该是"PDF\\RedactionCV.pdf"
。您可以使用相对路径进行读取和写入,就像使用绝对路径一样。如果您要创建新文件,请确保该路径已存在,因为它不会为您创建新文件夹(您可以使用DirectoryInfo
)。