IronPDFを使用して.NET用のC#でPDFレポートを作成する方法

Generate PDF Reports in ASP.NET with C# or VB

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

SQLなどの構造化データから管理レポートやデータベースレポートを生成することは、.NET開発の一般的なタスクです。 IronPDFはC#でPDFリーダーとして使用でき、ASP.NET C#でSSISレポートをPDFに視覚化し、エクスポートするのに役立ちます。

IronPDFはデータのスナップショットを「レポート」としてPDFファイル形式でレンダリングするために使用できます。 また、PDF C#パーサーとしても機能します。

Quickstart: IronPDFを使用してPDFレポートを生成する

IronPDFを使用してPDFレポートを生成する作業を、わずか数行のコードで開始できます。 このクイックガイドは、開発者がHTMLコンテンツをプロフェッショナルなPDFドキュメントに、すべての書式を簡単に保持しながら瞬時に変換するのを可能にします。 以下の例を見て、データを洗練されたPDFレポートに変換するのがいかに簡単かを確認してください。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

ミニマルワークフロー(5ステップ)

  1. IronPDF C# PDF Reportライブラリをダウンロードしてインストール
  2. レポートをHTMLドキュメントとして生成し、HTMLをPDFとしてレンダリング
  3. HTMLを使用してエクスポート:ファイル -> エクスポート してHTML 4.0を選択
  4. XMLレポートをスタイル化し、データでHTMLが生成されるようにXMLを解析
  5. PDFレポートが変更されていないことを確認する; デジタル署名される可能性がある

class="tutorial-segment-title">ステップ 1

1. IronPDFをインストールする

NuGetを使用して: NuGetのIronPdf

Install-Package IronPdf

また、IronPDF DLLを手動でダウンロードすることもできます


class="tutorial-segment-title">チュートリアル方法

2. PDFレポート作成のための方法論

基本的な方法論は、まずHTMLドキュメントとしてレポートを生成し、次にIronPDFを使用してHTMLをPDFとしてレンダリングすることです。 このチュートリアルでは、ASP.NET C#でPDFレポートを作成する手順を示します。

:path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-render-html-file.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf")
$vbLabelText   $csharpLabel

3. Crystal Reportsから .NETでPDFへ

Crystal Reportsアプリケーションで、以下を使用してHTMLとしてエクスポートできます:

ファイル -> エクスポート そしてHTML 4.0を選択

生成されたレポートを方法論セクションの上記C#のサンプルコードを使用してPDFとしてエクスポートできます。

以下は例です:

:path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-render-header-footer.cs
using IronPdf;
using IronSoftware.Drawing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Add a header to very page easily
renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
renderer.RenderingOptions.TextHeader.CenterText = "{url}";
renderer.RenderingOptions.TextHeader.Font = FontTypes.Arial;
renderer.RenderingOptions.TextHeader.FontSize = 12;

// Add a footer too
renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
renderer.RenderingOptions.TextFooter.Font = FontTypes.Arial;
renderer.RenderingOptions.TextFooter.FontSize = 10;
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

renderer.RenderHtmlFileAsPdf(@"c:\my\exported\report.html").SaveAs("report.pdf");
Imports IronPdf
Imports IronSoftware.Drawing

Private renderer As New ChromePdfRenderer()

' Add a header to very page easily
renderer.RenderingOptions.FirstPageNumber = 1
renderer.RenderingOptions.TextHeader.DrawDividerLine = True
renderer.RenderingOptions.TextHeader.CenterText = "{url}"
renderer.RenderingOptions.TextHeader.Font = FontTypes.Arial
renderer.RenderingOptions.TextHeader.FontSize = 12

' Add a footer too
renderer.RenderingOptions.TextFooter.DrawDividerLine = True
renderer.RenderingOptions.TextFooter.Font = FontTypes.Arial
renderer.RenderingOptions.TextFooter.FontSize = 10
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"

renderer.RenderHtmlFileAsPdf("c:\my\exported\report.html").SaveAs("report.pdf")
$vbLabelText   $csharpLabel

3.1 プログラムでC#を使用してCrystal ReportsをPDFに

プログラムでCrystal Reports (RPT)ファイルからPDFを作成する場合、それも可能であり、より多くのコントロールを提供します。

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.IO;
using IronPdf;

public static void ExportRptToPdf(string rptPath, string pdfOutputPath)
{
    ReportDocument rpt = new ReportDocument();
    rpt.Load(rptPath);

    // Set export options
    DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions()
    {
        DiskFileName = @"c:\tmp\html\b.html"
    };

    ExportOptions exportOpts = ExportOptions.CreateExportOptions();
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    exportOpts.ExportFormatType = ExportFormatType.HTML40;
    exportOpts.ExportDestinationOptions = diskOpts;

    // Export report to HTML
    rpt.Export();

    // Convert HTML to PDF
    var Renderer = new ChromePdfRenderer();
    Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
    Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
    Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

    Renderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath);

    Console.WriteLine("Report Written To {0}", Path.GetFullPath(pdfOutputPath));
}
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.IO;
using IronPdf;

public static void ExportRptToPdf(string rptPath, string pdfOutputPath)
{
    ReportDocument rpt = new ReportDocument();
    rpt.Load(rptPath);

    // Set export options
    DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions()
    {
        DiskFileName = @"c:\tmp\html\b.html"
    };

    ExportOptions exportOpts = ExportOptions.CreateExportOptions();
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    exportOpts.ExportFormatType = ExportFormatType.HTML40;
    exportOpts.ExportDestinationOptions = diskOpts;

    // Export report to HTML
    rpt.Export();

    // Convert HTML to PDF
    var Renderer = new ChromePdfRenderer();
    Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
    Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
    Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

    Renderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath);

    Console.WriteLine("Report Written To {0}", Path.GetFullPath(pdfOutputPath));
}
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.IO
Imports IronPdf

Public Shared Sub ExportRptToPdf(ByVal rptPath As String, ByVal pdfOutputPath As String)
	Dim rpt As New ReportDocument()
	rpt.Load(rptPath)

	' Set export options
	Dim diskOpts As New DiskFileDestinationOptions() With {.DiskFileName = "c:\tmp\html\b.html"}

	Dim exportOpts As ExportOptions = ExportOptions.CreateExportOptions()
	exportOpts.ExportDestinationType = ExportDestinationType.DiskFile
	exportOpts.ExportFormatType = ExportFormatType.HTML40
	exportOpts.ExportDestinationOptions = diskOpts

	' Export report to HTML
	rpt.Export()

	' Convert HTML to PDF
	Dim Renderer = New ChromePdfRenderer()
	Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
	Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
	Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"

	Renderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath)

	Console.WriteLine("Report Written To {0}", Path.GetFullPath(pdfOutputPath))
End Sub
$vbLabelText   $csharpLabel

4. XMLレポート

よりコーディングが簡単な形式(例えばJSON)の普及にもかかわらず、XMLとしてレポートデータをエクスポートすることは依然として一般的です。

XMLレポートをスタイル化するために、XMLを解析し、データでHTMLを生成することができます。

より洗練された解決策は、記載されたXslCompiledTransformクラスを使用してXMLを直接HTMLに変換するためにXSLTを使用することです。

結果として得られるHTML文字列またはファイルをIronPDFを使用してPDFとしてレンダリングできます:

using System.IO;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

public static void ConvertXmlToPdf(string xml, string xslt, string pdfOutputPath)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
    {
        transform.Load(reader);
    }

    StringWriter results = new StringWriter();
    using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
    {
        transform.Transform(reader, null, results);
    }

    ChromePdfRenderer renderer = new ChromePdfRenderer();
    renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath);
}
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

public static void ConvertXmlToPdf(string xml, string xslt, string pdfOutputPath)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
    {
        transform.Load(reader);
    }

    StringWriter results = new StringWriter();
    using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
    {
        transform.Transform(reader, null, results);
    }

    ChromePdfRenderer renderer = new ChromePdfRenderer();
    renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath);
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports IronPdf

Public Shared Sub ConvertXmlToPdf(ByVal xml As String, ByVal xslt As String, ByVal pdfOutputPath As String)
	Dim transform As New XslCompiledTransform()
	Using reader As XmlReader = XmlReader.Create(New StringReader(xslt))
		transform.Load(reader)
	End Using

	Dim results As New StringWriter()
	Using reader As XmlReader = XmlReader.Create(New StringReader(xml))
		transform.Transform(reader, Nothing, results)
	End Using

	Dim renderer As New ChromePdfRenderer()
	renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath)
End Sub
$vbLabelText   $csharpLabel

詳細を知りたい場合は、C#およびVB.NETの記事でXMLをPDFに変換する方法を訪問してください。

5. Microsoft SQL Server Reports

MicrosoftのSQL Serverと無料のSQL Server Expressにはレポートツールが含まれています。 ASP.NETでSSRSレポートをPDFにエクスポートすることは、IronPDFの有用な使用方法かもしれません。

チュートリアル: 報告サービスツール(SSRS)を探して起動する方法

これらのレポートはHTMLとして生成され、その後IronPDFを使用してカスタマイズおよびPDF形式に変換することができます。

HTMLへのレンダリング(Report Builder)

6. レポートのセキュリティ

PDFレポートが改ざんされていないことを確認するために、デジタル署名が付されることがあります。 これはPDFレポートファイルがレンダリングされ、ディスクに保存された後に最も簡単に達成されます。

:path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-sign-pdf.cs
using IronPdf.Signing;

// Sign our PDF Report using a p12 or pix digital certificate file
new PdfSignature("IronSoftware.pfx", "123456").SignPdfFile("signed.pdf");
Imports IronPdf.Signing

' Sign our PDF Report using a p12 or pix digital certificate file
Call (New PdfSignature("IronSoftware.pfx", "123456")).SignPdfFile("signed.pdf")
$vbLabelText   $csharpLabel

デジタル署名がない場合は、macOSおよびWindowsで無料のAdobe Acrobat Readerを使用して新しいデジタル署名ファイルを作成できます。

7. ASP.NET WebformsでのASPXからPDFへ

ASP.NETでHTMLコンテンツを配信する最も簡単な方法は、ASP.NET WebFormsアプリケーションのForm_LoadイベントでIronPdf.AspxToPdfクラスを使用することです。

using IronPdf;

public static void RenderAspxToPdf()
{
    var AspxToPdfOptions = new ChromePdfRenderOptions()
    {
        EnableJavaScript = false, // Disable JavaScript for simplicity
        // ...many more options available
    };

    AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions);
}
using IronPdf;

public static void RenderAspxToPdf()
{
    var AspxToPdfOptions = new ChromePdfRenderOptions()
    {
        EnableJavaScript = false, // Disable JavaScript for simplicity
        // ...many more options available
    };

    AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions);
}
Imports IronPdf

Public Shared Sub RenderAspxToPdf()
	Dim AspxToPdfOptions = New ChromePdfRenderOptions() With {.EnableJavaScript = False}

	AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions)
End Sub
$vbLabelText   $csharpLabel

この記事がASP.NET C#またはVB.NETでPDFレポートを生成する方法を学ぶのに役立ったことを願っています。 また、ASP.NET ASPXからPDFへの完全なチュートリアルを確認してもっと学ぶこともできます。

よくある質問

ASP.NETでC#を使用してPDFレポートを生成する方法は?

ASP.NETでHTMLドキュメントをPDF形式に変換するためにIronPDFを使用してPDFレポートを生成できます。最初にレポートをHTMLドキュメントとして作成し、次にIronPDFのレンダリング機能を使用してそれをPDFに変換します。

C#でPDF生成のためにIronPDFをインストールするにはどのステップを踏めばよいですか?

IronPDFをインストールするには、NuGetパッケージマネージャーコンソールでコマンドInstall-Package IronPdfを使用するか、公式のNuGetサイトからDLLをダウンロードしてプロジェクトに手動で追加します。

C#アプリケーションでクリスタルレポートをPDFに変換できますか?

はい、クリスタルレポートを最初にHTMLとしてエクスポートし、次にIronPDFを使用してHTMLファイルをPDF形式にレンダリングすることで変換できます。

C#で生成されたPDFレポートをどのように保護するのですか?

IronPDFを使用してPDFレポートにデジタル署名することで保護できます。これにより、PDFが作成され保存された後に変更されていないことが確認されます。

C#でHTMLをPDFに変換するときにJavaScriptを処理することは可能ですか?

IronPDFはHTMLをPDFにレンダリングするときにJavaScriptコンテンツを処理できます。この機能はプロジェクトのニーズに応じて有効または無効にできます。

C#を使用してSQL ServerレポートをPDFに変換する方法は?

SQL ServerレポートをHTMLにエクスポートし、次にIronPDFを使用してこれらのHTMLファイルをPDFに変換することで変換できます。このプロセスでは、レポートのフォーマットとレイアウトが維持されます。

PDFレポート生成にHTMLを使用する利点は何ですか?

HTMLを使用することで詳細なスタイリングとフォーマットが可能になり、IronPDFがこれを正確にPDF形式に変換できます。これによりレポートの視覚的な整合性が維持されます。

C#でIronPDFを使用してXMLレポートをPDFに変換できますか?

はい、XSLTを使用してXMLをHTMLに変換し、次にIronPDFを使用してPDFとしてレンダリングすることができます。

ASP.NET WebFormsアプリケーションでASPXページをPDFとしてレンダリングする方法は?

ASP.NET WebFormsアプリケーションでは、Form_Loadイベント内でIronPdf.AspxToPdfを使用してASPXページをPDFとしてレンダリングできます。

C#でIronPDFを使用するためのリソースはどこで見つけられますか?

IronPDFのウェブサイトでチュートリアルやリソースを見つけることができ、ASPXからPDFへの変換やさまざまなデータソースからのレポート生成に関するガイドが含まれています。

.NET 10: IronPDF は .NET 10 と完全に互換性がありますか? また、どのような利点がありますか?

はい、IronPDFは.NET 10と完全に互換性があり、回避策やAPIの廃止は必要ありません。.NET 10プロジェクトでIronPDFを使用すると、パフォーマンスの向上、メモリ使用量の削減、NuGetを介したシームレスな統合などのメリットが得られ、Web、デスクトップ、コンテナー、サーバー環境などの最新のアプリモデルをサポートします。

Curtis Chau
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。

準備はいいですか?
Nuget ダウンロード 16,154,058 | バージョン: 2025.11 ただ今リリースされました