C#。Aspose.Words将带有页码的二维码添加到页脚

C#。Aspose.Words将带有页码的二维码添加到页脚,c#,.net,qr-code,aspose,aspose.words,C#,.net,Qr Code,Aspose,Aspose.words,我们正在使用Aspose.Words处理文档 使用Aspose.BarCode,我们可以将二维码添加到包含一些数据的字段中,但我们还需要将页码和总页码添加到二维码的数据中 是否有办法定义字段所在页面的索引? 尝试使用LayoutCollector GetStartPageIndex方法,但始终使用get Empty Stack方法 多谢各位 private static void SetQrField(Field field, Document document)

我们正在使用Aspose.Words处理文档

使用Aspose.BarCode,我们可以将二维码添加到包含一些数据的字段中,但我们还需要将页码和总页码添加到二维码的数据中

是否有办法定义字段所在页面的索引?

尝试使用LayoutCollector GetStartPageIndex方法,但始终使用get Empty Stack方法

多谢各位

        private static void SetQrField(Field field, Document document)
        {
            var documentBuilder = new DocumentBuilder(document);
            documentBuilder.MoveToField(field, false);

            LayoutCollector collector = new LayoutCollector(document);
            int pageNumber = collector.GetStartPageIndex(field.Start); //Tried different options to get field's node
            int pagesNumberTotal = collector.Document.BuiltInDocumentProperties.Pages;

            // ...

            var barCodeBuilder = new BarCodeBuilder();
            barCodeBuilder.CodeText = value;
            barCodeBuilder.EncodeType = EncodeTypes.QR;

            documentBuilder.InsertImage(new Bitmap(barCodeBuilder.GetOnlyBarCodeImage(), new Size(100, 100)));
        }

你使用哪种版本的Aspose.Words?我使用最新版本测试了该场景,LayoutCollector设法返回FieldStart节点的页码。在代码中,您还可以使用Document.BuiltInDocumentProperties.Pages属性获取文档中的页数。此属性的值可能未更新(例如,如果以编程方式修改文档)。要获取实际页数,请使用Document.PageCount属性。它由Aspose.Words布局引擎更新,具有更精确的值。