ASP.NETでのASPXページをPDFに変換

This article was translated from English: Does it need improvement?
Translated
View the article in English

このASPXからPDFへのチュートリアルでは、ASPXをPDFに変換する方法についてステップバイステップで説明します。 ASPXページをASP.NETウェブアプリケーションでPDFとして保存する。

ユーザーは、.aspxファイル拡張子を持つASPXファイルをGoogle Chromeで開かないようにするべきです。 私たちのエンジニアリングチームに、.NETコードを使用してASPXを自動的にPDFに変換するよう依頼しています。! 私たちはCTRL Pを押す必要がありません。!ASPXインターネットメディアをPDFとして保存するサーバーベースの方法があります。

ファイルの動作と名前の設定、ヘッダーとフッターの追加、印刷オプションの変更、改ページの追加、非同期とマルチスレッドの組み合わせなどの設定を適用します。

ASPXファイルをPDFに変換する方法

ASP.NET向けのMicrosoft Webフォームアプリケーションは、洗練されたウェブサイト、オンラインバンキング、イントラネット、および会計システムの開発によく使用されます。 こちらの日本語訳です:

ASP.NETの一般的な機能の一つ(ASPX)ウェブサイトでは、ユーザーがPDF形式でダウンロードできるような請求書、チケット、管理レポートなどの動的なPDFファイルを生成することが目的です。

このチュートリアルでは、IronPDF for .NETソフトウェアコンポーネントを使用して、任意のASP.NETウェブフォームをPDFに変換する方法を紹介します。(ASP.NET から PDF へ). HTMLは通常ウェブページとしてレンダリングされますが、PDFとしてレンダリングしてダウンロードやウェブブラウザでの表示に使用されます。 添付されたソースプロジェクトは、C#を使用してASP.NETでウェブページをPDFに変換する方法を示しています。

このHTMLからPDFへの変換を実現します(ASPXをPDFに変換)IronPDFを使ってウェブページをレンダリングする場合。**AspxToPdfクラス.

ASPXファイルコンバーターの無料版をIronPDFからインストールする

今日から無料トライアルでIronPDFをあなたのプロジェクトで使い始めましょう。

最初のステップ:
green arrow pointer

NuGetでインストール

Visual Studioで、プロジェクトのソリューション・エクスプローラーを右クリックし、"Manage NuGet Packages... "を選択します。 そこからIronPDFを検索して、最新バージョンをインストールするだけです... ダイアログボックスが表示されたら、[OK]をクリックしてください。

これは、フレームワーク 4.6.2 以上、または .NET Core 2 以上のいずれの C# .NET フレームワークプロジェクトでも動作します。 VB.NETプロジェクトでも同様に機能します。

Install-Package IronPdf

NuGetからIronPdfをダウンロードする

DLL経由でインストール

IronPDF DLLは以下からダウンロードし、プロジェクトやGACに手動でインストールすることもできます。IronPdfパッケージのダウンロード.

以下の文を任意のcsクラスファイルの先頭に追加することを忘れないでください: もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

using IronPdf; もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

ASP.NETウェブページをPDFに変換

通常のASPX「Webフォーム」から始め、HTMLとしてレンダリングします。 後でASPXページをPDFファイル形式に変換します。

添付されたサンプルソースコードでは、ビジネス請求書「Invoice.aspx」をレンダリングしました。これは、ASP.NETページとしてレンダリングされたシンプルなHTMLビジネス請求書です。

HTMLページにはCSS3スタイルシートが含まれ、画像やJavaScriptも含まれる場合があります。

このASP.NETウェブページをHTMLではなくPDFにレンダリングするためには、C#のコードを開く必要があります。(またはVB.NET)次のコードをPage_Loadイベントに追加します:

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-1.cs
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
VB   C#

以下が必要なすべてです: HTML は現在 PDF としてレンダリングされます。 ハイパーリンク、スタイルシート、画像、そしてHTMLフォームも保持されます。 これは、ユーザーが自分のブラウザでHTMLをPDFに印刷した場合の出力に非常に似ています。 IronPDFは、Google Chromeを支えるChromiumウェブブラウザ技術を基盤に構築されています。

全体のC#コードは次のようになります:ASPXページをActive Server PagesでPDFに変換します。

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-2.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using IronPdf;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports IronPdf

Namespace AspxToPdfTutorial
	Partial Public Class Invoice
		Inherits System.Web.UI.Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
		End Sub
	End Class
End Namespace
VB   C#

ASPXファイルをPDFに変換する設定を適用する

ASPXファイルを.NET Web Formsを使用して生成されたPDFに変換する際に、調整や最適化のための多くのオプションがあります。

これらのオプションの詳細は、オンラインで完全に記録されています。IronPDF APIリファレンス.

PDFファイルの動作設定

InBrowser」ファイル動作は、PDFをユーザーのブラウザで直接表示しようとします。 これはすべてのウェブブラウザーで常に可能であるわけではありませんが、通常、最新の標準準拠のブラウザーの一般的な機能です。 もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser); もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

添付」ファイルの動作により、PDFがダウンロードされます。 もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment); もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

3.2.PDFファイル名の設定

追加のパラメーターを追加することで、PDFドキュメントのファイル名を設定することもできます。 これにより、ユーザーがダウンロードまたは保持する際に、ファイルの名前を制御することができます。 ASPXページをPDFとして保存すると、その名前がPDFドキュメントに付けられます。 もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPDF.AspxToPdf.FileBehavior.Attachment、「Invoice.pdf」); もちろんです!翻訳したいコンテンツを提供してください。それに従って正確な日本語訳を提供いたします。

3.3.PDF印刷オプションの変更

PDFの出力は、IronPdf.ChromePdfRendererクラスのインスタンスを追加することで制御できます。 ChromePdfRenderer API リファレンス

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-3.cs
var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
{
    EnableJavaScript = false,
    //.. many more options available
};
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions);
Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {.EnableJavaScript = False}
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions)
VB   C#

利用可能なPDFレンダリングオプションには以下が含まれます:

  • CreatePdfFormsFromHtml は、ASPX フォーム要素を編集可能な PDF フォームに変換します。
  • CssMediaType Screen または Print CSSスタイルおよびスタイルシート。 私たちのをご覧ください詳細なチュートリアルと比較画像付き.
  • CustomCssUrl カスタムCSSスタイルシートをレンダリング前のHTMLに適用できるようにします。 ローカルファイルのパス、またはリモートURLである可能性があります。
  • EnableMathematicalLaTex 数学的なLaTeX要素のレンダリングを有効または無効にします。
  • EnableJavaScript ページがレンダリングされる前にJavaScriptおよびJSONを実行することを可能にします。 Ajax / Angular アプリケーションからの印刷に最適です。 また、以下もご覧くださいWaitForハウツーガイド.
  • Javascript は、すべてのHTMLが読み込まれた後、PDFのレンダリング前に実行されるカスタムJavaScript文字列を指定します。
  • JavascriptMessageListener ブラウザのJavaScriptコンソールメッセージが利用可能になったときに呼び出されるメソッドコールバックです。
  • FirstPageNumber 最初のページ番号をヘッダーおよびフッターに指定します。 デフォルトは1です。
  • TableOfContents は、HTML ドキュメント内で id "ironpdf-toc" を持つ要素が見つかった位置に目次を生成します。
  • TextHeaderは、各PDFページのフッターコンテンツをテキストとして設定します。 メールマージ」をサポートし、URLを自動的にハイパーリンクに変換します。
  • TextFooterは、すべてのPDFページのフッターコンテンツをテキストとして設定します。 メールマージ」をサポートし、URLを自動的にハイパーリンクに変換します。
  • HtmlHeader は、コンテンツ文字列やHTMLを使用して、すべてのPDFページのヘッダー内容を設定します。
  • HtmlFooter は、コンテンツ文字列やHTMLを使用して各PDFページのフッターコンテンツを設定します。
  • MarginBottom 下部PDF用紙のマージン(ミリメートル単位)。 枠なしのPDFにする場合はゼロに設定してください。
  • MarginLeft PDF用紙の左側余白(ミリメートル単位)。 枠なしのPDFにする場合はゼロに設定してください。
  • MarginRight 右PDF用紙の余白(ミリメートル)。 枠なしのPDFにする場合はゼロに設定してください。
  • MarginTop 上部PDFペーパーの余白(ミリメートル)。 枠なしのPDFにする場合はゼロに設定してください。
  • UseMarginsOnHeaderAndFooter ヘッダーおよびフッターをレンダリングする際に、メインドキュメントからの余白値を使用するかどうかを指定します。
  • PaperFit:PDFの「紙」ページにコンテンツをレイアウトする方法を制御し、仮想用紙レイアウトを設定するためのマネージャー。 デフォルトのChrome動作、ズーム、レスポンシブCSS3レイアウト、ページに合わせたスケール、および連続フィードスタイルのPDFページ設定のオプションを含みます。
  • PaperOrientation PDFの用紙の向き。 ランドスケープ または ポートレート
  • PageRotation 既存のドキュメントからのページ回転。 詳細な説明および添付のコード例.
  • PaperSize PDFページの出力用紙サイズをSystem.Drawing.Printing.PaperKindを使用して設定します。
  • SetCustomPaperSizeinCentimeters: 紙のサイズをセンチメートルで設定します。
  • SetCustomPaperSizeInInches 紙のサイズをインチで設定します。
  • SetCustomPaperSizeinMilimeters ミリメートル単位で用紙サイズを設定します。
  • SetCustomPaperSizeinPixelsOrPoints 画面ピクセルまたはプリンターポイントで用紙サイズを設定します。
  • ForcePaperSize は、HTMLからPDFを生成した後に、ページのサイズをPaperSizeで指定された内容に正確に合わせてリサイズするかどうかを指定します。
  • PrintHtmlBackgrounds はHTML画像の背景を印刷します。
  • GrayScale は、フルカラーの代わりにグレースケールの段階でPDFを出力します。

    • WaitFor
      待機メカニズムの設定を保持するラッパーオブジェクト。 JavaScript、Ajax、アニメーションのレンダリングを検討する際に役立ちます。

    • PageLoad: 待たずにデフォルトのレンダー。

    • RenderDelay:任意の待機時間を設定する設定。

    • フォント: すべてのフォントが読み込まれるまで待機します。

    • JavaScript:JavaScript 関数でレンダリングをトリガーする。

    • HTML要素: 要素ID、名前、タグ名、クエリセレクタなどの特定のHTML要素を待機してターゲット要素にします。
  • ネットワークアイドル**: ネットワークアイドル待機中(0、2、またはカスタム金額).
  • タイトル PDFドキュメントの「タイトル」メタデータ。
  • InputEncoding 文字列としての入力文字エンコーディング。 UTF-8 は ASP.NET のデフォルトです。.
  • RequestContext は、レンダーのリクエストコンテキストを指定します。
  • タイムアウト。 秒単位でのレンダータイムアウト。

4. ASPX PDFにヘッダーとフッターを追加

IronPDFを使用すると、PDF出力にヘッダーとフッターを追加できます。

これを行う最も簡単な方法は、現在の時刻やページ番号のような動的データを簡単に追加できる基本的なレイアウトをサポートする TextHeaderFooter クラスを使用することです。

4.1. ASPXからPDFへのヘッダーとフッターの例

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-4.cs
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
            {
                TextHeader = new IronPdf.TextHeaderFooter()
                {
                    CenterText = "Invoice",
                    DrawDividerLine = false,
                    Font = FontTypes.Arial,
                    FontSize = 12
                },
                TextFooter = new IronPdf.TextHeaderFooter()
                {
                    LeftText = "{date} - {time}",
                    RightText = "Page {page} of {total-pages}",
                    Font = IronSoftware.Drawing.FontTypes.Arial,
                    FontSize = 12,
                },
            };
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions);
        }
    }
}
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace AspxToPdfTutorial
	Partial Public Class Invoice
		Inherits System.Web.UI.Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {
				.TextHeader = New IronPdf.TextHeaderFooter() With {
					.CenterText = "Invoice",
					.DrawDividerLine = False,
					.Font = FontTypes.Arial,
					.FontSize = 12
				},
				.TextFooter = New IronPdf.TextHeaderFooter() With {
					.LeftText = "{date} - {time}",
					.RightText = "Page {page} of {total-pages}",
					.Font = IronSoftware.Drawing.FontTypes.Arial,
					.FontSize = 12
				}
			}
			IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf", AspxToPdfOptions)
		End Sub
	End Class
End Namespace
VB   C#

また、CSS、画像、ハイパーリンクもサポートするHtmlHeaderFooterクラスを使用して、HTMLヘッダーとフッターを生成することもできます。

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-5.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace AspxToPdfTutorial
{
    public partial class Invoice : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var AspxToPdfOptions = new IronPdf.ChromePdfRenderOptions()
            {
                MarginTop = 50, // make sufficiant space for an HTML header
                HtmlHeader = new IronPdf.HtmlHeaderFooter()
                {
                    HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
                }
            };
            IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "MyDocument.pdf", AspxToPdfOptions);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace AspxToPdfTutorial
	Partial Public Class Invoice
		Inherits System.Web.UI.Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			Dim AspxToPdfOptions = New IronPdf.ChromePdfRenderOptions() With {
				.MarginTop = 50,
				.HtmlHeader = New IronPdf.HtmlHeaderFooter() With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
			}
			IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "MyDocument.pdf", AspxToPdfOptions)
		End Sub
	End Class
End Namespace
VB   C#

例にあるように、プレースホルダーを使用して、動的テキストまたはHTMLをヘッダー/フッターに「マージ」することがあります:

  • {ページ}: PDFの現在のページ番号用。
  • {総ページ数}: PDF内の総ページ数として。
  • {URL}PDFドキュメントがレンダリングされたWeb URL。
  • {日付}: 今日の日付をサーバーのシステム環境に適した形式で。
  • {時間}24時間時計を使用し、時:秒の単位で時間を表します。

    • {html-タイトル}以下を日本語に翻訳します:

: ASPX ウェブフォームのヘッドタグからタイトルを挿入します。

  • {pdfタイトル}文書ファイル名のために。

5. ASPXファイルをPDFに適用するテクニック:ページ分割

HTMLが一般的に長いページに「流れる」のに対し、PDFはデジタルペーパーをシミュレートし、一貫したページに分割されています。 以下のコードをASPXページに追加すると、.NETで生成されたPDFにページ区切りが自動的に作成されます。

:path=/static-assets/pdf/content-code-examples/how-to/aspx-to-pdf-6.cs
<div style='page-break-after: always;'>&nbsp;</div>
HTML

6.パフォーマンスのために非同期とマルチスレッドを組み合わせる

IronPDFは、.NET Framework 4.6.2、または.NET Core 2以上で構築されました。 Framework 4.6.2以上のプロジェクトでは、ASYNCの機能複数のドキュメントを扱う際のパフォーマンスを向上させるために利用できます。

AsyncをマルチスレッドCPUやParallel.ForEachコマンドと組み合わせることで、PDFフォーマットの一括処理が大幅に改善されます。

ASP.NETソースコードとしてダウンロード

このチュートリアルのための ASPXファイルをPDFに変換するソースコード 全体は、圧縮されたVisual Studio Webアプリケーションプロジェクトとしてダウンロード可能です。

このチュートリアルを ASP.NET Visual Studio プロジェクトとしてダウンロードする

無料ダウンロードには、設定が適用された状態でPDFとしてレンダリングされたWebページを示すC# ASP.NET Web Formsプロジェクトの動作するコード例が含まれています。 このチュートリアルが、ASPXファイルをPDFとして保存する方法の学習に役立ったことを願っています。

今後

一般的に、あらゆるプログラミング技術を学ぶ最良の方法は、独自のASP.NETプロジェクトで実験を行うことです。 これはIronPDFのASPX to PDFコンバーターを試すことを含みます。

開発者はまた、以下にも興味を持つかもしれません:IronPdf.AspxToPdfクラスリファレンス.

8. ASPXをPDFに変換するチュートリアル動画を視聴する


チュートリアル クイック アクセス

Brand Visual Studio related to チュートリアル クイック アクセス

このチュートリアルをソースコードとしてダウンロード

このチュートリアルのための完全なASPXファイルからPDFへのコンバーターのソースコードは、圧縮されたVisual Studio Webアプリケーションプロジェクトとして利用可能です。 The free download contains working code examples for a C# ASP.NET Web Forms project, showing a web page rendered as a PDF with settings applied.

ダウンロード

このチュートリアルをGitHubで探索する

このC# ASPX-to-PDFプロジェクトのコードは、ASP.NETウェブサイトプロジェクトとしてGitHubでC#とVB.NETで公開されています。IronPDFを使うためにGitHubでフォークしてください。ASPXをPDFに変換するにはどうすればいいですか?

C# ASPXからPDFへのウェブサイトプロジェクト 次世代のASP.NETページからPDF作成サンプル(C#を使用) ASP.NET PDFのサンプル (VB.NET) でPDFを作成する方法
Github Icon related to チュートリアル クイック アクセス
Html To Pdf Icon related to チュートリアル クイック アクセス

C# PDFクイックスタートガイドをダウンロード

.NETアプリケーションでのPDF開発を簡単にするために、私たちはクイックスタートガイドをPDF文書としてまとめました。この "Cheat-Sheet "はC#とVB.NETでPDFを生成、編集するための一般的な関数やサンプルへのクイックアクセスを提供し、.NETプロジェクトでIronPDFを使い始める時間を短縮します。

ダウンロード

APIリファレンスを表示

IronPDFのすべての機能、名前空間、クラス、メソッドフィールド、列挙型の詳細を説明するIronPDFのAPIリファレンスをご覧ください。

IronPDF APIリファレンスを見る
Documentation related to チュートリアル クイック アクセス