ASPXページをPDFに変換するASP.NET

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

このASPXをPDFに変換するチュートリアルは、ASPXページをPDFに変換する手順を一つずつご案内します。ASP.NETウェブアプリケーションでASPXページを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 Web フォームを PDF に変換する方法 (ASP.NET to PDF) を示します。 HTMLは通常ウェブページとしてレンダリングされますが、PDFとしてレンダリングしてダウンロードやウェブブラウザでの表示に使用されます。 添付されたソースプロジェクトは、C#を使用してASP.NETでウェブページをPDFに変換する方法を示しています。

ウェブページをレンダリングする際に、IronPDFとそのAspxToPdfツールクラスを使用して、このHTMLからPDFへの変換(ASPXをPDFに変換)を実現します。


ステップ 1

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

最初のステップ:
green arrow pointer

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

NuGetでインストール

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

これはFramework 4以上、または.NET Core 2以上の任意のC# .NET Frameworkプロジェクトで動作します。 VB.NETプロジェクトでも同様に機能します。

Install-Package IronPdf

https://www.nuget.org/packages/IronPdf

DLL経由でインストール

または、IronPDF DLLはhttps://ironpdf.com/packages/IronPdf.zipからダウンロードし、プロジェクトまたは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/tutorials/aspx-to-pdf-1.cs
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);
IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser)
$vbLabelText   $csharpLabel

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

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

:path=/static-assets/pdf/content-code-examples/tutorials/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
$vbLabelText   $csharpLabel

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

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

これらのオプションは、オンラインで完全に文書化されています: https://ironpdf.com/object-reference/api/IronPdf.AspxToPdf.html

PDFファイルの動作設定

InBrowserファイルの動作は、PDFを直接ユーザーのブラウザに表示しようとします。 これはすべてのウェブブラウザーで常に可能であるわけではありませんが、通常、最新の標準準拠のブラウザーの一般的な機能です。


IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.InBrowser);

添付ファイルの動作によりPDFがダウンロードされます。


IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment);

PDFファイル名の設定

追加のパラメーターを追加することで、PDFドキュメントのファイル名を設定することもできます。 これにより、ユーザーがダウンロードまたは保持する際に、ファイルの名前を制御することができます。 ASPXページをPDFとして保存すると、その名前がPDFドキュメントに付けられます。


IronPdf.AspxToPdf.RenderThisPageAsPdf(IronPdf.AspxToPdf.FileBehavior.Attachment, "Invoice.pdf");

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

PDFの出力は、IronPdf.ChromePdfRendererクラスのインスタンスを追加することによって制御できます。

https://ironpdf.com/object-reference/api/IronPdf.ChromePdfRenderer.html

:path=/static-assets/pdf/content-code-examples/tutorials/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)
$vbLabelText   $csharpLabel

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

  • ApplyMarginToHeaderAndFooter。 HTMLヘッダーとフッターにマージンオプションを適用します。 デフォルトは false で、HTML ヘッダーおよびフッターの余白が 0 になります。 ChromeRenderのみサポート。
  • HTMLからPDFフォームを作成する ASPXフォーム要素を編集可能なPDFフォームに変換します。
  • CssMediaType CSSスタイルおよびCSS3スタイルシートに対して、Media="screen"または"print"を有効にします。
  • CustomCssUrl URLを使用してHTMLにカスタムCSSスタイルシートを適用できます。
  • EnableJavaScript. ASPXページ内でJavaScript、jQuery、そしてJsonコードを有効にします。 レンダーディレイを適用する必要があるかもしれません。
  • FirstPageNumber 最初のページ番号はヘッダーフッターのためです。 デフォルトは1です。
  • FitToPaperWidth 可能な場合、PDFコンテンツを1ページ分の仮想用紙の幅に縮小します。
  • ユニークなドキュメント識別子を生成 ユニットテストなどでPDFを比較する際にバイナリファイルの等価性を使用したい場合はfalseに設定してください。
  • グレースケール グレースケールのPDFをフルカラーではなく灰色の階調で出力します。
  • HtmlHeader コンテンツ文字列やHTMLを使用して、すべてのPDFページのヘッダーコンテンツを設定します。
  • テキストヘッダー 各PDFページのフッター内容をテキストとして設定します。 「メールマージ」に対応し、URLを自動的にハイパーリンクに変換します。
  • HtmlFooter 各PDFページのフッターコンテンツをコンテンツ文字列またはHTMLを使用して設定します。
  • テキストフッター すべてのPDFページのヘッダー内容をテキストとして設定します。 「メールマージ」に対応し、URLを自動的にハイパーリンクに変換します。
  • InputEncoding 入力文字エンコーディングを文字列として指定します。 UTF-8はASP.NETのデフォルトです
  • マージンボトム 下部PDF ペーパー余白(ミリメートル単位)。 枠なしのPDFにする場合はゼロに設定してください。
  • 左余白 左PDFの紙の余白(ミリメートル)。 枠なしのPDFにする場合はゼロに設定してください。
  • MarginRight。 右PDF用紙の余白(ミリメートル単位)。 枠なしのPDFにする場合はゼロに設定してください。
  • マージントップ 上部PDFの余白(ミリメートル単位)。 枠なしのPDFにする場合はゼロに設定してください。
  • PaperOrientation PDFの用紙の向きを設定します。 横向き または 縦向き.
  • 用紙サイズ. System.Drawing.Printing.PaperKindを使用してPDFページの出力用紙サイズを設定します。 別の方法として、開発者は SetCustomPaperSize(int width, int height) メソッドを使用してカスタムサイズを作成できます。
  • PrintHtmlBackgrounds HTML画像背景を印刷します。
  • RenderDelay HTMLがレンダリングされた後、JavascriptやJSONが動作するための時間を確保するために待機するミリ秒。
  • タイムアウト 秒単位でのレンダータイムアウト。
  • タイトル. PDFドキュメントの 'Title' メタデータ。
  • ViewPortHeight IronPDFでHTMLをPDFにレンダリングするために使用される仮想スクリーンの高さを定義します。 ピクセル単位。
  • ViewPortWidth。 IronPdfでHTMLからPDFをレンダリングする際に使用される仮想スクリーン幅を定義します。 ピクセル単位。
  • ズーム 開発者がHTMLコンテンツを拡大または縮小できる%スケールレベル。

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

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

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

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

:path=/static-assets/pdf/content-code-examples/tutorials/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
$vbLabelText   $csharpLabel

代わりに、HTML ヘッダーとフッターは、CSS、画像、およびハイパーリンクもサポートする.HtmlHeaderFooterクラスを使用して生成できます。

:path=/static-assets/pdf/content-code-examples/tutorials/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
$vbLabelText   $csharpLabel

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

  • {page} はPDFの現在のページ番号です

  • {total-pages} を PDF 内の総ページ数として

  • サーバーのシステム環境に適した形式で、今日の日付を{date}

  • {time} を24時間制で時間:秒で表す

  • {html-title} は、ASPX Web フォームの head タグからタイトルを挿入します。

  • {pdf-title} をドキュメントファイル名に

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

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

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

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

IronPDFは、.NET Framework 4.0または.NET Core 2以上のために構築されました。 フレームワーク4.5以上のプロジェクトでは、非同期(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 Class」のリファレンスにも興味があるかもしれません。

https://ironpdf.com/object-reference/api/IronPdf.AspxToPdf.html


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


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

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

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

The full ASPX File to PDF Converter Source Code for this tutorial is available as a zipped Visual Studio Web Application project. 無料ダウンロードには、C# ASP.NET Web Forms プロジェクトの作業コード例が含まれており、設定が適用された PDF としてレンダリングされたウェブページを示しています。 ダウンロード

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

このC# ASPX-To-PDFプロジェクトのコードは、GitHubでASPX.NETウェブサイトプロジェクトとしてC#とVB.NETで利用可能です。IronPDFの使用に関するさらなるヘルプのために、どうぞ私たちをGitHubでフォークしてください。「ASPXをPDFに変換する方法は?」と尋ねるかもしれない人と自由に共有してください。

C# ASPX から PDF へのウェブサイトプロジェクト C#を使用したPDF作成のための高度なASP.NETページからPDFサンプル VB.NETでPDFを作成するためのASP.NET PDFの例
Github Icon related to チュートリアル クイック アクセス
Html To Pdf Icon related to チュートリアル クイック アクセス

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

.NETアプリケーションでPDFの開発を簡単にするために、PDF文書としてクイックスタートガイドをまとめました。この「チートシート」は、C#およびVB.NETでPDFを生成および編集するための一般的な機能と例への迅速なアクセスを提供し、.NETプロジェクトでIronPDFを使用する際の時間を節約するのに役立ちます。

ダウンロード

APIリファレンスを表示

IronPDFのAPIリファレンスを探索して、IronPDFのすべての機能、名前空間、クラス、メソッド、フィールド、およびenumの詳細を確認してください。

APIリファレンスを表示
Documentation related to チュートリアル クイック アクセス
ソフトウェア製品デザイナー @ Team Iron  ASP.NETのASPXページを単一行のC#またはVB.NETコードを使用して、PDFドキュメントに変換する方法を学びます。
チームIronのソフトウェアプロダクトデザイナー

Jacobは、C#およびPythonプログラミング言語に関する開発と執筆を楽しんでいる熱心なソフトウェアエンジニアです。

現在、Jacobの主な関心は、C#とASP.NET MVCを使用した大規模なイントラネット開発プロジェクトのためのソフトウェアモジュールの開発です。

また、.NET Coreの将来に興味を持っており、これはデスクトップ、サーバー、ウェブアプリケーションを単一のオープンソースフレームワーク内で提供し、VMよりも開発者とユーザーを優先する新しいプラットフォーム独立型開発技術の基盤となるでしょう。