从字节数组中计算单词页数

count word pages from byte array

sorry for my English

我有一个字节数组中的 word 文档的内容,我想知道它有多少页。

我已经使用此代码对 pdf 文件执行了此操作:

public void MssGetNumberOfPages(byte[] ssFileBinaryData, out int ssNumberOfPages) {

        int pageCount;
        MemoryStream stream = new MemoryStream(ssFileBinaryData);
        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;
            ssNumberOfPages = pageCount;
        }


        // TODO: Write implementation for action
    }

如何使用 word 文档做类似的事情?

在 pdf 中,我只需通过正则表达式搜索与此匹配的文本:

Regex(@"/Type\s*/Page[^s]")

我必须在正则表达式中输入什么才能匹配 word 文档的页面?

您能否详细说明一下您将 word doc 转换为 PDF 所使用的工具?

好吧,我通过 Aspose.dll

将 word 文档转换为 pdf 自己解决了这个问题
public void MssGet_Word_NumberOfPages(byte[] ssFileBinaryData, out int ssNumberOfPages) {

        // Load Word Document from this byte array
        Document loadedFromBytes = new Document(new MemoryStream(ssFileBinaryData));

        // Save Word to PDF byte array
        MemoryStream pdfStream = new MemoryStream();
        loadedFromBytes.Save(pdfStream, SaveFormat.Pdf);
        byte[] pdfBytes = pdfStream.ToArray();

        int pageCount;
        MemoryStream stream = new MemoryStream(pdfBytes);
        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;
            ssNumberOfPages = pageCount;
        }
    }