C# 更改iTextSharp的默认桌面保存位置

C# 更改iTextSharp的默认桌面保存位置,c#,winforms,itext,C#,Winforms,Itext,我在互联网上到处找,但我的代码与其他代码不匹配。我有这个 string outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), fullname); 我无法使用Environment.SpecialFolder.Desktop将其保存到文档/文件如何指定将保存pdf文档的文件夹 这是我的全部代码 string outputFile = Path.Combine(Envir

我在互联网上到处找,但我的代码与其他代码不匹配。我有这个

  string outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), fullname);
我无法使用
Environment.SpecialFolder.Desktop
将其保存到
文档/文件
如何指定将保存pdf文档的文件夹

这是我的全部代码

string outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), fullname);
FileStream fs = new FileStream(outputFile, FileMode.Create, FileAccess.Write, FileShare.None);
Document doc = new Document(PageSize.A4, 60, 60, 40, 30);
PdfWriter w = PdfWriter.GetInstance(doc, fs);
doc.Open();
    .
    .
    .
doc.Close();

如果我理解正确,这是您应该使用的:

string outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), @"Documents/Files", fullname);
如果所需的输出文件夹不是桌面的子文件夹,则只需删除
Environment.GetFolderPath(…)
部分并使用所需的任何路径即可。不要忘记使用转义字符串(即使用“@”)。不要忘记将文件名与输出文件夹路径相结合


如果不是您想要的,请提供更多详细信息。

我不确定是否理解您的问题,但您可以将
outputFile
的值设置为您想要的位置,然后文件将写入其中。我错过了什么?嘿,我试过你说的,我做了这个
string outputFile=“C:\Users\Company\Documents\My Web Sites”
但它向我抛出了一个未经授权的访问异常,该异常未被处理?,这是因为您没有在
outputFile
中指定文件名,而只指定了文件夹。在那里!我做到了!谢谢你,伙计。我忘了添加文件名。你还是我来回答这个问题?我想你应该先看看@GeniusBraiNs来回答。他有比硬编码文件路径更好的方法,这是非常有限的。除非那不是你真正想要的,但这就是所有的细节。我尝试了你的建议,它给了我
DirectoryNotFoundException
,它说
找不到路径C:\Users\Company\Desktop\Documents\Files\fullname.pdf的一部分。请阅读答案的这一部分:“如果你想要的输出文件夹不是桌面的子文件夹,…”哦,好的,是的,对不起。我试过了,我最终走上了这条绝对的道路<代码>字符串outputFile=Path.Combine(“C:/Users/Company/Downloads”,全名)并且它可以工作。但是
@
用于什么呢?@Fiendcoder1,
DirectoryNotFoundException
意味着您必须首先创建目录。你可以这样做code@Fiendcoder1,
@
用于生成逐字记录字符串,而不是常规字符串。查看了解更多信息。您可能还需要检查哪些字符需要转义。