IRONPDFの使用

ASP.NETでC#とIronPDFを使用してPDFファイルを表示する方法

更新済み 2024年1月20日
共有:

ほとんどの人は専用のデスクトップアプリケーションを使ってコンピューター上でPDFを開きますが、ソフトウェアエンジニアはIronPDFを使ってC#プログラムでPDFコンテンツを作成、表示、開く、読む、編集することができます。

IronPDFは、ASP.NETおよびC#でPDFファイルを読み取る際に非常に便利なプラグインであることが判明しました。

ダウンロードできますASP.NET PDFデモンストレーションプロジェクト.

C#を使用して、IronPDFでPDFドキュメントを迅速かつ簡単に作成することが可能です。

PDFドキュメントのデザインおよびレイアウトの多くは、既存のHTML資産を使用するか、ウェブデザインの従業員に作業を委任することで達成できます。 アプリケーションにPDF生成を統合するという時間のかかる作業を処理し、準備されたドキュメントをPDFに自動変換します。 .NETを使用すると、以下のことができます:

  • ウェブフォーム、ローカルHTMLページ、その他のウェブサイトをPDF形式に変換します。
  • ユーザーがドキュメントをダウンロードしたり、メールで他の人と共有したり、クラウドに保存したりできるようにします。
  • 顧客に請求書を発行し、見積もりを提供する。 レポートを準備する 契約やその他の書類を交渉する。
  • ASP.NET、ASP.NET Core、Web Forms、MVC、Web APIs、.NET Frameworkおよび.NET Coreの他のプログラミング言語と連携します。

IronPDFライブラリの設定

ライブラリをインストールする方法は2つあります。

NuGet パッケージ マネージャーを使用したインストール

IronPDFは、Visual StudioアドインまたはコマンドラインのNuGetパッケージマネージャーを介してインストールすることができます。コンソールに移動し、Visual Studioで次のコードを入力してください:

Install-Package IronPdf

ウェブサイトからDLLファイルを直接ダウンロードする

あるいは、ウェブサイトから直接DLLを取得することもできます。

次に続く cs クラスファイルで IronPDF を使用する際には、以下のコメントを必ず含めてください:

チェックアウトIronPDF 詳細機能概要.

IronPDFは必須のプラグインです。 今すぐ手に入れてIronPDF NuGetパッケージで試す.

.NET C#でHTML文字列からPDFファイルを作成する

C#でHTML文字列からPDFファイルを作成することは、C#で新しいPDFファイルを作成するための効率的で有益な方法です。

についてRenderHtmlAsPdf関数からChromePdfRendererは、任意のHTMLを簡単に変換する方法を提供します。(HTML5)組み込まれたGoogle Chromiumエンジンのバージョンを搭載したIronPDF DLLのおかげで、文字列をPDFドキュメントに変換できます。

//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");

var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render HTML to pdf
var renderer = new ChromePdfRenderer();
using var rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>");

var Output_Path = "My_First_Html.pdf";
PDF.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render HTML to pdf
Dim renderer = New ChromePdfRenderer()
Dim rendered_pdf = renderer.RenderHtmAsPdf("<h1>My First HTML to Pdf</h1>")

Dim Output_Path = "My_First_Html.pdf"
PDF.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
VB   C#

「RenderHtmlAsPdf」は、CSS、JavaScript、および画像を完全にサポートする強力なツールです。 これらの素材がハードディスクに保存されている場合、RenderHtmlAsPdf の第2引数を設定する必要があるかもしれません。

以下のコードはPDFファイルを生成します:

var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
var Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", @"C:\Newproject");
Dim Render_pdf = renderer.RenderHtmlAsPdf("<img src='image_1.png'/>", "C:\Newproject")
VB   C#

すべてのCSSスタイルシート、画像、およびJavaScriptファイルはBaseUrlPathに対して相対的に参照され、より整理されて論理的な構造を維持することができます。 もちろん、インターネット上で利用可能な画像、スタイルシート、アセット(Webフォント、Googleフォント、さらにjQueryなど)を使用することもできます。

PDFドキュメントを作成する。

既存のHTML URLの利用

既存のURLをC#で非常に効率的かつ簡単な方法でPDFにレンダリングできます。 これにより、チームがPDFデザインとバックエンドのPDFレンダリング作業をさまざまなセクションに分けることができるため、有益です。

以下のコードは、URLからendeavorcreative.comページをレンダリングする方法を示しています:

//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");

var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render url to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/");

var Output_Path = "Url_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render url to pdf
Dim renderer = New ChromePdfRenderer()
Dim Rendered_pdf = renderer.RenderUrlAsPdf("https://endeavorcreative.com/setting-up-wordpress-website-from-scratch/")

Dim Output_Path = "Url_pdf.pdf"
Rendered_pdf.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
VB   C#

その結果、すべてのハイパーリンク(HTMLリンク)生成されたPDFには、HTMLフォームも保持されます。

既存のHTMLドキュメントからPDFドキュメントを作成

このセクションでは、任意のローカルHTMLファイルをレンダリングする方法を示します。CSS、画像、JavaScriptなどのすべての相対的なアセットに対して、ファイルがfile:/プロトコルを使用して開かれたように表示されます。

//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");

var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
//Render existing html to pdf
var renderer = new ChromePdfRenderer();
using var Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html");

var Output_Path = "test1_pdf.pdf";
Rendered_pdf.SaveAs(Output_Path);
System.Diagnostics.Process.Start(Output_Path);
'Render existing html to pdf
Dim renderer = New ChromePdfRenderer()
Dim Rendered_pdf = renderer.RenderHtmlFileAsPdf("Assets/test1.html")

Dim Output_Path = "test1_pdf.pdf"
Rendered_pdf.SaveAs(Output_Path)
System.Diagnostics.Process.Start(Output_Path)
VB   C#

この戦略の利点は、開発者がHTMLコンテンツを作成中にブラウザでテストできることです。 IronPDFのレンダリングエンジンは、Chromeウェブブラウザ上に構築されています。 そのためXMLからPDFへの変換XMLコンテンツをPDFに印刷するには、XSLTテンプレートを使用します。

ASP.NET Web Forms をPDFファイルに変換

1行のコードで、ASP.NETのオンラインフォームをHTMLではなくPDF形式に変換することができます。 ページのコードビハインドファイルの Page_Load メソッドにこのコード行を配置すると、ページに表示されます。

ASP.NET Web Formsアプリケーションは、新規に作成することも、以前のバージョンから開くこともできます。

NuGetパッケージがまだインストールされていない場合は、インストールしてください。

using キーワードを使用して IronPDF 名前空間をインポートする必要があります。

PDFに変換したいページのコードビハインドに移動します。 例えば、ASP.NET を使用しているファイル Default.aspx.cs

RenderThisPageAsPdfAspxToPdfクラスのメソッドです。

using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication7
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {            
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
using IronPdf;
using System;
using System.Web.UI;

namespace WebApplication7
{
    public partial class _Default : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {            
            AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
        }
    }
}
Imports IronPdf
Imports System
Imports System.Web.UI

Namespace WebApplication7
	Partial Public Class _Default
		Inherits Page

		Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
			AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
		End Sub
	End Class
End Namespace
VB   C#

そのためにはIronPdf.Extensions.ASPX NuGetパッケージインストールする必要があります。 .NET Coreでは利用できません。ASPXはMVCモデルによって置き換えられています。

HTMLテンプレートを適用

イントラネットおよびウェブサイトの開発者にとって、テンプレート化や「一括生成」でPDFを作成する能力は標準的な必要条件です。

PDFドキュメントのテンプレートを作成する代わりに、IronPDFライブラリは、既存のよくテストされた技術を活用してHTMLのテンプレートを生成する方法を提供します。

以下のように、HTMLテンプレートにクエリ文字列またはデータベースからのデータが追加されると、動的に生成されたPDFファイルが作成されます。

例として、C#のStringクラスおよびそのプロパティを考えてみましょう。 フォーマットメソッドは、基本的な「メールマージ」操作に適しています。

String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World");
String.Format("<h1>Hello {}!<h1/>","World")
VB   C#

HTMLファイルはかなり大きくなることがあるため、任意のプレースホルダーを使用することが一般的です。[[名前]]その後、正確なデータに置き換えます。

以下の例では、それぞれ異なるユーザー向けにカスタマイズされた3つのPDFドキュメントが生成されます。

var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
var HtmlTemplate = "<p>[[NAME]]</p>";
var Names = new [] { "John", "James", "Jenny" };
foreach (var name in Names) {
var HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name);

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderHtmlAsPdf(HtmlInstance);
pdf.SaveAs(name + ".pdf");
}
Dim HtmlTemplate = "<p>[[NAME]]</p>"
Dim Names = { "John", "James", "Jenny" }
For Each name In Names
Dim HtmlInstance = HtmlTemplate.Replace("[[NAME]]", name)

Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf(HtmlInstance)
pdf.SaveAs(name & ".pdf")
Next name
VB   C#

ASP.NET MVCルーティング このページのPDFバージョンをダウンロード

ASP.NET MVCフレームワークを使用すると、ユーザーをPDFファイルに誘導できます。

新しいASP.NET MVCアプリケーションを構築するか、既存のアプリケーションに既存のMVCコントローラーを追加する際は、このオプションを選択してください。 ASP.NET Web アプリケーションを選択して、Visual Studio の新しいプロジェクトウィザードを開始します。(.NETフレームワーク)ドロップダウンメニューからMVCを選択します。 または、既存のMVCプロジェクトを開くこともできます。 Controllersフォルダ内のHomeControllerファイルのIndexメソッドを置き換えるか、Controllersフォルダ内に新しいコントローラーを作成します。

以下は、コードの書き方の例です:

using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
using IronPdf;
using System;
using System.Web.Mvc;

namespace WebApplication8.Controllers
{
    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            using var PDF = HtmlToPdf.StaticRenderUrlAsPdf(new Uri("https://en.wikipedia.org"));
            return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf");
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}
Imports IronPdf
Imports System
Imports System.Web.Mvc

Namespace WebApplication8.Controllers
	Public Class HomeController
		Inherits Controller

		Public Function Index() As ActionResult
			Dim PDF = HtmlToPdf.StaticRenderUrlAsPdf(New Uri("https://en.wikipedia.org"))
			Return File(PDF.BinaryData, "application/pdf", "Wiki.Pdf")
		End Function

		Public Function About() As ActionResult
			ViewBag.Message = "Your application description page."

			Return View()
		End Function

		Public Function Contact() As ActionResult
			ViewBag.Message = "Your contact page."

			Return View()
		End Function
	End Class
End Namespace
VB   C#

PDFドキュメントに表紙を追加

C#とIronPDFを使用してASP.NETでPDFファイルを表示する方法、図1: PDFドキュメントにカバーページを追加する PDF文書にカバーページを追加する

IronPDFはPDFドキュメントの結合プロセスを簡素化します。 この技術の最も一般的な応用は、既にレンダリングされたPDFドキュメントに表紙または裏表紙を追加することです。

そのためには、カバーページを準備し、次に PdfDocument 機能を使用します。

2つのドキュメントを結合するには、PDFドキュメントのマージ方法.

var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
using var merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf);
merged.SaveAs("Combined.Pdf");
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
using var merged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf);
merged.SaveAs("Combined.Pdf");
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
Dim merged = PdfDocument.Merge(New PdfDocument("CoverPage.pdf"), pdf)
merged.SaveAs("Combined.Pdf")
VB   C#

ドキュメントにウォーターマークを追加する

最後に、C#コードを使用してPDFドキュメントにウォーターマークを追加することができます。 これは、ドキュメントの各ページに「機密」または「サンプル」であることを示す免責事項を追加するために使用できます。

// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
    HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
    VerticalAlignment = VerticalAlignment.Bottom
};

// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
// prepare a stamp
HtmlStamper stamper = new HtmlStamper("<h2 style='color:red'>SAMPLE</h2>")
{
    HorizontalOffset = new Length(-3, MeasurementUnit.Inch),
    VerticalAlignment = VerticalAlignment.Bottom
};

// Stamps a watermark onto a new or existing PDF
var renderer = new ChromePdfRenderer();
using var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
pdf.ApplyStamp(stamper);
pdf.SaveAs(@"C:\PathToWatermarked.pdf");
' prepare a stamp
Dim stamper As New HtmlStamper("<h2 style='color:red'>SAMPLE</h2>") With {
	.HorizontalOffset = New Length(-3, MeasurementUnit.Inch),
	.VerticalAlignment = VerticalAlignment.Bottom
}

' Stamps a watermark onto a new or existing PDF
Dim renderer = New ChromePdfRenderer()
Dim pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
pdf.ApplyStamp(stamper)
pdf.SaveAs("C:\PathToWatermarked.pdf")
VB   C#

PDFファイルはパスワードで保護できます。

PDF ドキュメントのパスワードプロパティを設定すると、ドキュメントは暗号化され、ユーザーはドキュメントを閲覧するために正しいパスワードを入力する必要があります。 このサンプルは、.NET Coreコンソールアプリケーションで使用できます。

using IronPdf;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string [] args)
        {
            var renderer = new ChromePdfRenderer();
            using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
            pdfDocument.Password = "strong!@#pass&^%word";
            pdfDocument.SaveAs("secured.pdf");
        }
    }
}
using IronPdf;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string [] args)
        {
            var renderer = new ChromePdfRenderer();
            using var pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>");
            pdfDocument.Password = "strong!@#pass&^%word";
            pdfDocument.SaveAs("secured.pdf");
        }
    }
}
Imports IronPdf

Namespace ConsoleApp
	Friend Class Program
		Shared Sub Main(ByVal args() As String)
			Dim renderer = New ChromePdfRenderer()
			Dim pdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello World<h1>")
			pdfDocument.Password = "strong!@#pass&^%word"
			pdfDocument.SaveAs("secured.pdf")
		End Sub
	End Class
End Namespace
VB   C#

以下の利点を除いても、IronPDFを使用して次のことができます:

< 以前
HTMLファイルからC#でPDFを作成
次へ >
C#でIRON PDFを使用してPDFファイルを生成する5つのステップ