C# 获得word中某一段落所在页的页码

方式一:通过openxml 从xml结构里获得
不可行。原因如下
A footer is not on a page and a page number in a footer is a field that potentially identifies with multiple pages. In a Word document file, there are no pages. Pages are set as a part of the printing process.
It is possible with the file open in Word to identify a page number using vba but it is not part of the xml.
翻译一下,页脚并不存在于页面上,页脚上的页码是一个有可能经过多个页才能确定的域。在一个word文档中,并没有页,页被认为是一个word页面绘制过程。
使用vba用word打开文档可以确定页码,但页码并不存在于xml上。

下面这种情况可以从xml结构中获得一部分页码。即word中存在目录。但只能获得大纲标题所在页。并不能任意指定段落。而且并不保证准确,因为默认情况下目录并不自动更新。
虽然页码在xml结构中不存在,但是目录上大纲标题对应的页是硬编码在xml结构里的。

方式二:通过vba --因为vba需要打开word,所以是可以获得页码的

/// <summary>
        /// 得到Paragraph所在页码
        /// </summary>
        /// <param name="pa"></param>
        /// <returns></returns>
        public static int GetPageNumberOfParagraph(Paragraph pa)
        {
            return GetPageNumberOfRange(pa.Range);
        }

        private static int GetPageNumberOfRange(Range range)
        {
            return (int)range.get_Information(WdInformation.wdActiveEndPageNumber);
        }

原文地址:https://www.cnblogs.com/xushy/p/8650186.html

时间: 2024-11-08 07:43:01

C# 获得word中某一段落所在页的页码的相关文章

WORD中如何让前两页不显示页码

WORD中如何让前两页不显示页码   上稿人:ojn 点击率: 15191   我们有时在用word编辑文档时,会遇上第一.二页无需显示页码,第三页才是正文的第一页时,该如何正确插入页码呢? 以word 2010为例,方法如下: 假如第1-2页无页码,第3页开始插入页码,起始页为1. 1.将光标定位在第2页末尾处,点击“页面布局——(页面设置)分隔符——(分节符)下一页” 2.双击第3页的页脚处,进入页眉和页脚的编辑状态,点击工具栏中的“链接到前一条页眉”按钮,使其使其退出高亮状态. 3.点击“

如何在word中的第3+n页处插入页面并重新从1开始

在插入页码时有时可能会遇到这种情况: word的第一页是文档名称 第二页是目录 第三页才开始是正文,而我们希望看到页码从第三页开始才是第1页. 在第三页的开头,插入分隔符“下一页”,如果office2013,在页面布局中找插入分隔符“下一页”. 然后第三页的页码即可以从1开始,第一页的代码也可以同时是1. 如何在word中的第3+n页处插入页面并重新从1开始

Word中如何从某一页重新开始页码

python读取word中的段落、表、图

读取文本.图.表.解压信息 import docx import zipfile import os import shutil '''读取word中的文本''' def gettxt(): file=docx.Document("gao.docx") print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段 #输出每一段的内容 # for para in file.paragraphs: # print(par

Word中插入图片,嵌入式,图片显示不能全部显示出来。

解决办法:原来,是由于图片所在的段落属性的行距设置成了“固定值”,设置不要为固定值即可. 1.选中你要插入图片的上下文,单击“右键”,选择“段落”修改行距,比如为修改“1.5倍行距””(实际上,只要不是“固定值”均可),然后确认. 2.再插入图片即可OK. 3.或者,有的图片已经插入到word中了.那就直接选中已经插入文中的图片,单击“右键”,选择“段落”修改行距,比如为修改“1.5倍行距”(实际上,只要不是“固定值”均可),然后确认就可以了.

word中常用设置

1.解决word中插入公式后行距变宽-->页面设置-->无网格 2.解决文字中插入公式(文字与公式不对齐)-->段落-->中文板式-->文本对齐方式(居中) (若是全部需要修改ctrl +A-->段落) 3.解决减号消失的问题-->公式编辑器-->样式-->定义 减号太短-->复制别的减号!!! 目录(可以点击某个标题设置其缩进程度)可以全部选中调整行间距适合就好 photoshop :换背景 打开图片-->双击锁着的图层-->选择-

word中更改图片和标题之间的垂直距离

word中插入图片后,往往需要给图片加上标题. 你插入图片和给图片插入标题时,word用的是默认的格式给你插入的图片和标题. 假如原来的paragraph是2倍行距,你的图片和标题之间的距离也是2倍行距,这样显的你的图片和标题之间的距离特别大. 插入完成后,你想调节图片和标题的距离,就不可能了.因为行距是前一行和后一行直接的距离,但是图片并没有行距. 解决方法如下: 1.删除你的图片和图片标题. 2. 在你插入图片的上一行之下插入两个回车 3. 选中你插入的回车,邮件点击"段落",把行

word 文档操作类,可以读出word中书签 批量替换内容,直接调用

using System;using System.Collections.Generic;using System.Text;using Word = Microsoft.Office.Interop.Word; namespace ELO.BLL{ /* * Description:用于Word基本操作类 */public partial class Helper_Word { #region 私有成员 private Word.ApplicationClass _wordApplicati

word中如何将空格变成换行

大家在工作和学习中可能会遇到文字替换或符号替换,大家要学会txt.doc.xls之间的切换,替换好之后放到最终的文件中,txt好处是没有格式,doc个好处是有格式,而xls主要是分配到单元格中. 那么当我们遇到一段乱码后,如何通过换行把文章弄整齐,我们看下word下的段落换行转换! 工具/原料 word 方法/步骤 为了简单的示范整个过程,小编就自创了一个比较工整的例子,每个数字之间是空格,那么我们如何把空格变成换行呢? 我们点击开始,选择最右边的编辑按钮,然后选择替换: 查找内容敲一个空格,替