使用 IRONPDF

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

這是一個教學指南,將帶您使用IronPDF在.NET MAUI中顯示嵌入PDF的文本。

.NET 多平台應用程式介面 (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 文件。 您可以學習使用 IronPDF 從 HTML 生成 PDF 文件。 IronPDF 的一個有趣特性是能夠處理 PDF 文件中的嵌入文本。 將字體嵌入 PDF 檔案的能力對於保留文件的原始外觀至關重要,即使在查看或列印 PDF 檔案的系統上沒有存取文件中使用的原始字體。 讓我們了解如何使用 IronPDF 在 .NET MAUI 中顯示嵌入的文本。

先決條件

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

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

  2. Visual Studio 2022(或更高版本):一個功能強大且使用者友好的整合開發環境(IDE),適用於 .NET 程式設計。 您可以從微軟網站下載 Visual Studio。確保您在 Visual Studio 2022 上安裝了 .NET MAUI 工作負載。

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

  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 Framework 選擇

.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

構建使用者介面

現在讓我們開始建立這個應用程式的使用者介面 (UI)。 MainPage.xaml 文件將作為登陸頁面。 它將有一個按鈕用來打開 PDF 文件,以及用於顯示所選文件名稱及其內容的標籤。

讓我們繼續建立使用者介面:

打開 MainPage.xaml 文件:此文件包含主頁的佈局。 您可以在解決方案資源管理器的 Pages 資料夾中找到此檔案。

定義版面:我們將使用一個 <Scroll View> 控制項,當頁面內容無法完全顯示在螢幕上時,允許使用者捲動瀏覽內容。 在捲動視圖中,我們將使用<Stack Layout>來垂直堆疊我們的控制項。 在堆疊佈局內,我們有三個<Frame>控制項。 每個框架用於承載我們頁面的不同部分,提供整潔和有條理的外觀。

添加控制項:第一個框架有一個<VerticalStackLayout>,其中包含一個標籤和一個按鈕。 Label 顯示應用程式名稱,而 Button 允許使用者開啟 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>
<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>,其中放置了兩個標籤。 第一個標籤用於顯示靜態文本「選擇的檔案名稱:」,第二個標籤名為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>
<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",第二個名為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>

<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 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文件的內容,並在UI上顯示它。

開啟 MainPage.xaml.cs:在「方案總管」的「Pages」資料夾中找到此檔案。 這是我們將新增方法的地方。

新增 filePath 欄位:在 MainPage 類的頂部,宣告一個名為 filePathstring 欄位。 我們將使用此欄位來儲存所選文件的路徑。

string filePath = string.Empty;
string filePath = string.Empty;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

public MainPage()
{
    InitializeComponent();
}
public MainPage()
{
    InitializeComponent();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

實作 OpenAndReadFile 方法:此方法被標記為 async,因為我們將在其中使用 await 關鍵字。 FilePicker.PickAsync 方法用於打開文件選取器。 當使用者選擇檔案時,檔案名稱會儲存在fileName標籤中,檔案路徑則會儲存在filePath欄位中。 IronPDF 庫用於開啟 PDF 文檔並提取其中的所有文本。 提取的文本然後被分配到內容標籤。

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
$vbLabelText   $csharpLabel

OpenAndReadFile 方法現已完成。 當使用者點擊「Open PDF File」按鈕時,將會觸發。 您需要將"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
$vbLabelText   $csharpLabel

運行應用程式

現在,我們已成功設置了使用者介面並定義了應用程式的行為,是時候看看我們的應用程式運行的情況了!

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

使用應用程式:一旦應用程式啟動,您將看到標題為「IronPDF MAUI 應用程式」的畫面,以及標有「開啟 PDF 文件」的按鈕。

如何在 .NET MAUI 中顯示 PDF 內嵌文本,圖 6:IronPDF MAUI 應用程序的介面

IronPDF MAUI 應用程式的使用者介面

開啟 PDF 檔案:點擊 "Open PDF File" 按鈕。 這將開啟一個文件選擇器,使您可以瀏覽並從您的設備或模擬器中選擇 PDF 檔案。

如何在 .NET MAUI 中顯示 PDF 嵌入文字,圖 7:檔案選取對話框

檔案選擇對話框

查看內容:選擇 PDF 文件後,文件名稱將顯示在「選定文件名稱:」下,選定的 PDF 文件內容將顯示在「PDF 內容」下。

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

顯示來自選定 PDF 檔案的 PDF 內容

請注意,如果所選擇的 PDF 檔案非常大,可能需要幾秒鐘的時間來提取和顯示文本。 另外,請記住,提取的文本格式可能與 PDF 文件的原始佈局不完全匹配,因為ExtractAllText 方法詳情提取嵌入的文本內容。

結論

本教程演示了如何使用IronPDF庫來構建.NET MAUI應用程式,以從PDF文件中提取和顯示文本內容。這個專案是.NET MAUI和IronPDF庫在應用程式中處理PDF文件時的強大和多功能性的絕佳範例。

除了提取 PDF 文件中的文字和圖像以外,IronPDF 庫還支持廣泛的功能,包括與 PDF 表單互動、拆分 PDF 文件、將 PDF 頁面光柵化為圖像在 HTML 登錄表單後進行身份驗證、自定義PDF 文件中的頁眉和頁腳,以及支持 CSS 文件以實現像素完美的 PDF 文件。

IronPDF 是一款具有強大 PDF 操作功能的商業產品,並提供 IronPDF 免費試用 以供您測試其功能。 如果您發現該產品對您的開發需求有利並決定用於生產,授權計劃起價為$749。

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
如何在 ASP.NET Core 中顯示 PDF 文件
下一個 >
如何在 C# 中將 PDF 轉換為 PNG