搜尋文字並添加超鏈接

本教學課程介紹如何使用 Aspose.PDF for .NET 搜尋 PDF 文件中的特定文字、新增找到的文字的超連結以及儲存修改後的文件。提供的 C# 原始程式碼逐步演示了該過程。

先決條件

在繼續學習本教學之前,請確保您具備以下條件:

  • C# 程式語言的基礎知識。
  • 安裝了 Aspose.PDF for .NET 函式庫。您可以從 Aspose 網站取得它或使用 NuGet 將其安裝到您的專案中。

第 1 步:設定項目

首先在您首選的整合開發環境 (IDE) 中建立一個新的 C# 項目,並新增對 Aspose.PDF for .NET 程式庫的參考。

步驟2:導入必要的命名空間

在 C# 檔案的開頭新增以下 using 指令以匯入所需的命名空間:

using Aspose.Pdf;
using Aspose.Pdf.Content;
using Aspose.Pdf.Facades;
using Aspose.Pdf.Text;

第三步:設定文檔目錄路徑

使用以下命令設定文檔目錄的路徑dataDir多變的:

string dataDir = "YOUR DOCUMENT DIRECTORY";

代替"YOUR DOCUMENT DIRECTORY"與文檔目錄的實際路徑。

第四步:建立一個TextFragmentAbsorber

創建一個TextFragmentAbsorber物件尋找輸入搜尋短語的所有實例:

TextFragmentAbsorber absorber = new TextFragmentAbsorber("\\d{4}-\\d{4}");

代替"\\d{4}-\\d{4}"與您想要的正規表示式模式。

第 5 步:啟用正規表示式搜尋

透過設定啟用正規表示式搜尋TextSearchOptions吸收體的特性:

absorber.TextSearchOptions = new TextSearchOptions(true);

步驟6:開啟並綁定PDF文檔

創建一個PdfContentEditor物件並將其綁定到來源 PDF 檔案:

PdfContentEditor editor = new PdfContentEditor();
editor.BindPdf(dataDir + "SearchRegularExpressionPage.pdf");

代替"SearchRegularExpressionPage.pdf"與您的 PDF 檔案的實際名稱。

第 7 步:接受頁面的吸收器

接受文件所需頁面的吸收器:

editor.Document.Pages[1].Accept(absorber);

代替1與所需的頁碼。

步驟 8:將超連結加入找到的文本

循環檢索到的文字片段並向其添加超連結:

foreach (TextFragment textFragment in absorber.TextFragments)
{
    textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
    //根據文字片段的位置建立一個矩形
    System.Drawing.Rectangle rect = new System.Drawing.Rectangle((int)textFragment.Rectangle.LLX,
        (int)Math.Round(textFragment.Rectangle.LLY), (int)Math.Round(textFragment.Rectangle.Width + 2),
        (int)Math.Round(textFragment.Rectangle.Height + 1));
    //將網頁連結新增至矩形
    editor.CreateWebLink(rect, "http://www.aspose.com", 1, System.Drawing.Color.Blue);
}

代替"http://www.aspose.com"與所需的超連結 URL。

步驟9:儲存並關閉修改後的文檔

儲存修改後的文件並關閉編輯器:

dataDir = dataDir + "SearchTextAndAddHyperlink_out.pdf";
editor.Save(dataDir);
editor.Close();
Console.WriteLine("\nText replaced and hyperlink added successfully based on a regular expression.\nFile saved at " + dataDir);

確保更換"SearchTextAndAddHyperlink_out.pdf"與所需的輸出檔名。

使用 Aspose.PDF for .NET 搜尋文字和新增超連結的範例原始碼

//文檔目錄的路徑。
string dataDir = "YOUR DOCUMENT DIRECTORY";
//建立吸收器物件以尋找輸入搜尋短語的所有實例
TextFragmentAbsorber absorber = new TextFragmentAbsorber("\\d{4}-\\d{4}");
//啟用正規表示式搜尋
absorber.TextSearchOptions = new TextSearchOptions(true);
//開啟文件
PdfContentEditor editor = new PdfContentEditor();
//綁定來源PDF文件
editor.BindPdf(dataDir + "SearchRegularExpressionPage.pdf");
//接受頁面的吸收器
editor.Document.Pages[1].Accept(absorber);
int[] dashArray = { };
String[] LEArray = { };
System.Drawing.Color blue = System.Drawing.Color.Blue;
//循環遍歷片段
foreach (TextFragment textFragment in absorber.TextFragments)
{
	textFragment.TextState.ForegroundColor = Aspose.Pdf.Color.Blue;
	System.Drawing.Rectangle rect = new System.Drawing.Rectangle((int)textFragment.Rectangle.LLX,
		(int)Math.Round(textFragment.Rectangle.LLY), (int)Math.Round(textFragment.Rectangle.Width + 2),
		(int)Math.Round(textFragment.Rectangle.Height + 1));
	Enum[] actionName = new Enum[2] { Aspose.Pdf.Annotations.PredefinedAction.Document_AttachFile, Aspose.Pdf.Annotations.PredefinedAction.Document_ExtractPages };
	editor.CreateWebLink(rect, "http://www.aspose.com", 1, 藍色, actionName);
	editor.CreateLine(rect, "", (float)textFragment.Rectangle.LLX + 1, (float)textFragment.Rectangle.LLY - 1,
		(float)textFragment.Rectangle.URX, (float)textFragment.Rectangle.LLY - 1, 1, 1, blue, "S", dashArray, LEArray);
}
dataDir = dataDir + "SearchTextAndAddHyperlink_out.pdf";
editor.Save(dataDir);
editor.Close();
Console.WriteLine("\nText replaced and hyperlink added successfully based on a regular expression.\nFile saved at " + dataDir);

結論

恭喜!您已經成功學習如何在 PDF 文件中搜尋特定文字、在找到的文字中新增超連結以及使用 Aspose.PDF for .NET 儲存修改後的文件。本教程提供了從設定項目到執行所需操作的逐步指南。現在,您可以將此程式碼合併到您自己的 C# 專案中,以操作文字並在 PDF 文件中新增超連結。

常見問題解答

Q:「搜尋文字並加入超連結」教學的目的是什麼?

答:「搜尋文字並新增超連結」教學課程旨在示範如何使用 Aspose.PDF .NET 程式庫在 PDF 文件中搜尋特定文本,為找到的文字新增超鏈接,然後儲存修改後的文件。本教程提供了全面的指南和 C# 程式碼範例來說明逐步過程。

Q:本教學如何幫助您在 PDF 文件中新增指向特定文字的超連結?

答:本教學將引導您完成使用 Aspose.PDF 庫來尋找 PDF 文件中的特定文字、將超連結套用到所識別的文字以及儲存修改後的 PDF 的過程。它涵蓋了一些基本步驟,例如設定項目、載入文件、啟用正規表示式搜尋以及在找到的文字中新增超連結。

Q:學習本教程需要什麼先決條件?

答:開始之前,您應該對 C# 程式語言有基本的了解。此外,您還需要安裝 Aspose.PDF for .NET 程式庫,該程式庫可以從 Aspose 網站取得或在專案中使用 NuGet 安裝。

Q:如何設定我的專案來遵循本教學?

答:首先在您首選的整合開發環境 (IDE) 中建立一個新的 C# 專案。然後,新增對 Aspose.PDF for .NET 程式庫的引用,這將使您能夠在專案中利用該程式庫的功能。

Q:我可以使用本教學添加指向特定文字的超連結嗎?

答:是的,本教學特別關注在 PDF 文件中添加指向特定文字的超連結。它示範如何使用正規表示式來尋找和提取所需的文字、建立與文字片段關聯的超連結以及儲存修改後的 PDF。

Q:如何定義要搜尋的文字並新增超連結?

答:若要指定要搜尋的文字並新增超鏈接,請建立一個TextFragmentAbsorber對象並使用設定其模式Text範圍。替換預設模式"\\d{4}-\\d{4}"在教學課程的程式碼中加入您所需的正規表示式模式。

Q:如何啟用文字的正規表示式搜尋?

A:透過建立一個來啟用正規表示式搜尋TextSearchOptions對象並將其值設為true。將此物件分配給TextSearchOptions的財產TextFragmentAbsorber實例。這可確保在文字搜尋期間套用正規表示式模式。

Q:如何為找到的文字添加超連結?

A:使用辨識文字片段後TextFragmentAbsorber,本教程提供了一個循環來迭代這些片段。對於每個文字片段,本教學示範如何將文字顏色設為藍色並使用CreateWebLink方法。

Q:保存修改後的帶有超連結的PDF的步驟是什麼?

A:將超連結加入所需的文字片段後,使用PdfContentEditor類別來保存修改後的文件。本教學的範例程式碼展示如何儲存編輯後的 PDF、關閉編輯器以及顯示成功訊息。