C#/VB.NET 如何在 Word 文檔中添加頁眉和頁腳

来源:https://www.cnblogs.com/Carina-baby/archive/2023/03/03/17174690.html
-Advertisement-
Play Games

頁眉位於文檔中每個頁面的頂部區域,常用於顯示文檔的附加信息,可以插入時間、圖形、公司微標、文檔標題、文件名或作者姓名等;頁腳位於文檔中每個頁面的底部的區域,常用於顯示文檔的附加信息,可以在頁腳中插入文本或圖形。今天這篇文章就將為大家展示如何以編程的方式在在 Word 文檔中添加頁眉和頁腳。下麵是我整 ...


頁眉位於文檔中每個頁面的頂部區域,常用於顯示文檔的附加信息,可以插入時間、圖形、公司微標、文檔標題、文件名或作者姓名等;頁腳位於文檔中每個頁面的底部的區域,常用於顯示文檔的附加信息,可以在頁腳中插入文本或圖形。今天這篇文章就將為大家展示如何以編程的方式在在 Word 文檔中添加頁眉和頁腳。下麵是我整理的思路及方法,並附上C#/VB.NET供大家參考。

程式環境

本次測試時,在程式中引入Free Spire.Doc for .NET。可通過以下方法引用 Free Spire.Doc.dll文件:

方法1:將 Free Spire.Doc for .NET下載到本地,解壓,安裝。安裝完成後,找到安裝路徑下BIN文件夾中的 Spire.Doc.dll。然後在Visual Studio中打開“解決方案資源管理器”,滑鼠右鍵點擊“引用”,“添加引用”,將本地路徑BIN文件夾下的dll文件添加引用至程式。

方法2:通過NuGet安裝。可通過以下2種方法安裝:

(1)可以在Visual Studio中打開“解決方案資源管理器”,滑鼠右鍵點擊“引用”,“管理NuGet包”,然後搜索“Free Spire.Doc”,點擊“安裝”。等待程式安裝完成。

(2)將以下內容複製到PM控制台安裝。

Install-Package FreeSpire.Doc -Version 10.8.0

在 Word 文檔中添加頁眉和頁腳

該表列出了操作中使用的主要類、屬性和方法。

名稱

描述

Document類

表示 Word 文檔模型。

Document. LoadFromFile()方法

載入 Word 文檔。

Section 類

表示 Word 文檔中的一個節。

Document.Sections 屬性

獲取文檔的節。

HeaderFooter 類

表示 Word 的頁眉和頁腳模型。

Section.HeadersFooters.Header屬性

獲取當前節的頁眉/頁腳。

Paragraph 類

表示文檔中的段落。

HeaderFooter. AddParagraph() 方法

在部分末尾添加段落。

TextRange 類

表示文本範圍。

Paragraph.AppendText()方法

將文本附加到段落的末尾。

Document. SaveToFile()方法

將文檔保存為 Microsoft Word 或其他文件格式的文件。

添加頁眉和頁腳的詳細步驟如下:

  • 創建 Document 類的實例。
  • 使用 Document.LoadFromFile(string fileName) 方法載入示例文檔。
  • 使用 Document.Sections 屬性獲取 Word 文檔的指定節

添加頁眉

  1. 通過HeadersFooters.Header 屬性獲取頁眉。
  2. 使用HeaderFooter. AddParagraph()方法添加段落。並設置段落對齊方式。
  3. 使用 Paragraph.AppendText(string text) 方法追加文本並設置字體名稱、大小、顏色等。

添加頁腳

  1. 調用 HeadersFooter.Footer 屬性獲取頁腳。
  2. 在頁腳中添加段落和文本。
  • 使用 Document. SaveToFile(string filename, FileFormat fileFormat) 方法保存 Word 文檔。

完整代碼

C#

using Spire.Doc;
using Spire.Doc.Documents;
using System.Drawing;
using Spire.Doc.Fields;

namespace AddHeaderAndFooter
{
    class Program
    {
        static void Main(string[] args)
        {
            //創建 Document 類的實例
            Document document = new Document();

            //載入示例文檔
            document.LoadFromFile("測試文檔.docx");

            //獲取 Word 文檔的指定節
            Section section = document.Sections[0];

            //通過 HeadersFooters.Header 屬性獲取頁眉
            HeaderFooter header = section.HeadersFooters.Header;

            //添加段落並設置段落對齊樣式
            Paragraph headerPara = header.AddParagraph();
            headerPara.Format.HorizontalAlignment = HorizontalAlignment.Left;

            //附加文本並設置字體名稱、大小、顏色等。
            TextRange textrange = headerPara.AppendText("《生死疲勞》" + "莫言");
            textrange.CharacterFormat.FontName = "Arial";
            textrange.CharacterFormat.FontSize = 13;
            textrange.CharacterFormat.TextColor = Color.DodgerBlue;
            textrange.CharacterFormat.Bold = true;

            //獲取頁腳、添加段落和附加文本
            HeaderFooter footer = section.HeadersFooters.Footer;
            Paragraph footerPara = footer.AddParagraph();
            footerPara.Format.HorizontalAlignment = HorizontalAlignment.Center;
            textrange = footerPara.AppendText("我不眷戀溫暖的驢棚,我追求野性的自由。");
            textrange.CharacterFormat.Bold = false;
            textrange.CharacterFormat.FontSize = 11;

            //保存文件
            document.SaveToFile("結果文檔.docx", FileFormat.Docx);
        }
    }
}

VB.NET

Imports Spire.Doc
Imports Spire.Doc.Documents
Imports System.Drawing
Imports Spire.Doc.Fields

Namespace AddHeaderAndFooter
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '創建 Document 類的實例
            Dim document As Document = New Document()

            '載入示例文檔
            document.LoadFromFile("生死疲勞.docx")

            '獲取 Word 文檔的指定節
            Dim section As Section = document.Sections(0)

            '通過 HeadersFooters.Header 屬性獲取頁眉
            Dim header As HeaderFooter = section.HeadersFooters.Header

            '添加段落並設置段落對齊樣式
            Dim headerPara As Paragraph = header.AddParagraph()
            headerPara.Format.HorizontalAlignment = HorizontalAlignment.Left

            '附加文本並設置字體名稱、大小、顏色等。
            Dim textrange As TextRange = headerPara.AppendText("《生死疲勞》" & "莫言")
            textrange.CharacterFormat.FontName = "宋體"
            textrange.CharacterFormat.FontSize = 12
            textrange.CharacterFormat.TextColor = Color.DodgerBlue
            textrange.CharacterFormat.Bold = True

            '獲取頁腳、添加段落和附加文本
            Dim footer As HeaderFooter = section.HeadersFooters.Footer
            Dim footerPara As Paragraph = footer.AddParagraph()
            footerPara.Format.HorizontalAlignment = HorizontalAlignment.Center
            textrange = footerPara.AppendText("我不眷戀溫暖的驢棚,我追求野性的自由。")
            textrange.CharacterFormat.Bold = False
            textrange.CharacterFormat.FontSize = 11

            '保存文件
            document.SaveToFile("結果文檔.docx", FileFormat.Docx)
        End Sub
    End Class
End Namespace

效果圖

—本文完—


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • #使用引用 #include <iostream> using namespace std; struct Time{ int h; int m; int s; }; void timeCompute(Time &t, int sec){ //引用作為形參 t.m = t.m + (t.s + se ...
  • Problem description unsigned char key[16] = {0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01}; unsigned ...
  • 日常開發中,基於 Redis 天然支持分散式鎖,大家線上上分散式項目中都使用過 Redis 鎖。本文主要針對日常開發中加鎖過程中某些異常場景進行講解與分析。本文講解示例代碼都在 https://github.com/wayn111/newbee-mall-pro 項目 test 目錄下 RedisL ...
  • 程式代碼到可執行程式編譯鏈接過程 預編譯 以c++/c 語言為例,預編譯階段的工作有以下幾點: 處理所有#define 及條件預編譯指令(如 #if,#ifdef.....),並展開所有巨集定義。 刪除所有註釋("//" ,"/**/")。 處理 "#include",將被包含文件插入該預編譯指令位置 ...
  • 什麼是OpenAI https://openai.com OpenAI是一家人工智慧公司,成立於2015年,總部位於美國舊金山。該公司的使命是研究和開發能夠產生廣泛影響的人工智慧技術,並將這些技術傳播到整個社會。OpenAI由一些著名的科學家和企業家共同創立,包括伊隆·馬斯克、Sam Altman等 ...
  • 實現動態aop並註入 創建一個DynamicDispatchProxy類繼承DispatchProxy, public class DynamicDispatchProxy<T> : DispatchProxy { /// <summary> /// 目標類 /// </summary> priva ...
  • 折半查找演算法 前言 最近要考試了,重新回顧一下之前學的演算法,今天是折半查找,它的平均比較次數是Log2 n 思想 給定一個有序數組A[0..n-1],和查找值K,返回K在A中的下標。 折半查找需要指定3個指針,left、right、mid,分別是左指針指向下標0,右指針指向元素末尾,mid中間值指向 ...
  • 背景 當我們在用Avalonia開發項目的時候會涉及到路徑的問題,在Linux下麵路徑的寫法和Window路徑的寫法有區別 問題描述 用Avalonia開發項目發現我們之前的路徑寫法在Linux下麵運行報錯,尤其是在結合Prism開發寫項目進行模塊化掃描的方式載入我們的模塊程式就會出現報錯 解決方案 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...