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

ASP.NETでC#やVBを使ってPDFレポートを生成する

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

IronPDFは.NET開発者がHTML、Crystal Reports、XML、SQL ServerデータからPDFレポートを生成することを可能にします。 このC#ライブラリは、ASP.NETアプリケーションでのレポート作成をわずか数行のコードで簡素化し、すべての書式設定とスタイル設定を保持します。

クイックスタート: IronPDFで PDF レポートを生成する

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

  1. IronPDF をNuGetパッケージマネージャでインストール

    PM > Install-Package IronPdf
  2. このコード スニペットをコピーして実行します。

    // Instantiate ChromePdfRenderer for HTML to PDF conversion
    new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
  3. 実際の環境でテストするためにデプロイする

    今日プロジェクトで IronPDF を使い始めましょう無料トライアル

    arrow pointer

ステップ1

どのようにIronPDFをインストールしますか?

NuGet上のIronPdf

Install-Package IronPdf

また、IronPDF DLLを手動でダウンロードすることもできます。 高度なインストールシナリオについては、包括的なNuGetパッケージガイドをご覧ください。このガイドでは、Azure、AWS、Linux、Mac、およびWindowsプラットフォーム用の設定をカバーしています。 コンテナ化されたアプリケーションを使用している場合は、Docker統合ガイドに詳細なセットアップ手順が記載されています。


チュートリアル

PDFレポートの作成方法とは

まずレポートをHTMLドキュメントとして生成し、IronPDFを使ってHTMLをPDFとしてレンダリングします。 このチュートリアルでは、ASP.NET C#でPDFレポートを作成する手順を示します。 IronPDFのChromeレンダリングエンジンは最新のHTML5、CSS3、JavaScriptをサポートしながら、ピクセルパーフェクトな変換を保証します。

: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");
$vbLabelText   $csharpLabel

より複雑なレポート作成のニーズについては、包括的なPDF作成チュートリアルをご覧ください。このチュートリアルでは、透かし、圧縮、背景、ヘッダー、フッター、フォーム、パスワード保護について説明しています。

.NETでCrystal ReportsをPDFに変換するには?

Crystal Reports を HTML にエクスポートします:

ファイル → エクスポート → HTML 4.0

生成されたレポートを方法論セクションの上記C#のサンプルコードを使用してPDFとしてエクスポートできます。 IronPDFはHTMLファイルをPDFに変換するための優れたサポートを提供し、Crystal Reportsの出力からすべてのフォーマットとスタイルを維持します。

以下は例です:

: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");
$vbLabelText   $csharpLabel

HTMLベースのヘッダーを含む高度なヘッダーとフッターのカスタマイズについては、ヘッダーとフッターガイドをご覧ください。

プログラムで Crystal Reports を PDF に変換するにはどうすればよいですか?

プログラムでCrystal Reports (RPT)ファイルからPDFを作成する場合、それも可能であり、より多くのコントロールを提供します。 このアプローチはIronPDFのレンダリングオプションとシームレスに統合され、完全なカスタマイズが可能です。

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

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

    // Configure export options for HTML output
    DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions()
    {
        DiskFileName = @"c:\tmp\html\b.html" // Temporary HTML file
    };

    ExportOptions exportOpts = ExportOptions.CreateExportOptions();
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    exportOpts.ExportFormatType = ExportFormatType.HTML40; // Export as HTML 4.0
    exportOpts.ExportDestinationOptions = diskOpts;

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

    // Convert HTML to PDF using IronPDF
    var Renderer = new ChromePdfRenderer();
    // Add dynamic header with URL
    Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
    // Add footer with timestamp and page numbers
    Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
    Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

    // Render the HTML file to PDF and save
    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)
{
    // Load the Crystal Report
    ReportDocument rpt = new ReportDocument();
    rpt.Load(rptPath);

    // Configure export options for HTML output
    DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions()
    {
        DiskFileName = @"c:\tmp\html\b.html" // Temporary HTML file
    };

    ExportOptions exportOpts = ExportOptions.CreateExportOptions();
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    exportOpts.ExportFormatType = ExportFormatType.HTML40; // Export as HTML 4.0
    exportOpts.ExportDestinationOptions = diskOpts;

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

    // Convert HTML to PDF using IronPDF
    var Renderer = new ChromePdfRenderer();
    // Add dynamic header with URL
    Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
    // Add footer with timestamp and page numbers
    Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
    Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

    // Render the HTML file to PDF and save
    Renderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath);

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

XMLからPDFレポートを生成するには?

JSONのようなコーディングが容易なフォーマットが普及しているにもかかわらず、XMLとしてレポートデータをエクスポートすることは依然として一般的です。 IronPDFはXMLからPDFへの変換のための優れたサポートを提供し、XMLデータを扱うための複数のアプローチを提供します。

XMLレポートのスタイルを作成するため、XMLを解析し、データを使用してHTMLを生成します。

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

結果として得られる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)
{
    // Initialize XSLT transformation
    XslCompiledTransform transform = new XslCompiledTransform();
    using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
    {
        transform.Load(reader); // Load XSLT stylesheet
    }

    // Transform XML to HTML
    StringWriter results = new StringWriter();
    using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
    {
        transform.Transform(reader, null, results); // Apply transformation
    }

    // Convert the generated HTML to PDF
    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)
{
    // Initialize XSLT transformation
    XslCompiledTransform transform = new XslCompiledTransform();
    using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
    {
        transform.Load(reader); // Load XSLT stylesheet
    }

    // Transform XML to HTML
    StringWriter results = new StringWriter();
    using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
    {
        transform.Transform(reader, null, results); // Apply transformation
    }

    // Convert the generated HTML to PDF
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath);
}
$vbLabelText   $csharpLabel

高度なXML変換テクニックとベストプラクティスについては、C#とVB.NETでXMLをPDFに変換するの記事をご覧ください。

どのように SQL Server レポートを PDF にエクスポートしますか?

MicrosoftのSQL Serverと無料のSQL Server Expressにはレポートツールが含まれています。 ASP.NETでSSRSレポートをPDFにエクスポートすることは、IronPDFの有用な使用方法かもしれません。 複雑なデータ可視化のニーズのために、IronPDFはC3.js、D3.js、Highchartsのような人気のあるライブラリを含むJavaScriptチャートのレンダリングをサポートしています。

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

これらのレポートはHTMLとして生成され、その後IronPDFを使用してカスタマイズおよびPDF形式に変換することができます。 IronPDFのHTML文字列からPDFへの変換機能は最終出力を完全にコントロールします。

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

安全なデータアクセスを必要とする企業環境のために、IronPDFはTLSウェブサイトとシステムログインをサポートし、認証されたレポート生成を処理します。

PDFレポートを保護するにはどうすればよいですか?

PDFレポートが変更または改ざんされていないことを確認するには、デジタル署名を付けてください。 これはPDFレポートファイルがレンダリングされ、ディスクに保存された後に最も簡単に達成されます。 IronPDFはハードウェアセキュリティモジュール(HSM)のサポートを含む包括的な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");
$vbLabelText   $csharpLabel

デジタル署名がない場合は、macOSおよびWindowsで無料のAdobe Acrobat Readerを使用して新しいデジタル署名ファイルを作成できます。 その他のセキュリティ対策として、文書へのアクセスや編集の権限を管理するためのIronPDF権限とパスワードガイドをご覧ください。

ASP.NET WebformsでASPXをPDFに変換するには?

ASP.NETで HTML コンテンツを提供する最も簡単な方法は、 ASP.NET WebForms アプリケーションの Form_Load イベントで IronPdf.AspxToPdf クラスを使用することです。 この強力な機能により、サーバー側コントロールや動的コンテンツを含むASPXページ全体を直接PDFに変換することができます。

using IronPdf;

public static void RenderAspxToPdf()
{
    // Configure PDF rendering options
    var AspxToPdfOptions = new ChromePdfRenderOptions()
    {
        EnableJavaScript = false, // Disable JavaScript for simpler reports
        PrintHtmlBackgrounds = true, // Include background colors and images
        MarginTop = 20, // Set top margin in mm
        MarginBottom = 20, // Set bottom margin in mm
        PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait,
        PaperSize = IronPdf.Rendering.PdfPaperSize.A4
        // ...many more options available
    };

    // Render the HTML page to PDF and prompt download
    <code>AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions)</code>;
}
using IronPdf;

public static void RenderAspxToPdf()
{
    // Configure PDF rendering options
    var AspxToPdfOptions = new ChromePdfRenderOptions()
    {
        EnableJavaScript = false, // Disable JavaScript for simpler reports
        PrintHtmlBackgrounds = true, // Include background colors and images
        MarginTop = 20, // Set top margin in mm
        MarginBottom = 20, // Set bottom margin in mm
        PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait,
        PaperSize = IronPdf.Rendering.PdfPaperSize.A4
        // ...many more options available
    };

    // Render the HTML page to PDF and prompt download
    <code>AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions)</code>;
}
$vbLabelText   $csharpLabel

この記事がASP.NET C#またはVB.NETでPDFレポートを生成する方法を学ぶのに役立ったことを願っています。 また、ASP.NET ASPX to PDF Tutorial を通して、ASPXページからPDFへの設定や複雑なレイアウトの処理など、高度なシナリオについて詳しく学ぶことができます。

よくある質問

C#でHTMLからPDFレポートを生成するには?

IronPDFはたった一行のコードでHTMLからPDFレポートを生成することができます: new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf").これにより、最終的なPDFドキュメントのすべてのHTMLフォーマットとスタイルが保持されます。

どのような種類のレポートをPDFに変換できますか?

IronPDFはHTMLレポート、Crystal Reports (HTML 4.0としてエクスポート)、XMLレポート(HTMLでスタイリング)、SQL Serverデータレポートなど複数のレポートタイプのPDF変換をサポートしています。このライブラリはChromeレンダリングエンジンを使用し、ピクセルパーフェクトな変換を保証します。

PDFレポートジェネレータライブラリのインストール方法を教えてください。

IronPDFはNuGet Package Managerから'Install-Package IronPDF'コマンドでインストールするか、手動でDLLをダウンロードしてください。ライブラリはAzure、AWS、Linux、Mac、Windows、Dockerコンテナを含む様々なプラットフォームをサポートしています。

.NET で Crystal Reports を PDF に変換できますか。

はい。IronPDFを使ってクリスタルレポートをPDFに変換するには、まずクリスタルレポートをHTML 4.0形式でエクスポートし(File → Export → HTML 4.0)、IronPDFのRenderHtmlFileAsPdfメソッドを使ってHTML出力をPDFドキュメントに変換します。

SQL Server のデータから PDF レポートを作成する方法を教えてください。

SQL ServerのデータからPDFレポートを作成するには、まずHTMLレポートを作成し、IronPDFのChromePdfRendererを使ってHTMLをPDFに変換します。このライブラリはすべてのフォーマットを保持するので、データベースドリブンのレポートに最適です。

PDFレポートに電子署名できますか?

はい、IronPDFはPDFレポートが改ざんされていないことを保証するためにデジタル署名をすることができます。この機能により、生成されたPDFドキュメントにさらなるセキュリティと信頼性が加わります。

ライブラリは最新のウェブ標準をサポートしていますか?

IronPDFのChromeレンダリングエンジンは最新のHTML5、CSS3、JavaScriptを完全にサポートしており、PDF出力に最新のウェブスタイルとインタラクティブ要素を保持したまま、レポートを正確にレンダリングします。

カーティス・チャウ
テクニカルライター

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

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

準備はできましたか?
Nuget ダウンロード 17,803,474 | バージョン: 2026.3 リリース
Still Scrolling Icon

まだスクロールしていますか?

すぐに証拠が欲しいですか? PM > Install-Package IronPdf
サンプルを実行するHTML が PDF に変換されるのを確認します。