IRONPDFの使用

.NET MAUIでPDF埋め込みテキストを表示する方法

これは、IronPDF を使用して .NET MAUI で PDF 埋め込みのテキストを表示する方法を説明するチュートリアルです。

.NET マルチプラットフォームアプリUI (MAUI) は、マルチプラットフォームアプリ開発を簡素化します。 新しく改良されたXamarin.Formsのバージョンにより、開発者は1つのプロジェクトでAndroid、iOS、macOS、Windows用のアプリを作成できます。 フォント、画像、レイアウトを保持することで知られているPDFファイルは、この技術を使用して一般的に管理されています。

IronPDFライブラリは、この文脈で強力なPDF処理機能を提供します。 開発者はIronPDFの力を活用して、埋め込まれたテキストを簡単に扱うことができ、PDFファイルの生成および操作のプロセスを簡素化し、一貫したレンダリングのためにデフォルト設定を遵守します。

PDF 埋め込みテキストとフォント埋め込みの理解

PDF埋め込みテキスト、またはPDFフォントは、PDFファイルに埋め込まれたテキストエンティティです。Adobe InDesignのような一般的なアプリケーションを含め、PDFビューアアプリケーション間で一貫性を保ち、正確にレンダリングする上で非常に重要です。 フォントをPDFドキュメントに埋め込むことで、使用するPDFビューアーアプリケーションの種類や、ビューアーのデバイスに特定のフォントがインストールされているかどうかに関わらず、正しいフォントが保持されます。

埋め込みフォントはPDF文書のサイズを増加させることがありますが、元の文書の外観と感触を維持するためには重要です。 Adobe PDF の設定は、PDF 内のフォントが埋め込まれるかどうかを決定することがよくあります。

PDFドキュメントにはさまざまな種類の埋め込みフォントがあります:

  1. 埋め込みフォント: ドキュメント全体にフォントが埋め込まれています。

  2. サブセット埋め込みフォント: 元のドキュメントで使用されたフォントの一部のみが埋め込まれています。

  3. 埋め込みフォントなし: ドキュメントにフォントは埋め込まれていません。

    Adobe Acrobatでは、ドキュメントプロパティを確認することでフォントが埋め込まれているかどうかを確認できます。 デフォルトでは、フォントはPDFファイルに埋め込まれています。ただし、これらの設定はAdobe Acrobat Proや他の類似ツールを使用して変更することができます。

    「フラット化されたPDF」という用語は、PDFドキュメントの文脈でよく使用されます。この場合、すべてのフォントが埋め込まれているため、ファイルは自己完結型となり、すべてのシステムやPDFビューアで同じように表示されます。

IronPDF for .NET

IronPDF ドキュメント は、開発者が .NET アプリケーション内で PDF ファイルを生成、読み取り、編集できるようにする強力なC# PDF ライブラリです。 IronPDFを使用してHTMLからPDFファイルを生成する方法を学ぶことができます。 IronPDF の興味深い機能の一つは、PDF ファイルに埋め込まれたテキストを操作できる点です。 PDFファイルにフォントを埋め込む機能は、ドキュメントの元の外観を保つために重要です。これは、PDFファイルが元のフォントにアクセスできないシステム上で表示または印刷された場合でも適用されます。 IronPDF in .NET MAUIを使用してPDFに埋め込まれたテキストを表示する方法を理解しましょう。

前提条件

チュートリアルを始める前に、以下の要件を満たしていることを確認してください:

  1. .NET MAUI: Microsoftの統合UIツールキットで、単一の共有コードベースを使用してAndroid、iOS、macOS、およびWindows向けのアプリを作成できます。 .NET MAUIは、Microsoftのウェブサイトからダウンロードできます。

  2. Visual Studio 2022(またはそれ以降): .NETプログラミングのための強力で使いやすい統合開発環境(IDE)。 マイクロソフトのウェブサイトからVisual Studioをダウンロードできます。Visual Studio 2022に.NET MAUIワークロードがインストールされていることを確認してください。

  3. IronPDF ライブラリ: これは .NET 用のPDF処理ライブラリであり、PDFファイルとやり取りするために使用します。 IronPDFは、Microsoft開発プラットフォーム向けのパッケージマネージャーである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と入力します。

    PDF埋め込みテキストを.NET MAUIで表示する方法、図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>を使用します。 スタックレイアウトの中には、3つの<Frame>コントロールがあります。 各フレームはページの特定のセクションを保持するために使用され、整然とした組織的な外観を提供します。

コントロールの追加: 最初のフレームには、ラベルとボタンを保持する<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>
<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

2番目のフレームには、2つのラベルを保持する<HorizontalStackLayout>があります。 最初のラベルは固定テキスト「Selected File Name:」を表示するためのものであり、2番目のラベル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

3番目のフレームは、2つのラベルを保持する<VerticalStackLayout>を持っています。 最初のラベルは静的テキスト「PDF Content」を表示し、2番目の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 クラスの上部で、filePath という名前のstringフィールドを宣言します。 このフィールドを使用して選択されたファイルのパスを保存します。

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

アプリケーションの実行

UIの設定とアプリケーションの動作の定義が成功したので、次はアプリケーションを実際に動かしてみましょう!

アプリケーションを開始: アプリケーションを実行するには、キーボードのF5を押すか、Visual Studio の上部ツールバーにある緑色の「デバッグ開始」ボタンをクリックします。 「スタート デバッグ」ボタンの隣にあるドロップダウンメニューで、正しいターゲットデバイスまたはエミュレーターが選択されていることを確認してください。

アプリケーションを使用する: アプリケーションが起動すると、「IronPDF MAUI Application」というタイトルの画面と、「Open PDF File」というラベルの付いたボタンが表示されます。

.NET MAUIでPDF埋め込みテキストを表示する方法、図6: IronPDF MAUIアプリケーションのUI

IronPDF MAUIアプリケーションのUI

PDFファイルを開く:「Open PDF File」ボタンをクリックします。 これにより、ファイルピッカーが開き、デバイスまたはエミュレーターからPDFファイルを参照して選択できるようになります。

.NET MAUIでPDF埋め込みテキストを表示する方法、図7: ファイル選択ダイアログ

ファイル選択ダイアログ

コンテンツを表示: PDFファイルを選択すると、「選択されたファイル名」の下にファイル名が表示され、「PDFコンテンツ」の下に選択されたPDFファイルのコンテンツが表示されます。

.NET MAUIでPDF埋め込みテキストを表示する方法、図8: 選択したPDFファイルからPDFコンテンツを表示

選択したPDFファイルからPDFコンテンツを表示

選択したPDFファイルが非常に大きい場合、テキストの抽出と表示に数秒かかることがありますので、ご注意ください。 また、抽出されたテキストの形式は、ExtractAllText メソッドの詳細が埋め込まれたテキストコンテンツを抽出するため、PDFファイルの元のレイアウトと完全に一致しないかもしれません。

結論

このチュートリアルでは、IronPDFライブラリを使用してPDFファイルからテキストコンテンツを抽出し表示する.NET MAUIアプリケーションの構築方法を示しました。このプロジェクトは、アプリケーションでPDFファイルを扱う際の.NET MAUIとIronPDFライブラリの強力さと多用途性を示す優れた例です。

PDFファイル内のテキストと画像の抽出に加えて、IronPDFライブラリは、PDFフォームとの対話、PDFファイルの分割、PDFページを画像にラスタライズするHTMLログインフォームを介した認証、PDFドキュメントのヘッダーとフッターのカスタマイズ、およびピクセル単位で完璧なPDFファイルのためのCSSファイルのサポートなどの幅広い機能をサポートしています。

IronPDFはPDF操作のための強力な機能を備えた商用製品であり、その機能を試すためのIronPDFの無料トライアルを提供しています。 この製品が開発ニーズに有益であり、プロダクションでの使用を決定された場合、ライセンスプランは$749から始まります。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
ASP.NET CoreでPDFファイルを表示する方法
次へ >
C#でPDFをPNGに変換する方法