MAUIでXAMLをPDFに変換する方法

Chaknith related to MAUIでXAMLをPDFに変換する方法
チャクニット・ビン
2023年9月11日
更新済み 2024年12月10日
共有:
This article was translated from English: Does it need improvement?
Translated
View the article in English

.NET MAUI(マルチプラットフォーム アプリ UI)は、ネイティブ デバイス アプリケーションを構築するためのクロスプラットフォーム フレームワークです。 それはXamarin.Formsから拡張され、統一された.NET 6エコシステムの一部です。 それは、.NETアプリケーション開発者が共通のUIコンポーネントと単一のコードベースを使用してデスクトップ、Web、およびモバイルプラットフォーム向けにアプリケーションを作成することを可能にします。 MAUIでは、必要に応じてプラットフォーム固有のコードやリソースを追加することもできます。

IronPdfはMAUIページからPDFドキュメントを生成し、これらのアプリケーションでPDFファイル/ページの作成を可能にします。 しかし、IronPDFは現在モバイルプラットフォームをサポートしていません。

IronPdf拡張パッケージ

IronPdf.Extensions.Maui パッケージIronPdfメインパッケージの拡張です。 拡張機能なので、MAUIアプリケーションのコンテンツページをPDFドキュメントにレンダリングするにはIronPdfメインパッケージが必要です。

PM > Install-Package IronPdf.Extensions.Maui
C# NuGetライブラリ for PDF

NuGetでインストール

インストールパッケージ IronPdf.Extensions.Maui

MAUIページをPDFにレンダリング

MainPage.xaml.cs ファイルを編集

  • MainPage.xamlファイルからそのコードファイルであるMainPage.xaml.csに移動します。
  • OnCounterClickedという名前の関数をPrintToPdfに変更します。 以下のコードサンプルを使用してください。

    MAUIページをPDFに変換するには、RenderContentPageToPdf メソッドを使用します。 メソッドは、ChromePdfRenderer クラスをインスタンス化することでアクセスできます。 このメソッドは、PdfDocumentオブジェクトを提供し、SaveAsメソッドやMAUIでPDFを表示するPDFビューアを使用して保存または表示することができます。

    次の内容にご注意ください。
    RenderContentPageToPdf メソッドは、まだデータバインディングをサポートしていません。

:path=/static-assets/pdf/content-code-examples/how-to/xaml-to-pdf-maui-mainpage-xaml-cs.cs
using IronPdf.Extensions.Maui;

namespace mauiSample;

public partial class MainPage : ContentPage
{
    public MainPage()
    {
        InitializeComponent();
    }

    private void PrintToPdf(object sender, EventArgs e)
    {
        ChromePdfRenderer renderer = new ChromePdfRenderer();

        // Apply HTML header
        renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
        {
            HtmlFragment = "<h1>Header</h1>",
        };

        // Render PDF from Maui Page
        PdfDocument pdf = renderer.RenderContentPageToPdf<MainPage, App>().Result;

        pdf.SaveAs(@"C:\Users\lyty1\Downloads\contentPageToPdf.pdf");
    }
}

さらに、お気づきかもしれませんが、XAML からのレンダリングは、RenderingOptionsで利用可能なすべての機能に完全にアクセスすることもできます。 これには、テキストとHTMLのヘッダーとフッターの追加が含まれます。 画像をスタンプしたり、ページ番号を追加したり、ページのサイズやレイアウトをカスタマイズすることもできます。 このメソッドを使用してPDFを作成すると、すべてのオプションが利用可能になります。

MainPage.xaml ファイルを編集

MainPage.xaml ファイルで、デフォルトのOnCounterClicked 関数を新しいPrintToPdf 関数に置き換えます。 このボタンをクリックすると、PrintToPdf メソッドが実行され、PDFが作成されます。

<Button
x:Name="PrintToPdfBtn"
Text="Print to pdf"
SemanticProperties.Hint="Click to print page as PDF"
Clicked="PrintToPdf"
HorizontalOptions="Center" />
<Button
x:Name="PrintToPdfBtn"
Text="Print to pdf"
SemanticProperties.Hint="Click to print page as PDF"
Clicked="PrintToPdf"
HorizontalOptions="Center" />

PDFを出力

PDFファイルを保存する前に、PdfDocumentで利用可能なメソッドを使用してさらに変更を加えることができます。 ページを結合したり、分割したり、回転させたりできます。 PDFに注釈ブックマークを追加することもできます。

.NET MAUI アプリプロジェクトをダウンロード

このガイドの完全なコードをダウンロードできます。これは.zipファイルとして提供され、Visual Studioで.NET MAUIアプリプロジェクトとして開くことができます。

完全な MAUI サンプルプロジェクトをダウンロード

Chaknith related to .NET MAUI アプリプロジェクトをダウンロード
ソフトウェアエンジニア
チャクニットは開発者のシャーロック・ホームズです。彼がソフトウェアエンジニアリングの将来性に気付いたのは、楽しみでコーディングチャレンジをしていたときでした。彼のフォーカスはIronXLとIronBarcodeにありますが、すべての製品でお客様を助けることに誇りを持っています。チャクニットは顧客と直接話すことで得た知識を活用して、製品自体のさらなる改善に貢献しています。彼の逸話的なフィードバックは、単なるJiraチケットを超えて、製品開発、ドキュメントおよびマーケティングをサポートし、顧客の全体的な体験を向上させます。オフィスにいないときは、機械学習やコーディングについて学んだり、ハイキングを楽しんだりしています。