2017-02-28 31 views
0

我正嘗試使用文件流創建pdf文件,並且正在創建指定文件夾中的文件路徑,當我嘗試打開文件時,Adobe Reader正在拋出上面我在標題中提到的錯誤。我不確定我做錯了什麼,但如果有人能夠看到它並幫助我,我將不勝感激。謝謝!。下面是我對FILESTREAM代碼:Adob​​e Reader無法打開'StreamTest5.pdf',因爲它不是受支持的文件或文件已被損壞錯誤

  System.IO.FileStream wFile; 
      byte[] byteData = null; 
      byteData = Encoding.ASCII.GetBytes("FileStream Test"); 
      string filePath = $"{_ApplicationPath}PrintedResults\\StreamTest5.pdf"; 
      wFile = new FileStream(filePath, FileMode.Create); 
      wFile.Write(byteData, 0, byteData.Length); 
      wFile.Close(); 
      using (var fileStream = new FileStream(filePath, FileMode.Open)) 
      { 

       Console.WriteLine("This is a test stream file"); 

      } 
     System.Diagnostics.Process.Start(filePath); 

回答

1

你正在寫有內容「的FileStream Test」的文本文件,但與「.PDF」的文件擴展名命名。這不是一個PDF文件。這是一個具有誤導性名稱的文本文件。 Adobe Reader正確報告它不是有效的PDF。

+0

你能幫我寫出一個pdf文件而不是文本的代碼嗎? – user0594

+1

您將需要第三方庫來生成PDF,或花費大量時間研究PDF格式本身,並嘗試編寫自己的PDF格式。 – Tim

1

這不是一個答案,但我沒有足夠的聲譽,將其添加爲註釋:

你可能想看看被http://www.dynamicpdf.com/ 他們的免費試用版提供的第三方庫是完全能夠和它並沒有時間限制,因爲他們在他們的網站上說。多花點功夫,只需要評估版本就可以創建相當複雜的PDF!

相關問題