1

对不起我的英语不好

我在字节数组中有一个 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 文档的页面?

4

2 回答 2

1

好吧,我自己解决了这个问题,方法是使用 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;
        }
    }
于 2017-03-16T13:21:21.597 回答
0

您能否详细说明用于将 word doc 转换为 PDF 的工具?

于 2017-03-15T12:50:03.860 回答