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

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

申し訳ありませんが、翻訳するコンテンツのテキストを提供してください。その後、英語から日本語に翻訳いたします。!-- NUGET ライブラリ ダウンロード ディレクティブ タグ :: スタート -->

PDF用C# NuGetライブラリ

でインストール NuGet

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

申し訳ありませんが、翻訳するコンテンツのテキストを提供してください。その後、英語から日本語に翻訳いたします。!-- NUGETライブラリダウンロード指示タグ :: 終了 -->

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

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

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

    MAUIページをPDFに変換するには、RenderContentPageToPdfメソッドを使用してください。 このメソッドは、ChromePdfRenderer クラスをインスタンス化することでアクセスできます。 このメソッドを使用すると、PdfDocument オブジェクトが取得できます。SaveAs メソッドを使用して保存するか、PDFビューアを使用して表示することができます。 MAUIで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");
    }
}
Imports IronPdf.Extensions.Maui

Namespace mauiSample

	Partial Public Class MainPage
		Inherits ContentPage

		Public Sub New()
			InitializeComponent()
		End Sub

		Private Sub PrintToPdf(ByVal sender As Object, ByVal e As EventArgs)
			Dim renderer As New ChromePdfRenderer()

			' Apply HTML header
			renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {.HtmlFragment = "<h1>Header</h1>"}

			' Render PDF from Maui Page
			Dim pdf As PdfDocument = renderer.RenderContentPageToPdf(Of MainPage, App)().Result

			pdf.SaveAs("C:\Users\lyty1\Downloads\contentPageToPdf.pdf")
		End Sub
	End Class
End Namespace
VB   C#

さらに、お気付きかもしれませんが、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" />
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'<Button x:Name="PrintToPdfBtn" Text="Print to pdf" SemanticProperties.Hint="Click to print page as PDF" Clicked="PrintToPdf" HorizontalOptions="Center" />
VB   C#

PDFを出力

PDFファイルを保存する前に、PdfDocumentで利用可能なメソッドを使用してさらに変更を加えることができます。 Here is the translation of the provided text into Japanese:

あなたは ページをマージする、分割する、またはそれらを回転させる。 以下を追加することもできます 注釈 以下のコンテンツを日本語に翻訳してください: ブックマーク あなたのPDFへ。

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

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

プロジェクトをダウンロードするにはこちらをクリックしてください。

チャクニット・ビン

ソフトウェアエンジニア

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