ASP.NETでC#やVBを使ってPDFレポートを生成・PDF印刷する方法
IronPDFは.NET開発者がHTML、Crystal Reports、XML、SQL ServerデータからPDFレポートを生成することを可能にします。 このC#ライブラリは、ASP.NETアプリケーションでのレポート作成をわずか数行のコードで簡素化し、すべての書式設定とスタイル設定を保持します。
クイックスタート: IronPDFで PDF レポートを生成する
IronPDFを使用してPDFレポートを生成する作業を、わずか数行のコードで開始できます。 このクイックガイドは、開発者がHTMLコンテンツをプロフェッショナルなPDFドキュメントに、すべての書式を簡単に保持しながら瞬時に変換するのを可能にします。 以下の例を見て、データを洗練されたPDFレポートに変換するのがいかに簡単かを確認してください。
最小限のワークフロー(5ステップ)
- IronPDFのC# PDFレポートライブラリをダウンロードし、インストールする。
- レポートをHTML文書として生成し、PDFとしてレンダリングする。
- 以下の手順で Crystal Reports をエクスポートします:ファイル → エクスポート → HTML 4.0
- XMLを解析し、データを用いてHTMLを生成することにより、XMLレポートのスタイルを整える。
- レポートが改ざんされていないことを確認するためのPDFへのデジタル署名
ステップ1
どのように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");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf")
より複雑なレポート作成のニーズについては、包括的な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");
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")
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));
}
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.IO
Imports IronPdf
Public Sub ExportRptToPdf(rptPath As String, pdfOutputPath As String)
' Load the Crystal Report
Dim rpt As New ReportDocument()
rpt.Load(rptPath)
' Configure export options for HTML output
Dim diskOpts As New DiskFileDestinationOptions() With {
.DiskFileName = "c:\tmp\html\b.html" ' Temporary HTML file
}
Dim exportOpts As ExportOptions = 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
Dim Renderer As 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))
End Sub
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);
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports IronPdf
Public Shared Sub ConvertXmlToPdf(xml As String, xslt As String, pdfOutputPath As String)
' Initialize XSLT transformation
Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(xslt))
transform.Load(reader) ' Load XSLT stylesheet
End Using
' Transform XML to HTML
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(xml))
transform.Transform(reader, Nothing, results) ' Apply transformation
End Using
' Convert the generated HTML to PDF
Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath)
End Sub
高度な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への変換機能は最終出力を完全にコントロールします。
安全なデータアクセスを必要とする企業環境のために、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");
Imports IronPdf.Signing
' Sign our PDF Report using a p12 or pix digital certificate file
Call (New PdfSignature("IronSoftware.pfx", "123456")).SignPdfFile("signed.pdf")
デジタル署名がない場合は、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>;
}
Imports IronPdf
Public Module PdfRenderer
Public Sub RenderAspxToPdf()
' Configure PDF rendering options
Dim AspxToPdfOptions As New ChromePdfRenderOptions() With {
.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
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions)
End Sub
End Module
この記事が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出力に最新のウェブスタイルとインタラクティブ要素を保持したまま、レポートを正確にレンダリングします。

