使用 IRONPDF

如何在 .NET MAUI 中顯示嵌入式 PDF 文本

已更新 2024年3月17日
分享:

這是一個教學,將引導您使用 IronPDF 在 .NET MAUI 中顯示嵌入 PDF 的文字。

.NET 多平台應用程式 UI (MAUI) 簡化多平台應用程式開發。使用全新且改進版的Xamarin.Forms,開發人員可以通過單一專案來為 Android、iOS、macOS 和 Windows 創建應用程式。PDF 檔案以保持字體、圖像和版面配置而著稱,通常使用此技術來管理。

IronPDF 庫在這方面提供了強大的 PDF 處理能力。開發人員可以利用 IronPDF 的強大功能輕鬆處理嵌入文本,簡化生成和操作 PDF 檔案的過程,同時依照默認設置進行一致的渲染。

理解 PDF 嵌入文本和字體嵌入

PDF 嵌入文本,或稱 PDF 字體,是嵌入在 PDF 檔案中的文字實體。這在各種 PDF 檢視器應用程式(包括 Adobe InDesign 等熱門應用程式)中,對於一致性和準確渲染至關重要。通過在 PDF 文件中嵌入字體,不管使用何種 PDF 檢視器應用程式,或檢視器設備上是否安裝了特定字體,都能保留正確的字體。

嵌入字體有時會增加 PDF 文件的大小,但這對於維持原始文件的外觀和感覺至關重要。Adobe PDF 設定通常決定 PDF 中的字體是否嵌入。

PDF 文件中有不同種類的嵌入字體:

  1. 嵌入字體:整個字體嵌入在文件中。
  2. 子集嵌入字體:僅嵌入原始文件中使用的部分字體。
  3. 無嵌入字體:文件中未嵌入任何字體。

在 Adobe Acrobat 中,你可以通過檢查文件屬性來驗證字體是否嵌入。預設情況下,字體嵌入在PDF文件中。然而,這些設定可以使用 Adobe Acrobat Pro 或其他類似工具來更改。

“平面化 PDF”這個術語通常在所有字體都已嵌入的 PDF 文件上下文中使用,使得文件自含,並確保在所有系統和 PDF 檢視器上顯示相同。

IronPDF C#

IronPDF 是一個強大的C# PDF函式庫,讓開發人員能夠在.NET應用程式中生成、閱讀和編輯PDF文件。您可以 從HTML生成PDF檔案IronPDF的一個有趣特點是可以處理PDF文件中的嵌入文本。在PDF文件中嵌入字體的能力對於保持文件的原始外觀至關重要,即使在沒有原始字體的系統上查看或打印PDF文件。讓我們了解如何使用IronPDF在.NET MAUI中顯示嵌入文本。

先決條件

在開始本教程之前,請確保您已滿足以下要求:

  1. .NET MAUI:微軟的統一 UI 工具包,可讓您使用單一共享代碼庫創建適用於 Android、iOS、macOS 和 Windows 的應用程式。您可以從微軟網站下載 .NET MAUI。

  2. Visual Studio 2022 (或更晚)**: 一個強大且使用者友善的整合開發環境 (集成開發環境) 用於 .NET 程式設計。您可以從 Microsoft 網站下載 Visual Studio。確保您已在 Visual Studio 2022 上安裝了 .NET MAUI 工作負載。

  3. IronPDF 庫:這是一個 .NET 的 PDF 處理庫,我們將使用它來與 PDF 文件進行互動。您可以通過 NuGet 安裝 IronPDF,這是一個供 Microsoft 開發平台使用的軟體包管理器。

  4. Adobe PDF 文件:為了本教程的目的,我們需要一個 PDF 文件。

建立 .NET MAUI 應用程式

請按照以下步驟建立新的 .NET MAUI 應用程式:

啟動 Visual Studio 2022:啟動後,依次導航至 檔案 > 新增 > 專案。在專案範本窗口中,選擇 .NET MAUI App,然後點擊 下一步

如何在 .NET MAUI 中顯示內嵌的 PDF 文字,圖 1:在 Visual Studio 中創建 .NET MAUI 應用程式

在 Visual Studio 中建立 .NET MAUI 應用程式

命名您的專案:在下一個窗口,您需要為您的專案命名。讓我們將其命名為IronPDF_Read_and_View。選擇保存專案的位置,然後點擊下一步

如何在 .NET MAUI 中顯示嵌入式 PDF 文字,圖 2:配置專案

配置專案

選擇框架: 從下拉列表中選擇 .NET Framework。選擇最新的 .NET Framework 以確保流程順利,然後點擊“創建”按鈕。

如何在 .NET MAUI 中顯示嵌入的 PDF 文本 圖 3:.NET 框架選擇

.NET Framework 選擇

安裝 IronPDF

在建立 .NET MAUI 應用程式後,下一步是安裝 IronPDF 庫。以下是具體操作方法:

  1. 打開 NuGet 套件管理員:導航至 工具 > NuGet 套件管理員 > 管理解決方案的 NuGet 套件

    如何在 .NET MAUI 中顯示嵌入式 PDF 文本,圖 4:導航至 NuGet 套件管理器

    導航到 NuGet 套件管理員

  2. 搜尋 IronPDF:在已打開的視窗中,點擊瀏覽並在搜尋框中鍵入 IronPdf

    如何在 .NET MAUI 中顯示嵌入式 PDF 文字,圖 5:在 NuGet 套件管理器 UI 中搜尋 IronPDF

    在 NuGet 套件管理器 UI 中搜索 IronPDF

  3. 安裝 IronPDF:當您在搜索結果中看到 IronPDF 時,點擊它。確保右側面板中的專案框已勾選,然後點擊安裝

在安裝過程中出現的所有許可提示或使用條款,請接受。

您還可以使用以下命令透過 NuGet 套件管理器控制台安裝 IronPDF:

Install-Package IronPdf

建立使用者介面

現在讓我們繼續建立使用者介面. (用户界面) 為此應用程式,MainPage.xaml 檔案將作為登陸頁。它將有一個按鈕用來打開 PDF 檔案,並有標籤顯示所選檔案的名稱及其內容。

我們開始創建使用者界面:

打開 MainPage.xaml 檔案:此檔案包含主頁的佈局。您可以在 Solution Explorer 的 Pages 資料夾下找到這個檔案。

定義佈局:我們將使用一個 `控制項,當頁面的內容無法完全適應螢幕時,允許使用者滾動瀏覽。在滾動視圖內,我們將使用一個用於垂直堆疊我們的控制項。在Stack Layout中,我們有三個控制項。每個框架用於容納我們頁面的不同部分,提供整潔有序的外觀。

添加控制項:第一個框架有一個 <VerticalStackLayout>包含一個標籤和一個按鈕。標籤顯示應用程序名稱,按鈕允許用戶打開 PDF 文件。Clicked 屬性分配給方法 OpenAndReadFile,該方法稍後在後端代碼文件中定義。

<VerticalStackLayout
    Spacing="25"
    Padding="30,0"
    VerticalOptions="Center">
    <Label
        Text="IronPDF MAUI Application"
        SemanticProperties.HeadingLevel="Level1"
        SemanticProperties.Description="IronPDF MAUI Application"
        FontSize="30"
        HorizontalOptions="Center"
        FontAttributes="Bold"

    />
    <Button
        x:Name="opneFileBtn"
        Text="Open Pdf File"
        SemanticProperties.Hint="Open PDF File"
        Clicked="OpenAndReadFile"
        HorizontalOptions="Center" />
</VerticalStackLayout>
XML

第二個框架有一個 <HorizontalStackLayout>包含兩個標籤。第一個標籤用來顯示靜態文字 "Selected File Name:",第二個標籤名為fileName`,顯示所選文件的名稱。

<HorizontalStackLayout
    Spacing="25"
    Padding="30,0"
    VerticalOptions="Center">
    <Label
        Text="Selected File Name: "
        SemanticProperties.HeadingLevel="Level2"
        SemanticProperties.Description="Selected File Name"
        FontSize="18"
        HorizontalOptions="Center"
        FontAttributes="Bold"
    />
    <Label
        x:Name="fileName"
        Text=""
        SemanticProperties.HeadingLevel="Level3"
        SemanticProperties.Description="Selected File Name"
        FontSize="18"
        HorizontalOptions="Center" 
     />
</HorizontalStackLayout>
XML

第三個框架具有 <VerticalStackLayout>其中包含兩個標籤。第一個標籤顯示靜態文本 "PDF 內容",第二個標籤名為 Content 顯示 PDF 文件的內容。


<VerticalStackLayout>
    <Label
        Text="PDF Content"
        SemanticProperties.HeadingLevel="Level2"
        FontSize="25"
        FontAttributes="Bold"
        HorizontalOptions="Center" 
    />
    <Label
        x:Name="content"
        FontSize="18"
        HorizontalTextAlignment="Start"
    />
</VerticalStackLayout>
XML

您的最終 MainPage.xaml 應該看起來像這樣:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage
    xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
    xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                x:Class="IronPDF_Read_and_View.MainPage">
    <ScrollView>
        <StackLayout>
            <Frame>
                <VerticalStackLayout
                    Spacing="25"
                    Padding="30,0"
                    VerticalOptions="Center">
                    <Label
                        Text="IronPDF MAUI Application"
                        SemanticProperties.HeadingLevel="Level1"
                        SemanticProperties.Description="IronPDF MAUI Application"
                        FontSize="30"
                        HorizontalOptions="Center"
                        FontAttributes="Bold"

                    />
                    <Button
                        x:Name="opneFileBtn"
                        Text="Open PDF File"
                        SemanticProperties.Hint="Open PDF File"
                        Clicked="OpenAndReadFile"
                        HorizontalOptions="Center" />
                </VerticalStackLayout>
            </Frame>
            <Frame>
                <HorizontalStackLayout
                        Spacing="25"
                        Padding="30,0"
                        VerticalOptions="Center">
                    <Label
                            Text="Selected File Name: "
                            SemanticProperties.HeadingLevel="Level2"
                            SemanticProperties.Description="Selected File Name"
                            FontSize="18"
                            HorizontalOptions="Center"
                            FontAttributes="Bold"

                        />
                    <Label
                            x:Name="fileName"
                            Text=""
                            SemanticProperties.HeadingLevel="Level3"
                            SemanticProperties.Description="Selected File Name"
                            FontSize="18"
                            HorizontalOptions="Center" 
                        />
                </HorizontalStackLayout>
            </Frame>
            <Frame>
                <VerticalStackLayout>
                    <Label
                            Text="PDF Content"
                            SemanticProperties.HeadingLevel="Level2"
                            FontSize="25"
                        FontAttributes="Bold"
                            HorizontalOptions="Center" 
                        />
                    <Label
                        x:Name="content"
                        FontSize="18"
                        HorizontalTextAlignment="Start"
                        />
                </VerticalStackLayout>
            </Frame>
        </StackLayout>
    </ScrollView>
</ContentPage>
XML

當用戶按下“打開 PDF 檔案”按鈕時,會觸發 OpenAndReadFile 方法。這個方法將在我們的 MainPage.xaml.cs 中定義。 (後置代碼) 文件。我們的標籤,fileNamecontent,將分別顯示所選 PDF 文件的文件名和 PDF 文件的內容。

MainPage.xaml.cs 背後的程式碼

應用程式的邏輯位於 MainPage.xaml.cs 檔案中,也稱為程式碼後置文件。在這裡,我們定義了 OpenAndReadFile 方法,該方法負責打開文件選擇器,允許用戶選擇 PDF 文件,提取所選 PDF 文件的內容,並將其顯示在用戶界面上。

打開 MainPage.xaml.cs:在解決方案總管中的 Pages 資料夾下找到此檔案。這是我們將添加方法的地方。

添加文件路徑字段:在 MainPage 類的頂部,宣告一個名為 filePathstring 字段。我們將使用此字段來存儲所選文件的路徑。

string filePath = string.Empty;
string filePath = string.Empty;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

初始化元件:在 MainPage 構造函數中,調用 InitializeComponent 方法。此方法會自動調用以初始化頁面及其控制項。

public MainPage()
{
    InitializeComponent();
}
public MainPage()
{
    InitializeComponent();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

實現 OpenAndReadFile 方法:此方法被標記為 async,因為我們將在其中使用 await 關鍵字。FilePicker.PickAsync 方法用於打開文件選擇器。當用戶選擇文件時,文件名存儲在 fileName 標籤中,文件路徑存儲在 filePath 字段中。IronPDF 庫用於打開 PDF 文件並提取其中的所有文本。提取的文本然後分配給 content 標籤。

private async void OpenAndReadFile(object sender, EventArgs e)
{
    FileResult result = await FilePicker.PickAsync();
    fileName.Text = result.FileName;
    filePath = result.FullPath;

    IronPdf.License.LicenseKey = "Your-License-Key";

    //Read PDF File
    var document = PdfDocument.FromFile(filePath);
    var pdfContent = document.ExtractAllText();
    content.Text = pdfContent;
}
private async void OpenAndReadFile(object sender, EventArgs e)
{
    FileResult result = await FilePicker.PickAsync();
    fileName.Text = result.FileName;
    filePath = result.FullPath;

    IronPdf.License.LicenseKey = "Your-License-Key";

    //Read PDF File
    var document = PdfDocument.FromFile(filePath);
    var pdfContent = document.ExtractAllText();
    content.Text = pdfContent;
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

OpenAndReadFile 方法現已完成,當用戶點擊打開 PDF 檔案按鈕時將會觸發。您需要將 "Your-License-Key" 替換為您的實際 IronPDF 授權金鑰。

以下是完整的程式碼:

using IronPdf;

public partial class MainPage : ContentPage
{
    string filePath = string.Empty;

    public MainPage()
    {
        InitializeComponent();
    }

    private async void OpenAndReadFile(object sender, EventArgs e)
    {
        FileResult result = await FilePicker.PickAsync();
        fileName.Text = result.FileName;
        filePath = result.FullPath;
        IronPdf.License.LicenseKey = "Your-License-Key";

        //Read PDF File
        var document = PdfDocument.FromFile(filePath);
        var pdfContent = document.ExtractAllText();
        content.Text = pdfContent;

    }
}
using IronPdf;

public partial class MainPage : ContentPage
{
    string filePath = string.Empty;

    public MainPage()
    {
        InitializeComponent();
    }

    private async void OpenAndReadFile(object sender, EventArgs e)
    {
        FileResult result = await FilePicker.PickAsync();
        fileName.Text = result.FileName;
        filePath = result.FullPath;
        IronPdf.License.LicenseKey = "Your-License-Key";

        //Read PDF File
        var document = PdfDocument.FromFile(filePath);
        var pdfContent = document.ExtractAllText();
        content.Text = pdfContent;

    }
}
Imports IronPdf

Partial Public Class MainPage
	Inherits ContentPage

	Private filePath As String = String.Empty

	Public Sub New()
		InitializeComponent()
	End Sub

	Private Async Sub OpenAndReadFile(ByVal sender As Object, ByVal e As EventArgs)
		Dim result As FileResult = Await FilePicker.PickAsync()
		fileName.Text = result.FileName
		filePath = result.FullPath
		IronPdf.License.LicenseKey = "Your-License-Key"

		'Read PDF File
		Dim document = PdfDocument.FromFile(filePath)
		Dim pdfContent = document.ExtractAllText()
		content.Text = pdfContent

	End Sub
End Class
VB   C#

運行應用程式

現在我們已成功設置了UI並定義了應用程式的行為,是時候看看我們的應用程式如何運作。!

啟動應用程式:要執行應用程式,您可以按下鍵盤上的F5鍵,或點擊 Visual Studio 頂部工具欄中的綠色'開始偵錯'按鈕。請確保在'開始偵錯'按鈕旁邊的下拉選單中已選擇了正確的目標設備或模擬器。

使用應用程式:當應用程式啟動後,您將會看到一個標題為"IronPDF MAUI Application"的畫面和一個標示為"Open PDF File"的按鈕。

如何在 .NET MAUI 中顯示 PDF 嵌入文字,圖 6:IronPDF MAUI 應用程式的 UI

IronPDF MAUI應用程式的用戶界面

開啟PDF檔案:點擊「開啟PDF檔案」按鈕。這會打開文件選擇器,允許您瀏覽並從您的設備或模擬器中選擇PDF檔案。

如何在 .NET MAUI 中顯示嵌入的 PDF 文本,圖 7: 文件選擇對話框

檔案選擇對話框

查看內容: 選擇 PDF 檔案後,檔案名稱將顯示在「選擇的檔案名稱:」下方,所選 PDF 檔案的內容將顯示在「PDF 內容」下方。

如何在 .NET MAUI 中顯示嵌入的 PDF 文本,圖 8:顯示從選定 PDF 文件中的 PDF 內容

顯示選定 PDF 文件的內容

請注意,如果選定的 PDF 文件非常大,可能需要幾秒鐘來提取和顯示文本。另外,請記住,提取的文本格式可能與 PDF 文件的原始佈局不完全匹配。 提取所有文字 方法提取嵌入的文本内容。

結論

本教學展示了如何使用IronPDF庫來建立一個.NET MAUI應用程式,從PDF檔案中提取並顯示文本內容。這個專案是一個展示.NET MAUI和IronPDF庫在處理應用程式中的PDF檔案時如何強大且多用途的絕佳範例。

除了提取PDF檔案中的文本和圖像,IronPDF庫還支持多種功能,包括 與表單互動拆分PDF文件 將 PDF 頁面光柵化為圖像, HTML 登入表單後的身份驗證自訂 頁首和頁尾 以及支援 CSS 檔案以實現像素完美的 PDF 檔案。

IronPDF 是一款具有強大 PDF 操作功能的商業產品,並提供 免費試用 供您測試其功能。如果您發現該產品對您的開發需求有益並決定在生產中使用它,許可計劃從 $749 開始。

< 上一頁
如何在 ASP.NET Core 中顯示 PDF 文件
下一個 >
如何在 C# 中將 PDF 轉換為 PNG

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >