搜尋文字並繪製一個矩形

介紹

您想提升 PDF 操作技能嗎?您想了解如何在 PDF 文件中搜尋特定文字並用矩形突出顯示它嗎?您已經找到了完美的指南!今天,我將引導您了解如何使用 Aspose.PDF for .NET 在 PDF 文件中搜尋文字並在其周圍繪製矩形。本文將提供一個逐步教程,其設計時考慮到清晰性和實用性,確保您可以遵循這些技術並將其應用到您的專案中。

先決條件

在深入學習本教學之前,讓我們先準備好確保工作流程順利進行所需的準備:

  1. 對 .NET 的基本了解:您應該熟悉 C# 程式設計和 .NET 框架,才能有效遵循本教學。

  2. 安裝了 Visual Studio:您將需要一個整合開發環境 (IDE) 來編寫和測試程式碼。 Visual Studio Community 是一個不錯的選擇,而且是免費的。

  3. Aspose.PDF for .NET:您需要在專案中安裝 Aspose.PDF 庫。你可以下載它這裡或考慮臨時執照用於擴充功能。

  4. 範例 PDF 文件:對於本教學課程,您將需要一個名為的範例 PDF 文件SearchAndGetTextFromAll.pdf儲存在您的專案目錄中。

導入包

首先,您需要將必要的套件匯入到 .NET 專案中。請依照下列步驟操作:

打開視覺工作室

啟動 Visual Studio 並建立一個新的控制台應用程序,或使用要實現 PDF 功能的現有控制台應用程式。

將 Aspose.PDF 新增到您的專案中

  1. 在解決方案資源管理器中以滑鼠右鍵按一下您的專案。
  2. 選擇“管理 NuGet 套件”。
  3. 搜尋Aspose.PDF並安裝最新版本。

透過這樣做,您就為即將執行的所有令人驚奇的 PDF 操作奠定了基礎。

導入命名空間

在程式檔案的頂部,您需要從 Aspose 庫匯入相關的命名空間:

using System.IO;
using Aspose.Pdf;
using Aspose.Pdf.Text;
using System;
using Aspose.Pdf.Facades;

這使得您可以更輕鬆地存取 Aspose.PDF 庫中的類別和方法來執行任務。

現在您已完成所有設置,讓我們將在 PDF 中搜尋文字並在其周圍繪製矩形的過程分解為易於管理的步驟。

第 1 步:設定文檔的路徑

首先,設定 PDF 文件的路徑。確保更換YOUR DOCUMENT DIRECTORY與你的實際路徑SearchAndGetTextFromAll.pdf被儲存。

string dataDir = "YOUR DOCUMENT DIRECTORY";

第 2 步:開啟 PDF 文檔

接下來,建立一個實例Document載入 PDF 的類別:

Document document = new Document(dataDir + "SearchAndGetTextFromAll.pdf");

這行程式碼會開啟您指定的 PDF 文件,允許您進一步操作它。

第 3 步:建立文字吸收器

現在,您需要一種方法來搜尋該文件中的文字。為此,我們使用TextFragmentAbsorber:

TextFragmentAbsorber textAbsorber = new TextFragmentAbsorber(@"[\S]+");

正規表示式@"[\S]+"旨在匹配 PDF 中的任何非空白字串。

步驟 4:設定文字搜尋選項

接下來,您應該設定文字搜尋選項:

TextSearchOptions textSearchOptions = new TextSearchOptions(true);
textAbsorber.TextSearchOptions = textSearchOptions;

在這裡,true參數意味著搜尋將區分大小寫。您可以將其設定為false如果您想要不區分大小寫的搜尋。

第 5 步:接受文件中的文字吸收器

與你的TextFragmentAbsorber搜尋選項準備就緒,是時候從文件中吸收文字了:

document.Pages.Accept(textAbsorber);

此方法檢查 PDF 中的每個頁面,以尋找與指定模式相符的文字片段。

第 6 步:建立 PdfContentEditor

要在文件上繪製形狀,您將需要PdfContentEditor:

var editor = new PdfContentEditor(document);

此編輯器可讓您輕鬆操作和編輯 PDF 內容。

第 7 步:循環找到的文字片段

現在,您需要循環遍歷找到的文字片段以在它們周圍繪製矩形:

foreach (TextFragment textFragment in textAbsorber.TextFragments)
{
    foreach (TextSegment textSegment in textFragment.Segments)
    {
        DrawBox(editor, textFragment.Page.Number, textSegment, System.Drawing.Color.Red);
    }
}

此循環迭代每個文字片段及其片段,調用DrawBox矩形繪製方法。

第8步:定義DrawBox方法

您需要定義DrawBox方法,它將處理矩形繪製邏輯。這是一個簡單的實作:

private static void DrawBox(PdfContentEditor editor, int pageNumber, TextSegment textSegment, System.Drawing.Color color)
{
    //根據文字段計算矩形尺寸
    float x = textSegment.Rectangle.LLX;
    float y = textSegment.Rectangle.LLY;
    float width = textSegment.Rectangle.Width;
    float height = textSegment.Rectangle.Height;

    //使用計算值繪製矩形
    editor.DrawRectangle(pageNumber, x, y, width, height, color, 1);
}

此方法根據段的邊界矩形確定矩形的位置和大小,並使用編輯器繪製它。

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

在找到的文字周圍繪製矩形後,您可以儲存修改後的文件:

dataDir = dataDir + "SearchTextAndDrawRectangle_out.pdf";
document.Save(dataDir);

確保使用不同的名稱儲存新文件,以避免覆蓋原始文件。

第10步:確認訊息

最後,在控制台列印一條確認訊息,讓您知道操作成功:

Console.WriteLine("\nRectangle drawn successfully on searched text.\nFile saved at " + dataDir);

現在你就擁有了!您已成功建立一個腳本來搜尋 PDF 中的文字並用矩形突出顯示它。

結論

恭喜!您剛剛解鎖了一項強大的技能,可以使用 Aspose.PDF for .NET 大幅增強您的 PDF 操作能力。只需幾個簡單的步驟,您就可以搜尋文件中的任何文字並以視覺方式突出顯示它,從而使您的 PDF 文件更具互動性和易於管理。不要猶豫,嘗試不同的正規表示式模式和顏色選項,真正讓這個工具成為您自己的工具!

常見問題解答

什麼是 Aspose.PDF for .NET?

Aspose.PDF for .NET 是一個函式庫,提供了以程式設計方式建立、操作和轉換 PDF 文件的綜合方法。

我可以免費使用 Aspose.PDF 嗎?

是的,Aspose 提供免費試用版,您可以用它來測試庫的功能。一探究竟這裡.

Aspose.PDF for .NET 需要使用什麼程式語言?

Aspose.PDF for .NET 設計用於與 C# 和其他 .NET 語言一起使用。

如何獲得有關 Aspose.PDF 的協助?

您可以造訪 Aspose 支援論壇,以取得您可能遇到的任何問題或疑問的協助。尋求支持這裡.

在哪裡下載 Aspose.PDF for .NET?

您可以從 Aspose 網站下載該庫,這裡.