【问题标题】:Changing the default desktop save location of iTextSharp更改 iTextSharp 的默认桌面保存位置
【发布时间】:2017-04-24 08:53:33
【问题描述】:

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

  string outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), fullname);

我无法使用Environment.SpecialFolder.Desktop 将其转至Documents/Files 如何指定保存我的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();

【问题讨论】:

  • 不确定我是否理解您的问题,但您可以将outputFile 的值设置为您想要的任何位置,文件将被写入那里。我错过了什么?
  • 嘿我试过你说的,我做了这个。 string outputFile ="C:\Users\Company\Documents\My Web Sites" 但它给我一个UnauthorizedAccessException was unhandled??
  • 那是因为您没有在outputFile 中指定文件名,只指定文件夹。
  • 那里!我做到了!谢啦。我忘了添加文件名。你还是我应该回答这个问题?
  • 我认为你应该先看看@GeniusBraiNs 的回答。他有比仅仅硬编码非常有限的文件路径更好的方法。除非那不是你真正想要的。

标签: c# winforms itext


【解决方案1】:

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

string outputFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), @"Documents/Files", fullname);

如果您想要的输出文件夹不是桌面的子文件夹,您可以删除Environment.GetFolderPath(...) 部分并使用您想要的任何路径。不要忘记使用转义字符串(即使用“@”)。并且不要忘记将文件名与输出文件夹路径结合起来。

如果不是您所追求的,请提供更多详细信息。

【讨论】:

  • 但这就是它的所有细节。我尝试了你的建议,它给了我DirectoryNotFoundException,它说Could not find a part of the path C:\Users\Company\Desktop\Documents\Files\fullname.pdf
  • 请阅读这部分答案:“如果您想要的输出文件夹不是桌面的子文件夹,...”
  • 哦,好吧,对不起。我试过了,我最终得到了这个绝对路径。 string outputFile = Path.Combine("C:/Users/Company/Downloads", fullname); 并且有效。但是@ 是做什么用的呢?
  • @Fiendcoder1, DirectoryNotFoundException 表示您必须先创建目录。你可以通过代码做到这一点
  • @Fiendcoder1, @ 用于制作逐字字符串而不是常规字符串。查看this answer 了解更多信息。您可能还需要检查 this MSDN article 是否需要转义哪些字符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-16
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 2021-04-19
相关资源
最近更新 更多