Aspose.Words for .NET查找和替換教程——在頁眉和頁腳中查找和替換
Aspose.Words For .Net是一種高級Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務。API支持生成,修改,轉換,呈現(xiàn)和打印文檔,而無需在跨平臺應用程序中直接使用Microsoft Word。此外,API支持所有流行的Word處理文件格式,并允許將Word文檔導出或轉換為固定布局文件格式和最常用的圖像/多媒體格式。
接下來我們將進入“查找和替換”的介紹,在Aspose.Words中在頁眉和頁腳中查找和替換。
>>Aspose.Words for .NET更新至最新版v19.11,歡迎下載體驗
Aspose優(yōu)惠進行時——購買Aspose系列產(chǎn)品有機會獲得iPhone 11等驚喜豪禮!更多活動詳情可咨詢在線客服哦~
頁腳中的ReplaceText
可以從HeaderFooterCollection中提取頁眉和頁腳部分,下面的代碼示例演示如何在文檔的頁腳部分中查找和替換文本字符串。
// 打開模板文檔,在頁腳中包含過時的版權信息 Document doc = new Document(dataDir + "HeaderFooter.ReplaceText.doc"); HeaderFooterCollection headersFooters = doc.FirstSection.HeadersFooters; HeaderFooter footer = headersFooters[HeaderFooterType.FooterPrimary]; FindReplaceOptions options = new FindReplaceOptions { MatchCase = false, FindWholeWordsOnly = false }; footer.Range.Replace("(C) 2006 Aspose Pty Ltd.", "Copyright (C) 2011 by Aspose Pty Ltd.", options); doc.Save(dataDir + "HeaderFooter.ReplaceText.doc");
顯示頁眉和頁腳訂單的更改
下面的代碼示例顯示頁眉和頁腳順序的更改。
private static void ShowChangesForHeaderAndFooterOrders(string dataDir) { Document doc = new Document(dataDir + "HeaderFooter.HeaderFooterOrder.docx"); // Assert that we use special header and footer for the first page // The order for this: first header\footer, even header\footer, primary header\footer Section firstPageSection = doc.FirstSection; ReplaceLog logger = new ReplaceLog(); FindReplaceOptions options = new FindReplaceOptions { ReplacingCallback = logger }; doc.Range.Replace(new Regex("(header|footer)"), "", options); doc.Save(dataDir + "HeaderFooter.HeaderFooterOrder.docx"); // Prepare our string builder for assert results without "DifferentFirstPageHeaderFooter" logger.ClearText(); // Remove special first page // The order for this: primary header, default header, primary footer, default footer, even header\footer firstPageSection.PageSetup.DifferentFirstPageHeaderFooter = false; doc.Range.Replace(new Regex("(header|footer)"), "", options); } private class ReplaceLog : IReplacingCallback { public ReplaceAction Replacing(ReplacingArgs args) { _textBuilder.AppendLine(args.MatchNode.GetText()); return ReplaceAction.Skip; } internal void ClearText() { _textBuilder.Clear(); } internal string Text { get { return _textBuilder.ToString(); } } private readonly StringBuilder _textBuilder = new StringBuilder(); }
還想要更多嗎?您可以點擊閱讀【2019 · Aspose最新資源整合】,查找需要的教程資源。如果您有任何疑問或需求,請隨時加入Aspose技術交流群(642018183),我們很高興為您提供查詢和咨詢。
如果您對Aspose有任何需求和疑難,記得掃描下方二維碼告訴我們哦~