透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
PDFドキュメントの生成は、請求書の作成、詳細なレポートの作成、ウェブコンテンツのアーカイブ、または安全な文書共有を保証するために、現代のC# .NET開発において一般的で重要な要件です。 開発者はしばしば、.NETアプリケーションでPDFを生成するためのさまざまな方法を模索します。有名なライブラリであるiTextSharp(現在はiText 7)、PdfSharp、QuestPDFの使用、あるいは単純なタスクに対しては.NETの内蔵機能を活用することも含まれます。 一部の人々は、サードパーティのクラウドベースAPIやwkhtmltopdfのようなコマンドラインツールの統合を検討することもあります。
これらの多様なオプションが存在する中で、使いやすさ、包括的な機能、高度なレンダリング能力、そして堅牢なパフォーマンスを完璧にバランスさせるC# PDFライブラリを見つけることが、効率的な開発のための鍵となります。 これはまさにIronPDFがその違いを示すところであり、C#開発者のために特別に設計された強力でありながら非常に直感的なソリューションを提供します。 このチュートリアルでは、IronPDFを使用してC# .NETでPDFドキュメントを作成するシンプルなプロセスをガイドします。基本的なHTML文字列の変換から複雑なウェブページのレンダリングまでを網羅しています。 PDFファイルを効率的に作成したい場合は、ここが最適な場所です。
IronPDFはJava向けのフル機能を備えたPDFライブラリです。 これは、PDFドキュメントの作成、編集、処理、および他のファイルタイプ(HTML、PNG、RTFなど)のコンテンツから編集可能なPDFファイルを出力するのに効率的に動作する、利用可能なサードパーティライブラリの1つです。 IronPDFや類似のPDFライブラリについてさらに詳しくは、増え続けるサードパーティライブラリ比較記事のカタログをご覧ください。
C#でPDF生成を必要とするプロジェクトに着手する際、開発者はしばしば無料ライブラリと商用ライブラリの利点と欠点を比較検討します。 PDFSharpやQuestPDFのような無料のライブラリは、基本的なPDF作成や予算が限られた場合の優れた出発点となることがあります。 しかし、それらは、機能セットに関する制限、高度な機能の実装に伴う複雑さ(例えば、ピクセルパーフェクトなHTMLからPDFへのレンダリング)、または専用のプロフェッショナルサポートの即時利用可能性に関して制限を示すことがあります。
IronPDFなどの商用ライブラリは、プロダクション環境ではライセンスが必要ですが、通常、より効率的でスムーズな開発体験を提供します。 それらはしばしば、非常に正確なHTML、CSS、およびJavaScriptからPDFへのレンダリング、包括的な文書セキュリティオプション、そして強力なPDF操作ツールを含む、豊富な機能を誇ります。 さらに、通常は専門的なサポートと定期的な更新の保証が付いてきます。 IronPDFは開発者に優しいアプローチを支持しています。 これはプロフェッショナル向けに設計された商業ライブラリですが、開発とテストのための完全に無料のライセンスと、本番評価のための試用期間を提供しています。 これにより、PDFドキュメントを高度な機能で作成するプロジェクトに最適かどうかを判断する前に、その機能を十分に探索することができます。
Get started creating PDFs now!
IronPdf.ChromePdfRenderer
.StaticRenderHtmlAsPdf("<p>Hello Word</p>")
.SaveAs("pixelperfect.pdf");
RenderHtmlToPdf()
を使用します。SaveAs
を呼び出してPDFファイルをコンピュータに保存しますHTMLはマークアップ言語であるため、HTMLタグなしでHTMLの内容をPDFに変換するのは難しいことがあります。 IronPDFは、JavaScript、CSS、画像の使用などの追加機能に加えて、使いやすさのために、HTMLからC#でPDFを作成するといった機能を提供します。
この記事では、IronPDFによって提供されるC#でのHTMLからPDFへの変換について詳しく説明します。
コードに取り掛かる前に、なぜC#でPDFを作成する必要があるのかを考えてみましょう。
チケット、バウチャー、または証明書の生成: ユニークで動的に生成されたコンテンツを含む印刷可能なドキュメントを作成します。 IronPDFのHTMLをPDFに変換する機能は、このようなドキュメントのテンプレート化に最適です。
IronPDFは、これらの使用例およびその他に対して効果的なソリューションを提供します。
Visual Studioソフトウェアを開き、[ファイル]メニューに移動します。 新しいプロジェクトを選択し、次にコンソールアプリケーションを選択します。 この記事では、コンソールアプリケーションを使用してPDFドキュメントを生成します。
Visual Studioで新しいプロジェクトを作成する
プロジェクト名を入力し、適切なテキストボックスにパスを選択してください。 次に、「次へ」ボタンをクリックします。
このプロジェクトを構成する
必要な.NET Frameworkを選択し、次に以下に示すように[Create]ボタンをクリックしてください。
.NET Frameworkの選択
Visual Studioプロジェクトは、選択したアプリケーションの構造を生成します。コンソール、Windows、Webアプリケーションを選択した場合は、コードを入力してアプリケーションをビルド/実行するためのprogram.cs
ファイルが開きます。
次のステップは、ライブラリを追加し、プログラムをテストすることです。
Visual Studioソフトウェアは、ソリューションにパッケージを直接インストールするためのNuGetパッケージマネージャーオプションを提供します。 以下のスクリーンショットは、NuGetパッケージマネージャーの開き方を示しています。
先述の通り、IronPDFは開発とテストのための無料ライセンスを提供しています。
NuGet パッケージ マネージャーに移動
NuGetウェブサイトから利用可能なパッケージライブラリのリストを表示する検索ボックスを提供します。下のスクリーンショットのように、パッケージマネージャーでキーワード "IronPDF "を検索してください:
NuGet パッケージ マネージャーから IronPdf パッケージをインストールする
上記の画像から、関連するNuGetパッケージのリストからIronPDFオプションを選択し、ソリューションにパッケージをインストールします。
Visual Studio メニューで、ツール > NuGet パッケージ マネージャー > パッケージ マネージャー コンソールに移動します
パッケージマネージャーコンソールに移動する
パッケージマネージャーコンソールタブに次の行を入力してください:
Install-Package IronPdf
Install-Package IronPdf
RenderHtmlAsPdf()
を使用してHTMLからPDFを作成しますIronPDFがインストールされている場合、最も基本的なタスクの1つは、HTML文字列からC#でPDFを作成することです。 これは、アプリケーション内で直接動的なPDFコンテンツを生成するのに非常に便利です。 これには IronPDF の RenderHtmlAsPdf()
メソッドを使用できます。 このアプローチは、シンプルな通知、確認、または小さな動的に生成されたスニペットのようなもののために、迅速にPDFを作成する必要がある場合に最適です。
using IronPdf;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New ChromePdfRenderer()
Dim doc As PdfDocument = renderer.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")
このスニペットでは、まずChromePdfRenderer
をインスタンス化します。 次に、基本的なHTML文字列を使用してRenderHtmlAsPdf()
を呼び出します。 最後に、doc.SaveAs()
は生成されたPDFを 'FirstPDFDocument.pdf' に保存します。 このファイルには表示されたH1タグが含まれます。 C#プロジェクトの実行後、プロジェクトのbinフォルダに「FirstPDFDocument.pdf」という名前のファイルが作成されますので、このファイルをダブルクリックしてください。 IronPDF を使用すると、C# で PDF ファイルを作成したり、HTML を PDF に変換して PDF ファイルを作成するのは、ほんの数行のコードで済みます。
既存のウェブページから C# で PDF を作成することが目的であれば、IronPDF の RenderUrlAsPdf()
メソッドが必要です。 これは、ウェブコンテンツのアーカイブ、記事のPDF生成、またはライブサイトの状態をキャプチャするのに役立ちます。
using IronPdf;
using System;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
pdf.SaveAs("url.pdf");
using IronPdf;
using System;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
pdf.SaveAs("url.pdf");
Imports IronPdf
Imports System
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
pdf.SaveAs("url.pdf")
ここで、RenderUrlAsPdf()
はURL文字列を受け取り、コンテンツを取得し、レンダリングしてPdfDocument
を生成します。 using
ステートメントは、PdfDocument
が適切に破棄されることを保証します。 生成された「url.pdf」は、指定されたウェブページのPDFバージョンになります。 以下のコードの出力は次のとおりです。
URLからレンダリングされたPDFファイル出力
人気のある複雑なサイトをPDFに変換する他の例。
複雑なウェブサイトをレンダリングするもう一つの例
C# を使用して ASP.NET MVC アプリケーション (.NET Framework を使用) 内で PDF ドキュメントを作成するには、HTML ファイルまたは文字列をレンダリングし、それを FileResult
として返すことができます。 これは、サーバーサイドのロジックとデータに基づいてPDFを生成し、それをユーザーのブラウザに直接配信するのに役立ちます。
using IronPdf;
using System.Web;
using System.Web.Mvc; // Required for ActionResult and EmptyResult
public class PdfController : Controller
{
public ActionResult DownloadPdfFromHtmlFile()
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
string htmlFilePath = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html");
using var pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath);
var currentResponse = HttpContext.Current.Response;
currentResponse.Clear();
currentResponse.ContentType = "application/pdf";
currentResponse.AddHeader("Content-Disposition", "attachment;filename=\"FileName.pdf\"");
currentResponse.BinaryWrite(pdf.BinaryData);
currentResponse.Flush();
currentResponse.End();
return new EmptyResult();
}
}
using IronPdf;
using System.Web;
using System.Web.Mvc; // Required for ActionResult and EmptyResult
public class PdfController : Controller
{
public ActionResult DownloadPdfFromHtmlFile()
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
string htmlFilePath = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html");
using var pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath);
var currentResponse = HttpContext.Current.Response;
currentResponse.Clear();
currentResponse.ContentType = "application/pdf";
currentResponse.AddHeader("Content-Disposition", "attachment;filename=\"FileName.pdf\"");
currentResponse.BinaryWrite(pdf.BinaryData);
currentResponse.Flush();
currentResponse.End();
return new EmptyResult();
}
}
Imports IronPdf
Imports System.Web
Imports System.Web.Mvc ' Required for ActionResult and EmptyResult
Public Class PdfController
Inherits Controller
Public Function DownloadPdfFromHtmlFile() As ActionResult
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim htmlFilePath As String = HttpContext.Current.Server.MapPath("~/Project/MyHtmlDocument.html")
Dim pdf = renderer.RenderHtmlFileAsPdf(htmlFilePath)
Dim currentResponse = HttpContext.Current.Response
currentResponse.Clear()
currentResponse.ContentType = "application/pdf"
currentResponse.AddHeader("Content-Disposition", "attachment;filename=""FileName.pdf""")
currentResponse.BinaryWrite(pdf.BinaryData)
currentResponse.Flush()
currentResponse.End()
Return New EmptyResult()
End Function
End Class
このMVCコントローラーアクションでは、RenderHtmlFileAsPdf
が指定されたHTMLファイルを変換します。その後、Response
オブジェクトを使用して、PDFをクライアントにダウンロードとして送信します。 EmptyResult
は、応答が直接処理されるため返されます。
ASP.NET MVC アプリケーションにおいて、一般的なタスクは Razor ビューから C# で PDF を作成することです。 これにより、既存のビュー ロジックとモデルを使用して動的な HTML を生成し、それを IronPDF が PDF に変換します。 以下のヘルパーメソッドは、RazorビューをHTML文字列にレンダリングします。
using IronPdf;
using System.IO;
using System.Web.Mvc; // Required for ControllerContext, ViewEngines, etc.
public string RenderRazorViewToString(ControllerContext controllerContext, string viewName, object model)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
controllerContext.Controller.ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName);
var viewContext = new ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
using IronPdf;
using System.IO;
using System.Web.Mvc; // Required for ControllerContext, ViewEngines, etc.
public string RenderRazorViewToString(ControllerContext controllerContext, string viewName, object model)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
controllerContext.Controller.ViewData.Model = model;
using (var sw = new StringWriter())
{
var viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName);
var viewContext = new ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
Imports IronPdf
Imports System.IO
Imports System.Web.Mvc ' Required for ControllerContext, ViewEngines, etc.
Public Function RenderRazorViewToString(ByVal controllerContext As ControllerContext, ByVal viewName As String, ByVal model As Object) As String
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
controllerContext.Controller.ViewData.Model = model
Using sw = New StringWriter()
Dim viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName)
Dim viewContext As New ViewContext(controllerContext, viewResult.View, controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw)
viewResult.View.Render(viewContext, sw)
viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View)
Return sw.GetStringBuilder().ToString()
End Using
End Function
このメソッドは、ControllerContext
、ビュー名、およびモデルを受け取り、RazorビューをHTML文字列にレンダリングします。 この文字列は、IronPDF の RenderHtmlAsPdf()
メソッドに渡すことができ、Razor ビューがアセットに相対パスを使用している場合は BaseUri
を設定することを忘れないようにしてください。 MVC ビューをバイナリ PDF ファイルとしてレンダリングする方法を学ぶために、.NET MVC PDF Guide ドキュメントをお読みください。
XMLデータからC#でPDFを作成する必要がある場合、まずXSLT(拡張スタイルシート言語変換)を使用してXMLをHTMLに変換するのが堅実なアプローチです。 IronPDFはその結果のHTMLをPDFに変換できます。 これは、構造化されたXMLデータを人間が読みやすい形式で提示するのに役立ちます。
using IronPdf;
using System.Xml;
using System.Xml.Xsl;
using System.IO;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
string xsltContent = @"<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
<xsl:template match='/root'>
<html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
</xsl:template>
</xsl:stylesheet>";
string xmlContent = "<root><item>Hello</item><item>World</item></root>";
XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(xsltContent))) {
transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(xmlContent))) {
transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
using IronPdf;
using System.Xml;
using System.Xml.Xsl;
using System.IO;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
string xsltContent = @"<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
<xsl:template match='/root'>
<html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
</xsl:template>
</xsl:stylesheet>";
string xmlContent = "<root><item>Hello</item><item>World</item></root>";
XslCompiledTransform transform = new XslCompiledTransform();
using(XmlReader reader = XmlReader.Create(new StringReader(xsltContent))) {
transform.Load(reader);
}
StringWriter results = new StringWriter();
using(XmlReader reader = XmlReader.Create(new StringReader(xmlContent))) {
transform.Transform(reader, null, results);
}
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf");
Imports IronPdf
Imports System.Xml
Imports System.Xml.Xsl
Imports System.IO
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim xsltContent As String = "<xsl:stylesheet version='1.0' xmlns:xsl='[http://www.w3.org/1999/XSL/Transform](http://www.w3.org/1999/XSL/Transform)'>
<xsl:template match='/root'>
<html><body><h1>Items:</h1><ul><xsl:for-each select='item'><li><xsl:value-of select='.'/></li></xsl:for-each></ul></body></html>
</xsl:template>
</xsl:stylesheet>"
Dim xmlContent As String = "<root><item>Hello</item><item>World</item></root>"
Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(xsltContent))
transform.Load(reader)
End Using
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(xmlContent))
transform.Transform(reader, Nothing, results)
End Using
Dim Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderHtmlAsPdf(results.ToString()).SaveAs("Final.pdf")
このコードスニペットは、XSLTを定義してXMLをシンプルなHTMLリストに変換します。XslCompiledTransform
が変換を実行し、結果のHTML文字列がIronPDFによって「Final.pdf」にレンダリングされます。
C#でPDFレポートを作成する際、特にカスタムヘッダー、フッター、ページ番号付きのものについては、IronPDFが非常に効果的です。通常のワークフローとしては、レポートデータをHTMLドキュメントとして生成し、そのHTMLをIronPDFを使用して整えられたPDFに変換します。
using IronPdf;
using System.IO;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial";
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica";
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>");
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
using IronPdf;
using System.IO;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.ChromePdfRenderer Renderer = new IronPdf.ChromePdfRenderer();
Renderer.RenderingOptions.FirstPageNumber = 1;
Renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial";
Renderer.RenderingOptions.TextHeader.FontSize = 12;
Renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica";
Renderer.RenderingOptions.TextFooter.FontSize = 10;
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>");
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf");
Imports IronPdf
Imports System.IO
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim Renderer As New IronPdf.ChromePdfRenderer()
Renderer.RenderingOptions.FirstPageNumber = 1
Renderer.RenderingOptions.TextHeader.DrawDividerLine = True
Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
Renderer.RenderingOptions.TextHeader.FontFamily = "Arial"
Renderer.RenderingOptions.TextHeader.FontSize = 12
Renderer.RenderingOptions.TextFooter.DrawDividerLine = True
Renderer.RenderingOptions.TextFooter.FontFamily = "Helvetica"
Renderer.RenderingOptions.TextFooter.FontSize = 10
Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"
File.WriteAllText("Report.html", "<html><body><h1>Sample Report Content</h1><p>This is a test report.</p></body></html>")
Renderer.RenderHtmlFileAsPdf("Report.html").SaveAs("Report.pdf")
この例では、ヘッダー(ソースURLの表示)とフッター(日付、時刻、ページ番号付き)のさまざまなRenderingOptions
を設定します。 次に、これらの設定を使用して 'Report.html' という名前のHTMLファイルを 'Report.pdf' にレンダリングします。
CSharp で PDF を作成する例の出力
画像や外部CSSファイルを含むHTMLからC#でPDFドキュメントを作成する場合、IronPDFがこれらのアセットを検出できることが重要です。 これは、レンダリングメソッドにBaseUri
を提供することによって達成され、HTML 内の相対URLのルートパスをIronPDFに伝えます。
using IronPdf;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>",@"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");
using var advancedPDF = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html");
advancedPDF.SaveAs("Invoice.pdf");
using IronPdf;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>",@"C:\site\assets\");
pdf.SaveAs("html-with-assets.pdf");
using var advancedPDF = renderer.RenderHtmlFileAsPdf("C:\\Assets\\TestInvoice1.html");
advancedPDF.SaveAs("Invoice.pdf");
Imports IronPdf
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'><h1>Image Test</h1>","C:\site\assets\")
pdf.SaveAs("html-with-assets.pdf")
Dim advancedPDF = renderer.RenderHtmlFileAsPdf("C:\Assets\TestInvoice1.html")
advancedPDF.SaveAs("Invoice.pdf")
最初の部分は、画像付きのHTML文字列をレンダリングすることを示しています。 BaseUri
(C:\site\assets
)はicons/iron.png
を探す場所をIronPDFに伝えます。 第2部はHTMLファイルをレンダリングします。TestInvoice1.html
が資産に対して相対パスを使用している場合、それらは C:\Assets
に対して相対的に解決されます。
従来のASP.NET Web Formsアプリケーションに対して、IronPDFはC#で.aspx
ページから直接PDFを作成する方法を提供します。 これは IronPdf.Extensions.ASPX
NuGet パッケージを必要とし、.NET Framework プロジェクトに特化しています。
using System;
using System.Web.UI;
using IronPdf;
namespace aspxtopdf
{
public partial class SiteMaster : MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
}
}
using System;
using System.Web.UI;
using IronPdf;
namespace aspxtopdf
{
public partial class SiteMaster : MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
}
}
Imports System
Imports System.Web.UI
Imports IronPdf
Namespace aspxtopdf
Partial Public Class SiteMaster
Inherits MasterPage
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
End Class
End Namespace
このASP.NET MasterPage(または任意の.aspx
ページ)のPage_Load
イベント内で、AspxToPdf.RenderThisPageAsPdf()
が現在のページのレンダリング出力をPDFに変換します。 これは、ポストバックに関連する問題を避けるために、ボタンクリックイベントに配置する方が望ましいです。
CSharp で PDF を作成する例の出力
この例では、ライブURLをPDFに変換する方法を再検討します。これは、C#でウェブコンテンツのPDFアーカイブを作成したり、オンライン情報のスナップショットを共有したりする必要があるときに一般的な要件です。
using IronPdf;
using System;
using System.IO;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var uri = new Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/");
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
using IronPdf;
using System;
using System.IO;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var uri = new Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/");
var pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri);
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"));
Imports IronPdf
Imports System
Imports System.IO
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim uri As New Uri("https://www.c-sharpcorner.com/article/how-to-create-pdf-file-in-c-sharp-using-ironpdf/")
Dim pdf = ChromePdfRenderer.StaticRenderUrlAsPdf(uri)
pdf.SaveAs(Path.Combine(Directory.GetCurrentDirectory(), "UrlToPdf.Pdf"))
ここで、ChromePdfRenderer.StaticRenderUrlAsPdf()
は、指定されたUri
の内容を直接PdfDocument
に変換し、その後保存するための迅速な静的方法を提供します。 PDFファイルは、デバッグフォルダ内に作成されます。 こちらが出力です:
CSharp で PDF を作成する例の出力
クイックスタートガイドは、NuGet パッケージ マネージャーに不慣れな方のために、IronPDF を NuGet 経由でインストールする方法を説明しています。
この例は、ASP.NET Web Forms コンテキストでIronPDFを使用してPDFファイルを作成する方法をさらに示しています。具体的には、ボタンクリックに応じて現在のページをPDFとしてレンダリングします。 これは、ウェブフォームやレポートのダウンロード可能なPDFバージョンを生成するための一般的なシナリオです。
using System;
using System.Web.UI;
using IronPdf;
namespace aspxtopdf
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
}
}
using System;
using System.Web.UI;
using IronPdf;
namespace aspxtopdf
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
}
}
Imports System
Imports System.Web.UI
Imports IronPdf
Namespace aspxtopdf
Partial Public Class _Default
Inherits Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
End Class
End Namespace
Button1
がクリックされると、AspxToPdf.RenderThisPageAsPdf()
は現在のASP.NETページのレンダリングされた出力をキャプチャし、それをPDFとしてブラウザにストリームします。 これは、IronPdf.Extensions.ASPX
NuGet パッケージを必要とします。
CSharp で PDF を作成する例の出力
これにはIronPdf.Extensions.ASPX
をNuGet公式ページからインストールする必要があります。 .NET Coreでは利用できません。ASPXはMVCモデルによって置き換えられています。
HTML文字列からPDFを作成するためのもう一つの簡単な例です。 これは、HTMLコンテンツが最小限であるか、即座に生成される非常に簡単なPDF生成のニーズに役立ちます。
using IronPdf;
private void HTMLString()
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
var outputPath = "ChromePdfRenderer.pdf";
pdf.SaveAs(outputPath);
}
using IronPdf;
private void HTMLString()
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new IronPdf.ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>");
var outputPath = "ChromePdfRenderer.pdf";
pdf.SaveAs(outputPath);
}
Imports IronPdf
Private Sub HTMLString()
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New IronPdf.ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello IronPDF</h1>")
Dim outputPath = "ChromePdfRenderer.pdf"
pdf.SaveAs(outputPath)
End Sub
このプライベートメソッドは、単純なH1タグからPDFを作成して保存する方法を示しています。
以下のコードは、Page_Load
イベント内でASPXページから直接PDFを作成する方法を示しています。 可能性はあるものの、このアプローチはページのライフサイクルイベントやポストバックに関する潜在的な問題があるため、慎重に使用する必要があります。 しばしば、特定のユーザーアクション(例えば、ボタンクリック)によってPDF生成をトリガーする方が、より信頼性が高いです。
using System;
using System.Web.UI;
using IronPdf;
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
using System;
using System.Web.UI;
using IronPdf;
protected void Page_Load(object sender, EventArgs e)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
IronPdf.AspxToPdf.RenderThisPageAsPdf();
}
Imports System
Imports System.Web.UI
Imports IronPdf
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
IronPdf.AspxToPdf.RenderThisPageAsPdf()
End Sub
IronPDFはChromiumレンダリングエンジンを介してJavaScriptをうまくサポートしています。ただし、1つの条件として、JavaScriptが実行される時間を確保するために、PDFを生成する際にページのレンダリングに遅延を追加する必要があるかもしれません。
IronPDFは、Windows Forms(WinForms)デスクトップアプリケーションでPDFを作成するために簡単に統合できます。 この例では、TextBox
からユーザー入力を取得し、Button
がクリックされたときにPDFを生成する方法を示します。
using IronPdf;
using System.Windows.Forms;
using System;
using System.ComponentModel;
using System.Drawing;
namespace ReadPdf
{
public partial class Form1 : Form
{
private TextBox textBox1;
private Button button1;
private IContainer components = null;
public Form1()
{
InitializeComponent();
}
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
this.textBox1.Location = new System.Drawing.Point(12, 12);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(260, 20);
this.textBox1.TabIndex = 0;
this.button1.Location = new System.Drawing.Point(12, 38);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Create PDF";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 73);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Name = "Form1";
this.Text = "PDF Creator";
this.ResumeLayout(false);
this.PerformLayout();
}
private void button1_Click(object sender, EventArgs e)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
string text = textBox1.Text;
renderer.RenderHtmlAsPdf("<h1>"+ System.Net.WebUtility.HtmlEncode(text) +"</h1>").SaveAs("custom.pdf");
MessageBox.Show("Done !");
}
}
}
using IronPdf;
using System.Windows.Forms;
using System;
using System.ComponentModel;
using System.Drawing;
namespace ReadPdf
{
public partial class Form1 : Form
{
private TextBox textBox1;
private Button button1;
private IContainer components = null;
public Form1()
{
InitializeComponent();
}
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
this.textBox1.Location = new System.Drawing.Point(12, 12);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(260, 20);
this.textBox1.TabIndex = 0;
this.button1.Location = new System.Drawing.Point(12, 38);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(100, 23);
this.button1.TabIndex = 1;
this.button1.Text = "Create PDF";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 73);
this.Controls.Add(this.button1);
this.Controls.Add(this.textBox1);
this.Name = "Form1";
this.Text = "PDF Creator";
this.ResumeLayout(false);
this.PerformLayout();
}
private void button1_Click(object sender, EventArgs e)
{
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
string text = textBox1.Text;
renderer.RenderHtmlAsPdf("<h1>"+ System.Net.WebUtility.HtmlEncode(text) +"</h1>").SaveAs("custom.pdf");
MessageBox.Show("Done !");
}
}
}
Imports IronPdf
Imports System.Windows.Forms
Imports System
Imports System.ComponentModel
Imports System.Drawing
Namespace ReadPdf
Partial Public Class Form1
Inherits Form
Private textBox1 As TextBox
Private WithEvents button1 As Button
Private components As IContainer = Nothing
Public Sub New()
InitializeComponent()
End Sub
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing AndAlso (components IsNot Nothing) Then
components.Dispose()
End If
MyBase.Dispose(disposing)
End Sub
Private Sub InitializeComponent()
Me.textBox1 = New System.Windows.Forms.TextBox()
Me.button1 = New System.Windows.Forms.Button()
Me.SuspendLayout()
Me.textBox1.Location = New System.Drawing.Point(12, 12)
Me.textBox1.Name = "textBox1"
Me.textBox1.Size = New System.Drawing.Size(260, 20)
Me.textBox1.TabIndex = 0
Me.button1.Location = New System.Drawing.Point(12, 38)
Me.button1.Name = "button1"
Me.button1.Size = New System.Drawing.Size(100, 23)
Me.button1.TabIndex = 1
Me.button1.Text = "Create PDF"
Me.button1.UseVisualStyleBackColor = True
'INSTANT VB NOTE: The following InitializeComponent event wireup was converted to a 'Handles' clause:
'ORIGINAL LINE: this.button1.Click += new System.EventHandler(this.button1_Click);
Me.AutoScaleDimensions = New System.Drawing.SizeF(6F, 13F)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(284, 73)
Me.Controls.Add(Me.button1)
Me.Controls.Add(Me.textBox1)
Me.Name = "Form1"
Me.Text = "PDF Creator"
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles button1.Click
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New ChromePdfRenderer()
'INSTANT VB NOTE: The variable text was renamed since Visual Basic does not handle local variables named the same as class members well:
Dim text_Conflict As String = textBox1.Text
renderer.RenderHtmlAsPdf("<h1>" & System.Net.WebUtility.HtmlEncode(text_Conflict) &"</h1>").SaveAs("custom.pdf")
MessageBox.Show("Done !")
End Sub
End Class
End Namespace
このWinFormsコードは、TextBox
とButton
を持つシンプルなUIを初期化します。 ボタンをクリックすると、textBox1
からテキストを取得し、それをH1 HTMLタグで囲み(セキュリティのためにユーザー入力をHTMLエンコードすることを確認)、'custom.pdf' にレンダリングします。
IronPDF の Chrome PDF レンダリングエンジンは、元の HTML ソースから PDF ドキュメントの「Chrome Identical」PDF レンダリングを保証します。
以下は、Chrome PDFレンダリング機能のいくつかの特徴です:
.NET 6、5、Core、およびFramework 4.0+の継続的なメンテナンスとサポートの強化。
Chromeレンダリングエンジンのマルチスレッドと非同期サポート機能を探る。
例を示します:
using IronPdf;
using IronPdf.Rendering;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
using var doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>");
doc.SaveAs("google_chrome.pdf");
using IronPdf;
using IronPdf.Rendering;
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01";
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
using var doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>");
doc.SaveAs("google_chrome.pdf");
Imports IronPdf
Imports IronPdf.Rendering
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
Dim doc = renderer.RenderHtmlAsPdf("<h1>Hello world! This is sample for IronPdf</h1>")
doc.SaveAs("google_chrome.pdf")
他のPDFライブラリが利用可能である一方で、IronPDFは効率的で高品質なPDF生成に焦点を当てた開発者向けにいくつかの魅力的な利点を提供します:
多くの開発者は、IronPDFが簡単なRenderHtmlAsPdf
メソッドとHTML標準を強力にサポートしているため、最も簡単な方法の1つだと考えています。 わずか数行のコードで、HTML文字列またはURLからPDFファイルを作成できます。
IronPDFは、開発およびテスト用の無料ライセンスを提供しています。 本番環境に配備するには商用ライセンスが必要です。 彼らはすべての機能を評価するための試用期間を提供しています。
A: はい、IronPDFは最新のChromiumエンジンを使用しており、HTML5、CSS3、JavaScript、レスポンシブレイアウト、および他のWeb技術に対する優れたサポートを提供し、PDFファイルを作成する際に正確なレンダリングを実現します。
A: はい、IronPDFはパフォーマンスを考慮して設計されており、かなりのサイズのPDFドキュメントを効率的に作成できます。そのレンダリングエンジンと非同期操作のオプションにより、要求の厳しいアプリケーションに適しています。
お読みいただきありがとうございます! この包括的なチュートリアルでは、IronPDF を使用して .NET で PDF ドキュメントを作成するためのいくつかの強力な方法を紹介しました。 HTMLをPDFに変換する必要がある場合でも、URLをレンダリングする必要がある場合でも、複雑なレポートを生成する必要がある場合でも、IronPDFは直感的で強力なソリューションを提供します。 JavaScript、CSS、画像のサポートといった高度な機能と使いやすさが相まって、高品質なPDFドキュメントを効率的に作成しようとする開発者にとって理想的な選択肢となっています。
PDF生成を簡素化し、ドキュメントワークフローを制御する準備はできましたか?
ご質問はありますか? 専門サポートチームに連絡するか、コミュニティリソースを確認してください。
完全なIron Suiteを購入すると、10のIron Software .NET製品すべてを驚くべき割引価格(Liteライセンス2つの価格)で入手できます。