KingMan 发表于 2017-7-12 20:13:43

TXControl .NET 删除空页问题

通过以下代码删除空页没有问题
TXTextControl.PageCollection.PageEnumerator pageEnum =
                           textControl1.GetPages().GetEnumerator();
            pageEnum.MoveNext();
            int pageCounter = textControl1.GetPages().Count;
            for (int i = 0; i < pageCounter; i++)
            {
                TXTextControl.Page curPage = (TXTextControl.Page)pageEnum.Current;
                if (curPage.Length == 1 || curPage.Length == 0)
                {
                  textControl1.Select(curPage.Start - 1, 1);
                  textControl1.Selection.Text = "";
                }
                else
                  pageEnum.MoveNext();
            }

但是下面这个附件(保存为字节文件,通过 textControl1.Load(bBytes, BinaryStreamType.InternalFormat);加载),里面有个空页,这个空页的page.Length = 0,现在要删除该页怎么也删不了。也就是说我要实现删除指定的页。
说明一下,这个空白页是控件自动分裂产生的新页。第2页,第4页才是代码控制产生的新页.
其中产生新页的代码:
    public int AddNewPage()
      {
            int newPage = this.m_stx.Pages + 1;
            InputPosition inputPosition = new TXTextControl.InputPosition(newPage, 1, 0);
            Selection pSelect = new Selection(m_stx.Text.Length, 0);
            this.m_stx.Selection = pSelect;
            this.m_stx.Selection.Text = "\f";
            this.m_stx.Selection.Length = 0;
            //this.m_stx.InputPosition.ScrollTo();

            //this.textControl1.InputPosition = inputPosition;
            //Point ScrollPosition = new Point(0, inputPosition.Location.Y);
            //this.textControl1.ScrollLocation = ScrollPosition;
            return newPage;
      }

SamirW 发表于 2017-7-13 09:37:45

我通过你第一个删除页的那块代码 也没有成功删除我的空白页,反而多了一页。。

Richard.Ma 发表于 2017-7-13 10:41:32

SamirW 发表于 2017-7-13 09:37
我通过你第一个删除页的那块代码 也没有成功删除我的空白页,反而多了一页。。

你在最上面的写的代码通常情况下删除空白页应该是没有问题的,你现在说是这个删不了,可以检查一下是不是里面还有其他的导致自动分页的换页符号之类的

需要和你确认目前是所有测试的文档空白页都无法删除还是就你附件中的这一个,其他文档是正常的?

KingMan 发表于 2017-7-13 10:49:35

Richard.Ma 发表于 2017-7-13 10:41
你在最上面的写的代码通常情况下删除空白页应该是没有问题的,你现在说是这个删不了,可以检查一下是不是 ...

其他文档可以,就这个文档不可以,另外,根据发现这个Page.Length = 1 是没有问题的。现在为什么删不了我也找不到原因。请指导一下。

Richard.Ma 发表于 2017-7-13 12:09:56

我想有可能是\f字符导致的,这个应该是在上一页最后,你可以把这个字符删除掉应该就可以删除页了
页: [1]
查看完整版本: TXControl .NET 删除空页问题