ライブ環境でテストする
ウォーターマークなしで本番環境でテストしてください。
必要な場所でいつでも動作します。
CSHTMLをPDFに変換することは、多くのアプリケーションにおいて一般的な要件です。 このタスクは、C#のIronPDFライブラリを使用して簡単に達成できます。
IronPDFは、開発者がPDFドキュメントをプログラムによって作成、読み取り、編集、および変換することを可能にする人気のある.NETライブラリです。 この記事では、C#でIronPDFを使用してCSHTMLをPDFに変換する手順を例とともにご紹介します。
始める前に、このチュートリアルに必要な重要な概念について説明しましょう。
PDFコンバーターは、印刷可能なドキュメントやウェブページをPDFドキュメントに変換するツールです。 HTML、Word、Excel、その他の印刷可能なドキュメントからPDFファイルを生成するために使用できます。 PDFコンバータには、オンラインツール、デスクトップソフトウェア、ライブラリなどさまざまな形態があります。
Razorビューは、HTMLページを動的に生成するためにASP.NET Coreで使用されるビューエンジンです。 それは、HTMLマークアップとC#コードを組み合わせたマークアップ構文です。
Razor View(レイザービュー)
Razorビューは、プレゼンテーションロジックをビジネスロジックから分離することにより、開発者が動的なウェブページを簡単に作成できるようにします。
コントローラークラスは、ASP.NET Coreアプリケーションで着信するHTTPリクエストを処理するC#クラスです。 それには特定のHTTP動詞に対応するメソッドが含まれています(例:GET、POST、PUT、DELETE)HTTP応答を返します。
NuGetパッケージマネージャーは、.NETプロジェクトでパッケージを管理するためにVisual Studioで使用されるツールです。 開発者がプロジェクトにパッケージをインストール、更新、アンインストールするのを簡単にします。 NuGetパッケージは再利用可能なコードを含み、NuGetパッケージマネージャーを通じて配布されるライブラリです。
依存性の注入(Dependency Injection)は、開発者が依存関係をクラスに注入することによって、アプリケーションのコンポーネントを分離することを可能にする設計パターンです。 依存関係を減らし、コードをよりモジュール化することで、アプリケーションのテストと保守が容易になります。
重要な概念を説明したので、IronPDFを使用してCSHTMLをPDFに変換するプロセスに入りましょう。
CSHTMLはC# Razor文法のHTMLを意味します。 それはHTMLマークアップとC#コードの両方を含むファイルの一種です。 これらのファイルは、webページのユーザーインターフェースを定義するために、ASP.NET Core MVCアプリケーションで使用されます。 RazorビュエンジンはCSHTMLファイルを解釈し、WebブラウザによってレンダリングされるHTML出力を生成するために使用されます。
CSHTML5(C# to HTML5コンパイラ)
IronPDFは、開発者がC#でPDFドキュメントを作成、読み取り、編集、および変換することを可能にする強力な.NETライブラリです。 これは、.NETアプリケーションでプログラムによってPDFドキュメントを生成するための人気のあるツールです。 IronPDFは、PDF生成、PDF操作、PDF変換、およびPDFレンダリングを含む幅広い機能をサポートしています。
IronPDF for .NET(IronPDF for .NET)
IronPDFでCSHTMLをPDFに変換するのは簡単なプロセスです。 ライブラリはHTMLファイルをPDFドキュメントに変換するための便利なAPIを提供します。 以下は、CSHTMLをPDFに変換するためにIronPDFをC#で使用する手順です。
最初のステップは、インストールすることですNuGetパッケージマネージャからのIronPdfC#プロジェクトにて。 IronPDFをインストールするには、IronPDF.dllファイルをダウンロードし、プロジェクトリファレンスに追加してください。 NuGet パッケージマネージャーを使用して IronPDF をインストールするには、パッケージマネージャーコンソールを開き、次のコマンドを実行します。
Install-Package IronPdf
次に、PDFに変換したい内容を含むCSHTMLファイルを作成します。 以下の例では、シンプルなCSHTMLチュートリアル"text "Hello, World" を表示するファイル!申し訳ありませんが、翻訳するための具体的なテキストが提供されていません。翻訳するコンテンツを提供していただければ、日本語に翻訳いたします。
@{
Layout = null;
}
Hello
Hello, World!
@{
Layout = null;
}
Hello
Hello, World!
@
If True Then
Layout = Nothing
End If
'INSTANT VB TODO TASK: The following line uses invalid syntax:
' Hello Hello, World!
このファイルをプロジェクトディレクトリに「Hello.cshtml」として保存してください。
C#でのPDFファイル
変換するにはCSHTML から PDF へファイルをPDFに変換するためには、C#でIronPDFライブラリを使用します。 以下は「Hello.cshtml」をPDFに変換するためのコードです:
using System.IO;
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace CSHTMLtoPDF.Controllers
{
public class HomeController : Controller
{
private readonly IRazorViewRenderer _viewRenderService;
public HomeController(IRazorViewRenderer viewRenderService)
{
_viewRenderService = viewRenderService;
}
public IActionResult Index()
{
var items = new [] { "Item 1", "Item 2", "Item 3" };
return View(items);
}
public IActionResult DownloadPDF()
{
var items = new [] { "Item 1", "Item 2", "Item 3" };
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Index.cshtml", items);
var contentDisposition = new Syste.NET.Mime.ContentDisposition
{
FileName = "Items.pdf",
Inline = false,
};
Response.Headers.Add("Content-Disposition", contentDisposition.ToString());
return File(pdf.BinaryData, "application/pdf");
}
}
}
using System.IO;
using IronPdf;
using Microsoft.AspNetCore.Mvc;
namespace CSHTMLtoPDF.Controllers
{
public class HomeController : Controller
{
private readonly IRazorViewRenderer _viewRenderService;
public HomeController(IRazorViewRenderer viewRenderService)
{
_viewRenderService = viewRenderService;
}
public IActionResult Index()
{
var items = new [] { "Item 1", "Item 2", "Item 3" };
return View(items);
}
public IActionResult DownloadPDF()
{
var items = new [] { "Item 1", "Item 2", "Item 3" };
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Index.cshtml", items);
var contentDisposition = new Syste.NET.Mime.ContentDisposition
{
FileName = "Items.pdf",
Inline = false,
};
Response.Headers.Add("Content-Disposition", contentDisposition.ToString());
return File(pdf.BinaryData, "application/pdf");
}
}
}
Imports System.IO
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Namespace CSHTMLtoPDF.Controllers
Public Class HomeController
Inherits Controller
Private ReadOnly _viewRenderService As IRazorViewRenderer
Public Sub New(ByVal viewRenderService As IRazorViewRenderer)
_viewRenderService = viewRenderService
End Sub
Public Function Index() As IActionResult
Dim items = { "Item 1", "Item 2", "Item 3" }
Return View(items)
End Function
Public Function DownloadPDF() As IActionResult
Dim items = { "Item 1", "Item 2", "Item 3" }
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderRazorViewToPdf(_viewRenderService, "Views/Home/Index.cshtml", items)
Dim contentDisposition = New Syste.NET.Mime.ContentDisposition With {
.FileName = "Items.pdf",
.Inline = False
}
Response.Headers.Add("Content-Disposition", contentDisposition.ToString())
Return File(pdf.BinaryData, "application/pdf")
End Function
End Class
End Namespace
このコードをステップバイステップで見ていきましょう:
Index
メソッドを定義します。このメソッドは、Razorビューにアイテムのリストを単純に返します。DownloadPDF
メソッドを定義しており、これはPDFドキュメントの生成を担当します。ChromePdfRenderer
.RenderRazorViewToPdf
拡張メソッドを使用します。Content-Disposition
ヘッダーを設定します。最後に、Fileメソッドを使用してPDFドキュメントをファイルとして返します。
これは、C#でIronPDFを使用してCSHTMLをPDFに変換するための基本的なコードです。 しかし、PDF出力をカスタマイズするための多くのオプションや設定があります。 いくつかのこれらのオプションを見てみましょう。
IronPDFは、PDFファイルの出力をカスタマイズするための多くのオプションを提供します。 次のようなオプションを設定できます: ページサイズ, 余白, オリエンテーション, ヘッダーとフッターなど。 PDF出力をカスタマイズする方法の例は次のとおりです:
using IronPdf;
namespace ConsoleApp
{
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 20, //millimeters
HtmlFragment = "<img src='logo.png'>",
BaseUrl = new Uri(@"C:\assets\images\").AbsoluteUri
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdf = renderer.RenderHtmlAsPdf("\r\n\r\n\r\n \r\n Hello\r\n\r\n\r\n Hello, World!\r\n\r\n");
pdf.SaveAs("Hello.PDF");
}
}
}
using IronPdf;
namespace ConsoleApp
{
class Program
{
static void Main(string [] args)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
MaxHeight = 20, //millimeters
HtmlFragment = "<img src='logo.png'>",
BaseUrl = new Uri(@"C:\assets\images\").AbsoluteUri
};
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
MaxHeight = 15, //millimeters
HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
DrawDividerLine = true
};
var pdf = renderer.RenderHtmlAsPdf("\r\n\r\n\r\n \r\n Hello\r\n\r\n\r\n Hello, World!\r\n\r\n");
pdf.SaveAs("Hello.PDF");
}
}
}
Imports Microsoft.VisualBasic
Imports IronPdf
Namespace ConsoleApp
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.MarginTop = 10
renderer.RenderingOptions.MarginBottom = 10
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
.MaxHeight = 20,
.HtmlFragment = "<img src='logo.png'>",
.BaseUrl = (New Uri("C:\assets\images\")).AbsoluteUri
}
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
.MaxHeight = 15,
.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
.DrawDividerLine = True
}
Dim pdf = renderer.RenderHtmlAsPdf(vbCrLf & vbCrLf & vbCrLf & " " & vbCrLf & " Hello" & vbCrLf & vbCrLf & vbCrLf & " Hello, World!" & vbCrLf & vbCrLf)
pdf.SaveAs("Hello.PDF")
End Sub
End Class
End Namespace
この例では、最初に ChromePdfRenderer
クラスのインスタンスを作成します。 次に、ChromePdfRenderer
クラスのRenderingOptions
プロパティを使用して、さまざまなオプションを設定します。 以下は、設定したいくつかのオプションです:
PaperSize
: PDFドキュメントの用紙サイズをA4に設定します。MarginTop
, MarginBottom
, MarginLeft
, MarginRight
: PDFドキュメントの余白を上下10 mm、左右20 mmに設定します。HtmlHeader
: PDF ドキュメントのヘッダーを設定し、ドキュメントのタイトルと区切り線を表示します。HtmlFooter
: PDFドキュメントのフッターを設定して、ページ番号、総ページ数、現在の日付を表示します。
オプションを設定した後、を呼び出しますRenderHtmlAsPdf
以前と同じHTMLコンテンツを使用したメソッド。 最後に、PDFドキュメントを「Hello.PDF」という名前のファイルに保存します。
すべての必要なコードが揃ったので、アプリケーションをテストすることができます。 以下の手順に従ってください:
http://localhost:/Home/Index
に移動しますが、ポート番号はVisual Studioによって割り当てられたものです。「PDFをダウンロード」リンクをクリックして、PDFドキュメントを生成およびダウンロードしてください。
すべてが正しく機能している場合、先に定義した項目のリストが含まれるPDFドキュメントが表示されるはずです。
PDFからCSHTMLへ
PDFをCSHTMLファイルに変換する方法を示すために、新しいコンソールアプリケーションをVisual Studioで作成し、IronPDFを使用してサンプルのPDFドキュメントをCSHTMLファイルに変換します。以下の手順に従ってください:
Visual Studio を開き、メニューから「ファイル > 新規作成 > プロジェクト」を選択して、〔コンソール アプリ〕を選択し、新しいコンソール アプリケーションを作成します。(.NETフレームワーク)" または "コンソールアプリ(.NET Core(ドットネット コア))"プロジェクトテンプレートのリストから。
次にIronPDF NuGetパッケージコンソールアプリケーションで これを行うには、ソリューションエクスプローラーでプロジェクトを右クリックし、コンテキストメニューから「NuGet パッケージの管理」を選択します。
NuGet パッケージ マネージャーで「IronPDF」を検索し、検索結果から「IronPDF」パッケージを選択してください。 「インストール」ボタンをクリックして、パッケージとその依存関係をインストールしてください。
この例では、変換したいサンプルPDFファイルを使用してCSHTMLファイルに変換します。この手順では、お好きなPDFファイルを使用できます。
プロジェクトにPDFファイルを追加するには、ソリューションエクスプローラーでプロジェクトを右クリックし、コンテキストメニューから「追加 > 既存の項目」を選択します。
変換されたHTML文字列を保存するために、空のCSHTMLファイルも作成する必要があります。 これを行うには、Solution Explorerでプロジェクトを右クリックし、コンテキストメニューから「追加 > 新しい項目」を選択します。 テンプレートのリストから「HTMLページ」を選択し、ファイルに名前を付けてください。(例えば「converted.cshtml」)そして「追加」をクリックします。
必要なファイルが揃ったら、IronPDFを使用してPDFをCSHTMLファイルに変換するコードを書き始めることができます。 以下のコードをコンソールアプリケーションのMainメソッドに追加してください:
using IronPdf;
namespace PdfToHtml
{
class Program
{
static void Main(string [] args)
{
// Load the PDF file
PdfDocument pdf = PdfDocument.FromFile("sample.PDF");
// Convert the PDF to an HTML string
string html = pdf.ToHtml();
// Save the HTML string to the CSHTML file
}
}
}
using IronPdf;
namespace PdfToHtml
{
class Program
{
static void Main(string [] args)
{
// Load the PDF file
PdfDocument pdf = PdfDocument.FromFile("sample.PDF");
// Convert the PDF to an HTML string
string html = pdf.ToHtml();
// Save the HTML string to the CSHTML file
}
}
}
Imports IronPdf
Namespace PdfToHtml
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Load the PDF file
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.PDF")
' Convert the PDF to an HTML string
Dim html As String = pdf.ToHtml()
' Save the HTML string to the CSHTML file
End Sub
End Class
End Namespace
IronPDFが.NET開発者の間で人気の理由はいくつかあります。
強力なPDF生成機能: IronPDFは、PDFドキュメントをプログラム上で作成および操作するための幅広い機能とオプションを提供します。PDFページにテキスト、画像、その他のコンテンツを追加する機能や、既存のPDFドキュメントを結合および分割する機能を含みます。
多用途のPDF変換機能: IronPDFは、開発者がPDFドキュメントを生成することを可能にするだけでなく、PDFをHTML文字列またはCSHTMLファイルに変換する機能も提供します。 これは、WebアプリケーションでPDFコンテンツを表示したり、PDFドキュメントからデータを抽出してウェブベースのワークフローで使用したりする必要がある場合に役立ちます。
使いやすい API: IronPDFのAPIは直感的で使いやすいように設計されており、幅広いヘルパーメソッドとプロパティを備えているため、開発者がプログラムでPDFドキュメントを生成および操作することが簡単です。
強力なコミュニティサポート:IronPDFには、多くのアクティブな.NET開発者コミュニティがあり、ライブラリの開発に貢献し、他の開発者にサポートを提供しています。
優れたドキュメント: IronPDFのドキュメントは充実しており、体系的に整理されています。詳細なAPIリファレンスドキュメント、チュートリアル、およびサンプルが含まれており、開発者がライブラリの使用を開始し、学習するのを容易にしています。
IronPDFの強力なPDF生成および変換機能、使いやすいAPI、強力なコミュニティサポート、優れたドキュメントが組み合わさることにより、PDFドキュメントをアプリケーション内で使用する必要がある.NET開発者の間で人気の選択肢となっています。
CSHTMLをPDFに変換することは、多くのアプリケーションにおいて一般的な要件です。 IronPDFを使用すると、このタスクはC#で簡単に達成できます。 この記事では、IronPDFを使用してCSHTMLをPDFに変換する手順を、例と共に説明しました。
また、用紙サイズ、余白、ヘッダーとフッターなどの設定によりPDF出力をカスタマイズする方法も紹介しました。 IronPDFを使用すると、CSHTMLファイルから高品質のPDFドキュメントを迅速かつ簡単に作成できます。
PDFドキュメントをゼロから作成する必要がある場合、PDFをHTML文字列またはCSHTMLファイルに変換する場合、またはPDFドキュメントからデータを抽出する場合、IronPDFは柔軟で直感的なAPIを提供しており、作業を簡単に行うことができます。
強力なコミュニティサポートと豊富なドキュメンテーションを持つIronPDFは、アプリケーションでPDFを扱う必要がある.NET開発者の間で人気の選択肢です。 また、Iron Softwareパッケージを購入することで、開発者は、一般的なファイル形式で作業するための.NETライブラリの包括的なセットを割引価格で利用できるため、あらゆる.NET開発チームにとって非常にお得です。
.NET アプリケーションでPDF文書を操作する必要がある場合、IronPDFは検討する価値があります。 強力な機能、使いやすさ、そしてさまざまなライセンスオプションを備えており、迅速かつ効率的に作業を完了するための多用途で信頼性の高いツールです。
9つの .NET API製品 オフィス文書用