2014-01-16 17 views
2

我的任務是獲取pdf內容的頁數。我使用SSRS工具來生成pdf字節數組。一旦我得到字節數組,我需要獲得生成的這個字節數組的頁數。 C#是使用的編程語言。如何獲取通過SSRS生成的pdf字節數組的頁數

目前我正在使用生成的pdf字節數組物理創建PDF文件。後來我打開內存中的pdf文件並獲取頁數。最後,我正在刪除爲臨時目的而創建的文件。

有什麼辦法可以在不創建物理文件的情況下獲取生成的pdf字節數組的頁數?或者我可以在內存中創建一個PDF文件對象?

PDF創建需要額外的安全權限,我們不會將PDF文件用於任何其他目的。

+0

什麼是創建PDF文件的方法?你能詳細說明你的意思是「物理創建文件」嗎? –

+0

將文件寫入物理位置 – user3169103

+0

處理PDF處理的某些處理器的API可以在此處執行此操作。但我不知道你的約束,雖然使用相同..看看http://www.pdfsharp.com/PDFsharp/或iText Api –

回答

5

我使用下面的代碼修正了這個問題。

感謝您的幫助。

int pageCount; 
MemoryStream stream = new MemoryStream(pdfContent); 
using (var r = new StreamReader(stream)) 
{ 
    string pdfText = r.ReadToEnd(); 
    System.Text.RegularExpressions.Regex regx = new Regex(@"/Type\s*/Page[^s]"); 
    System.Text.RegularExpressions.MatchCollection matches = regx.Matches(pdfText); 
    pageCount = matches.Count; 
} 
+0

好的和美麗的答案,簡單,沒有外部依賴。 – Joseph

0

保存PDF流。使用iTextSharp參考在服務器上打開PDF並計數頁面。

相關問題