如何获取通过SSRS生成的pdf字节数组的页数

use*_*103 2 c# pdf bytearray reporting-services ssrs-2008

我的任务是获取pdf内容的页数.我利用SSRS工具生成pdf字节数组.一旦我得到字节数组,我需要获得生成的这个字节数组的页数.C#是使用的编程语言.

目前我正在使用生成的pdf字节数组物理创建pdf文件.后来我在内存中打开pdf文件并获取页数.最后,我将删除为临时目的创建的文件.

有没有办法在不创建物理文件的情况下获取生成的pdf字节数组的页数?或者我可以在内存中创建一个pdf文件对象吗?

PDF创建需要额外的安全权限,我们不会将pdf文件用于任何其他目的.

use*_*103 6

我使用下面的代码修复了这个问题.

谢谢你的帮助.

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;
}
Run Code Online (Sandbox Code Playgroud)