精华内容
下载资源
问答
  • 此外,它还允许导航到文档的特定部分。在本文中,将学习如何使用C#以编程方式在Word文档中使用目录。特别是,本文介绍如何在Word文档中添加,提取,更新或删除目录。 为了处理Word文档中的目录,将使用Aspose....

    Word文档中的目录(TOC)概述了文档中包含的内容。此外,它还允许导航到文档的特定部分。在本文中,将学习如何使用C#以编程方式在Word文档中使用目录。特别是,本文介绍如何在Word文档中添加,提取,更新或删除目录。

    为了处理Word文档中的目录,将使用Aspose.Words for .NET API。旨在执行.NET应用程序中的基本和高级Word自动化功能。此外,它可以熟练掌握Word文档中目录的操作。获取最新版


    使用C#在Word文档中添加目录

    以下是使用Aspose.Words for .NET将目录添加到Word文档的步骤。

    • 创建Document类的实例(在加载现有Word文档的情况下,在构造函数中提供文件的路径)。
    • 创建DocumentBuilder类的实例,并使用之前创建的Document对象对其进行初始化。
    • 使用DocumentBuilder.InsertTableOfContents(“ \\ o \” 1-3 \“ \\ h \\ z \\ u”)方法插入目录。
    • 使用Document.UpdateFields()方法更新字段。
    • 使用Document.Save(String)方法保存Word文档。

    下面的代码示例演示如何在C#中的Word文档中添加目录。

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
    // Initialize document.
    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
    // Insert a table of contents at the beginning of the document.
    builder.InsertTableOfContents("\\o \"1-3\" \\h \\z \\u");
    
    // The newly inserted table of contents will be initially empty.
    // It needs to be populated by updating the fields in the document.
    doc.UpdateFields();
    dataDir = dataDir + "DocumentBuilderInsertTOC_out.doc";
    doc.Save(dataDir);

    使用C#从Word文档中提取目录

    以下是从Word文档中的目录提取字段的步骤。

    • 使用Document类加载Word文档。
    • 使用Document.Range.Fields集合循环遍历文档中的每个Field。
    • 使用Field.Type属性检查字段类型是否为超链接。
    • 检查该字段是否在内容部分的表格下面。
    • 检索字段信息并打印。

    下面的代码示例演示如何使用C#从Word文档中提取目录。

    // The path to the documents directory.
    string dataDir = RunExamples.GetDataDir_WorkingWithDocument();
    
    string fileName = "TOC.doc";
    Aspose.Words.Document doc = new Aspose.Words.Document(dataDir + fileName);
    
    foreach (Field field in doc.Range.Fields)
    {
    	if (field.Type.Equals(Aspose.Words.Fields.FieldType.FieldHyperlink))
    	{
    		FieldHyperlink hyperlink = (FieldHyperlink)field;
    		if (hyperlink.SubAddress != null && hyperlink.SubAddress.StartsWith("_Toc"))
    		{
    			Paragraph tocItem = (Paragraph)field.Start.GetAncestor(NodeType.Paragraph);
    			Console.WriteLine(tocItem.ToString(SaveFormat.Text).Trim());
    			Console.WriteLine("------------------");
    			if (tocItem != null)
    			{
    				Bookmark bm = doc.Range.Bookmarks[hyperlink.SubAddress];
    				// Get the location this TOC Item is pointing to
    				Paragraph pointer = (Paragraph)bm.BookmarkStart.GetAncestor(NodeType.Paragraph);
    				Console.WriteLine(pointer.ToString(SaveFormat.Text));
    			}
    		} // End If
    	}// End If
    }// End Foreach

    使用C#更新Word文档中的目录

    每当将某些内容附加到Word文档时,都需要更新目录。为了以编程方式执行此操作,您只需要在保存文档之前调用Document.UpdateFields()方法即可。

    使用C#删除Word文档中的目录

    Aspose.Words for .NET还允许您从Word文档中删除目录。以下是执行此操作的步骤。

    • 首先,使用Document类加载Word文档。
    • 获取并在数组中存储每个TOC的FieldStart节点。
    • 循环遍历节点,直到获得FieldEnd类型(TOC的结尾)的节点。
    • 使用Node.Remove()方法删除节点并保存更新的文档。

    下面的代码示例演示如何从C#中的Word文档中删除目录。

    public static void Run()
    {
        
        // The path to the documents directory.
        string dataDir = RunExamples.GetDataDir_WorkingWithStyles();
    
        // Open a document which contains a TOC.
        Document doc = new Document(dataDir + "Document.TableOfContents.doc");
    
        // Remove the first table of contents from the document.
        RemoveTableOfContents(doc, 0);
    
        dataDir = dataDir + "Document.TableOfContentsRemoveToc_out.doc";
        // Save the output.
        doc.Save(dataDir);
        
        Console.WriteLine("\nSpecified TOC from a document removed successfully.\nFile saved at " + dataDir);
    }
    // Removes the specified table of contents field from the document.
    //The document to remove the field from.///The zero-based index of the TOC to remove.public static void RemoveTableOfContents(Document doc, int index)
    {
        // Store the FieldStart nodes of TOC fields in the document for quick access.
        ArrayList fieldStarts = new ArrayList();
        // This is a list to store the nodes found inside the specified TOC. They will be removed
        // At the end of this method.
        ArrayList nodeList = new ArrayList();
    
        foreach (FieldStart start in doc.GetChildNodes(NodeType.FieldStart, true))
        {
            if (start.FieldType == FieldType.FieldTOC)
            {
                // Add all FieldStarts which are of type FieldTOC.
                fieldStarts.Add(start);
            }
        }
    
        // Ensure the TOC specified by the passed index exists.
        if (index > fieldStarts.Count - 1)
            throw new ArgumentOutOfRangeException("TOC index is out of range");
    
        bool isRemoving = true;
        // Get the FieldStart of the specified TOC.
        Node currentNode = (Node)fieldStarts[index];
    
        while (isRemoving)
        {
            // It is safer to store these nodes and delete them all at once later.
            nodeList.Add(currentNode);
            currentNode = currentNode.NextPreOrder(doc);
    
            // Once we encounter a FieldEnd node of type FieldTOC then we know we are at the end
            // Of the current TOC and we can stop here.
            if (currentNode.NodeType == NodeType.FieldEnd)
            {
                FieldEnd fieldEnd = (FieldEnd)currentNode;
                if (fieldEnd.FieldType == FieldType.FieldTOC)
                    isRemoving = false;
            }
        }
    
        // Remove all nodes found in the specified TOC.
        foreach (Node node in nodeList)
        {
            node.Remove();
        }
    }

    如果您有任何疑问或需求,请随时加入Aspose技术交流群(761297826),很高兴为您提供查询和咨询。

    展开全文
  • 【Java】文如何制作帮助文档

    千次阅读 2018-11-28 15:54:58
    如何制作帮助文档:   (1)写一个类 (2)加入文档注释 (3)通过javadoc工具生成即可 ...javadoc -d 目录 -author -version ArrayTool.java ...输入后会自动如果原文件中没有...会发现并无换位操作,私有提取,属...

     

    如何制作帮助文档:

     

    (1)写一个类
    (2)加入文档注释
    (3)通过javadoc工具生成即可

     

    javadoc -d 目录 -author -version ArrayTool.java

    ps.

     

    输入后会自动如果原文件中没有myhelp文件夹,会自动生成一个myhelp文件夹

    从名称为  index.html索引页面开始观看。

    会发现并无换位操作,私有的不提取,属于被保护权限

    只有两种权限会在其中出现public   protect

     

    为什么使用帮助文档?

     

     

    静态的应用。

     

    每一个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用,

     

    虽然可以通过建立ArrayTool的对象使用这些工具方法,对数组进行操作

    发现问题:

    1,对象是用于封装数据的,可是ArrayTool对象并未封装特有数据,

    2,操作数组的每一个方法都没有用到ArrayTool对象中的特有数据。

     

    这时就考虑,让程序更严谨,是不需要对象的,可以将ArrayTool中的方法都定义成static的,直接通过类名调用即。

     

    将方法都静态后,可以方便与使用,但是该类还是可以被其他程序建立对象的,

    为了更为严谨,强制让该类不能建立对象。可以通过将构造函数私有化完成,

     

    接下来,将ArrayTool.class文件发送给其他人,其他人只要将该文件设置到classpath路径下,就可以使用该工具类,

    但是,很遗憾,该类中到底定义了多少个方法,对方不清楚,因此需要使用说明书。

    开始制作程序的说明书:java的说明书通过文档注释来完成,

     

    示例:

     

     

    /**
    这是一个可以对数组进行操作的工具类,该类中提供了,获取最值,排序等功能。
    @author lp
    @version v1.1
    */
    
    public class ArrayTool 
    {
    	/**
    	空参数构造函数。
    	*/
    	private ArrayTool(){}
    	/**
    	获取一个整形数组中的最大值。
    	@param arr 接收一个int 类型的数组。
    	@return 会返回一个该数组中最大值。
    	*/
    	public static int getMax(int[] arr)
    	{
    		int max = 0;
    		for (int x = 0; x<arr.length; x++)
    		{
    			if(arr[x]>arr[max])
    			{
    				max = x;
    			}
    		}
    		return arr[max];
    	}
    	
    	/**
    	获取一个整形数组中的最小值。
    	@param arr 接收一个int 类型的数组。
    	@return 会返回一个该数组中最小值。
    	*/
    	public static int getMin(int[] arr)
    	{
    		int min = 0;
    		for (int x = 0; x<arr.length; x++)
    		{	
    			if(arr[x]<arr[min])
    			{
    				min = x;
    			}
    		}
    		return arr[min];
    	}
    	
    	/**
    	给int数组进行选择排序。
    	@param arr 接收一个int 类型的数组。
    	*/
    

     

     

     

    第一步:通过javadoc工具生成即可

    javadoc -d 目录 -author -version ArrayTool.java

     

     

     

     

    第二步:点击index.html即可得到说明文档:

     

     

     

      

    展开全文
  • 航空影像中的电网 该软件包包含一些模块,这些模块从航拍图像中提取有关电网的信息。 目录 该文件将成为您的自述文件以及文档的索引。 安装 这还不可能。 如何使用 首先要弄清楚到底发生了什么。
  • 提示:写完文章后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录Python自动化办公(一)前言一、提取滴滴行程单信息创建EXCEL表单二、使用步骤1.引入库2.读入数据3.存入Excel4.多张PDF存入EXCEL操作...

    ython自动化办公(一):滴滴行程单信息提取存入excel表格
    提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
    例如:第一章 Python 机器学习入门之pandas的使用


    提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


    前言

    自动化办公是目前python除了爬虫另一个热门领域,今天我们开始记录自动化办公学习的点点滴滴,希望大家能在这个学到新的知识。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、提取滴滴行程单信息创建EXCEL表单

    我们这篇文章的目的主要是涉及到自动化办公中关于PDF和EXCEL的运用。什么最基本的操作就不讲了,讲义网上一大堆,主要还是分析一下实际应用过程中的问题。
    目的:员工出差过程中打车形成了一堆PDF版本的滴滴行程单,作为一个有强迫症的工程师,必须要把这些行程单整理好啦,财务报销也需要这样的信息数据。

    二、使用步骤

    1.引入库

    代码如下(示例):首先需要导入的库是PYPDF2和pdfplumber两个PDF文件处理库。

    import PyPDF2
    import pdfplumber
    

    2.读入数据

    大家打车都有一个行程单吧,这可是出行的凭证哦。
    图片来源于网站上

    代码如下(示例):

    from openpyxl import Workbook
    with pdfplumber.open("行程报销单.pdf") as p:
        page = p.pages[0]
        table = page.extract_table()
        print(table)
    

    我们利用pdfplumber这个工具可以方便的把pdf文件中的表格提取出来。

    3.存入Excel

    利用openpyxl的appand功能,将信息存入Excel。


    workbook = Workbook()
        sheet = workbook.active
        for row in table:
            sheet.append(row)
        workbook.save(filename = "new_pdf.xlsx")
    

    在这里插入图片描述
    完整代码如下:

    # -*- coding: utf-8 -*-
    # Author: 咚宝学编程
    # 发布时间:2021-04-13
    # 作品:原创
    import PyPDF2
    import pdfplumber
    from openpyxl import Workbook
    with pdfplumber.open("行程报销单.pdf") as p:
        page = p.pages[0]
        table = page.extract_table()
        print(type(table))
        workbook = Workbook()
        sheet = workbook.active
        for row in table:
            sheet.append(row)
        workbook.save(filename = "new_pdf.xlsx")
    

    4.多张PDF存入EXCEL的操作

    有些朋友肯定说了,我可不止一张行程单怎么办?我们可以提取新PDF“行程单2”的内容然后添加到新生成的newpdf2这个EXCEL文件就可以了。注意去掉第一行内容,这个是重复的。
    代码如下:

    # -*- coding: utf-8 -*-
    import PyPDF2
    import pdfplumber
    from openpyxl import Workbook,load_workbook
    with pdfplumber.open("行程报销单2.pdf") as p:
        page = p.pages[0]
        table = page.extract_table()
        print(table[1:])
    data =table[1:]
    workbook = load_workbook(filename='new_pdf.xlsx')
    sheet = workbook.active
    for row in data:
        sheet.append(row)
    workbook.save(filename = "newpdf2.xlsx")
    

    我们可以得到下面的表格数据:

    在这里插入图片描述

    总结

    以上就是今天要讲的内容,本文仅仅简单介绍了自动化办公的使用,而pdfplumber,openpyxl提供了大量能使我们快速便捷地处理PDF和EXCEL文件的方法。
    展开全文
  • 如今手机几乎代替电脑,曾经用...1、文件目录在阅读窗口中,点击底部工具栏“目录”,可自动提取文件本身带有的目录。2、全屏点全屏按钮页面切换至全屏显示, 再次点击退出全屏。3、书签(1)添加:在阅读窗口中,...

    如今手机几乎代替电脑,曾经用电脑操作的办公软件也逐渐被APP替代。近几年安卓市场上线的极速PDF因其小巧、速度快,也被广大用户下载使用。但使用这款APP阅读PDF文档时如何将左右翻页改成上下翻页,屏幕修改为自动旋转等你都会了吗?

    1、文件目录

    在阅读窗口中,点击底部工具栏“目录”,可自动提取文件本身带有的目录。

    8cc9af6f6867c086594e328e7d85139c.png

    5f50e175d000fdf5b7539e9cc0079b30.png

    2、全屏

    点全屏按钮页面切换至全屏显示, 再次点击退出全屏。

    9ea4e6e6387db31313367a4db454782d.png

    3、书签

    (1)添加:在阅读窗口中,点右上角“+”,选择添加书签,输入书签名称, 点击“添加”即可;

    97b125fb0c39e88c1c2895d974fe2766.png

    a0137ad6f9486dc01cf7e2db09a73c3b.png

    (2)添加书签后,可通过书签跳转到指定页面浏览文件。可在在阅读窗 口中,底部工具栏“目录”中查看书签。

    6139e86ce483131382a31a614be20829.png

    (3) 删除 / 编辑:在阅读窗口中,点击底部工具栏“目录”点书签,可 查看书签,长按名称对书签重新编辑或者删除书签。

    4、页面设置

    阅读文件过程中,点可对页面调整背景颜色、翻页模式等设置。

    (1)亮度:拖动亮度滑块调整屏幕亮度;

    (2)阅读:单页:一次显示一页,可左右滑动翻页;连续垂直连续显示页面,可上下滑动翻页;

    (3)换肤:白色(默认)、羊皮纸、护眼;

    (4)夜间模式:点切换文件模式为夜间,背景为黑色。

    5543df1ddc7189e19682756ae3cff3ab.png

    5、调整屏幕亮度

    在我的文件页面,点击底部工具栏“亮度”或在阅读页面,点击底部 工具栏“设置”,拖动亮度滑块调整亮度。

    aa7b724a7ee5a8a70387f01f8ea576a9.png

    701bd56426541d3f978375b7d3970db5.png

    6、页面跳转

    在阅读窗口中,点击底部工具栏“跳转”,输入页码后点击跳转,即可跳转到指定的阅读页

    53a2a09475a3e0376c0b7c12da3aa6b6.png

    4949044a19a4e728fe4684f99158bc9f.png

    7、回到顶部

    在浏览文件过程中,点右上角,选择“回到首页”即可快速返回到文件首页。

    edb553c7d4d6a37a2f8e69f446c7eb5a.png

    8、搜索文件

    在阅读器首页,点击在搜索框中输入搜索内容,搜索文件会显示在搜索框下方。

    97c976c5c6ad5e5f5a35fda4f7a393d4.png

    1b70ca220afe9c0d1f4dc3f134ffd9ff.png

    9、放大/缩小

    双指拖动 / 双击页面放大,双指拖动缩小或双击页面缩小。

    10、系统设置

    点击右下角“我”,进入阅读器的系统设置,选择“设置”,进行相应修改即可。

    (1)记录文件阅读位置:记录文件上次阅读结束时的位置;

    (2)记录文件阅读历史:记录最近阅读过的文件列表;

    (3)上下翻页:阅读器默认翻页为上下滑动翻页。

    a. 打开翻页:垂直连续显示页面,可上下滑动翻页;

    b. 关闭翻页:一次显示一页,可左右滑动翻页。

    (4)自动旋转:阅读器屏幕旋转默认为设备系统屏幕旋转。设备竖屏关闭时,打开自动旋转,阅读器屏幕自由旋转;关闭自动旋 转,则阅读器竖屏锁定。

    3439e3c2742aa4e7282169300d6de7b2.png

    320c63a500fdf05bb700cad6e5677755.png
    展开全文
  • 所有内容markdown编写,并且自动创建生成网站内容。 如何贡献 创建问题 如果您发现拼写错误或对改进我们的文档有建议,请随时打开一个新github问题。 使用“改善此文档” 在您要改善页面上点击“改善此文档”...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录前言1 FFmpeg2 音视频处理流程2.1 用到函数分析3 完整代码总结 前言 最近实习时候突然leader让写一个可以提取视频时长,宽高...
  • 上次讲到如何手动快速提取Word文档所有图片。这次我们用Python-3基于图片提取原理,写代码实现自动获取。Python 3实现代码import os,zipfile,shutil #引入os(文件及目录操作)、zipfile(zip文件操作)、shutil...
  • python提取pdf

    2021-04-23 10:46:54
    提示:写完文章后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录大概内容: 例如:随着...
  • matlab特征点提取

    2021-04-27 19:41:43
    提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录前言使用步骤 前言 提示:基于前辈代码进行改进后可流畅运行。 使用步骤 代码如下(示例): wahaha1 = imread('picture.jpg'); ...
  • 没有设置标题样式,提取不出来目录。 最终汇总需要 清除Word标题样式保留字体格式() 解决方式: 开始享用python+docx库解决。但是docx库在原始文档没有style情况下,无论如何添加不进去。 if match(run...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 ** MFCC特征提取 ** 前言 兜兜转转看了一些文献,总结出自己一些理解,总结如下(若有错误之处,烦请指点一二): 一、为什么要做MFCC 语音...
  • .Bank文件音效提取

    2020-12-23 16:10:42
    提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 前言 发现打包音频文件在.bank后缀文件中,想从中提取出来,写文章记录一下 提示:以下是本篇文章正文内容,下面案例可供参考 一、需要...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录前言一、pandas与numpy?二、使用步骤1.引入库2.读入数据4.处理数据总结 前言 本文主要介绍通过Python提取csv文件中数据,并对数据...
  • word长文档编辑技巧

    2014-05-20 13:39:32
    Word自动提取标题做页眉(转载) 41 word使用技巧:论文排版及论文写作指导网站 42 实用Word使用技巧大全 44 论文Word技巧小结 55 Word 使用技巧(超强汇集、合集) 58 修改WORD默认设置优化操作 58 自选图形默认...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 一、pandas是什么? 示例:pandas 是基于NumPy 一种工具,该工具是为了解决...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 解决问题 1、用python读取某文件夹里所有文件内容。 2、用正则表达式匹配提取文件中需要内容。 3、用jieba进行分词。 4、按比例...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档前言一、基础重要性二、基础课程三、课程简介四、提取资料 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录前言...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录大概内容: 例如:随着人工智能...
  • 实例023 自动启动多媒体光盘程序 29 实例024 为触摸屏程序添加虚拟键盘 30 实例025 触摸屏系统 31 1.8 窗体效果 33 实例026 半透明渐显窗体 33 实例027 窗口颜色渐变 34 实例028 带背景窗体 35 ...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 一、边缘保留滤波(EPF) 高斯模糊只考虑了权重,只考虑了像素空间分布,没有考虑像素值和另一个像素值之间差异问题,如果像素间差异较大...
  • 11.2.2 网络/ 时间线:页面是如何加载 230 11.2.3 控制台:同JavaScript 交互 232 11.2.4 页面深入分析 236 11.3 得到页面:如何通过互联网发出请求 237 11.4 使用Beautiful Soup 读取网页...
  • Word大型文档排版指南

    2011-12-01 12:34:18
    本书主要讲解用Word排版大型文档的经验和技巧,可供撰写毕业设计论文的同学和写书的作者参考,希望本书能帮助到大家。 目录 前言...................................................................................
  •  删除所有与Oracle相关的目录,包括: C:\Program file\Oracle目录。 ORACLE_BASE目录。 C:\Documents and Settings\系统用户名、LocalSettings\Temp目录下的临时文件。 七、 oracle中的数据库 八、 常用的工具 ...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录前言一、先上代码总结 前言 本篇主要是给刚学完python语法基础同学进行一个简单小练习,写一个小爬虫 爬虫其实很简单,简单理解...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录简介提取加速匹配信息KMP算法实现 简介 KMP 算法是 D.E.Knuth、J,H,Morris 和 V.R.Pratt 三位神人共同提出,称之为 Knuth-Morria-...
  • 小波变换理解

    千次阅读 多人点赞 2020-11-01 21:26:25
    提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录前言一、傅里叶变换劣势以及小波变换优势二、连续小波变换(CWT)理解2.1 什么是小波变换?2.2 为什么小波变换能确定信号频率和...
  • 提示:文章写完后,目录可以自动生成,如何生成可参考右边帮助文档 文章目录前言一、爬取过程中出现问题二、提取解析并导入csv中三、全部代码展示四、利用https://wordart.com/网站绘制词云 前言 通过Python...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 281
精华内容 112
关键字:

如何自动提取文档的目录