2016-12-08 36 views
0

我在網上隨處看,但我的代碼不匹配其他人。我有這個更改iTextSharp的默認桌面保存位置

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(); 
+0

不知道我理解你的問題,但你可以將'outputFile'的值設置爲你想要的位置,並將文件寫入那裏。我錯過了什麼? – Adrian

+0

嘿,我試着你說的,我做到了。 'string outputFile =「C:\ Users \ Company \ Documents \ My Web Sites」'但它引發了一個'UnauthorizedAccessException was unhandled'? – Fiendcoder1

+0

這是因爲您沒有在'outputFile'中指定文件名,只有文件夾。 – Adrian

回答

1

如果我理解正確的話,這是你應該使用什麼:

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

如果您所需的輸出文件夾不是桌面的子文件夾,你可以刪除Environment.GetFolderPath(...)部分和使用無論你想要什麼路徑。不要忘記使用轉義字符串(即使用「@」)。不要忘記將文件名與輸出文件夾路徑相結合。

如果這不是你想要的,那麼請提供更多的細節。

+0

但這就是它的全部細節。我嘗試了你的建議,它給了我'DirectoryNotFoundException',它表示'找不到路徑C:\ Users \ Company \ Desktop \ Documents \ Files \ fullname.pdf的一部分' – Fiendcoder1

+0

請閱讀這部分答案:「如果你想要的輸出文件夾不是桌面的子文件夾,...」 –

+0

哦好吧,對不起。我嘗試了這一點,並以絕對路徑結束。 'string outputFile = Path.Combine(「C:/用戶/公司/下載」,全名);'它工作。但是'@'用於什麼? – Fiendcoder1

相關問題