フッターコンテンツにスキップ
IRONPDFの使用
C#でPDFを作成する方法

C#でのPDFファイル生成

オフィスドキュメントとレポートは、多様な形式、特にHTMLからPDFドキュメントへ変換する必要があることが多いです。 また、ウェブページやURLからPDFファイルを生成する必要があるかもしれません。 この目的のためには、元のHTMLファイルと同じコンテンツを持つPDFファイルを生成できる多用途なジェネレータが必要です。 このチュートリアルでは、C#でPDFファイルを生成する方法を学びます。

class="hsg-featured-snippet">

C#でPDFを生成する方法

How to Generate PDF Files in C#
  1. PDFファイルを生成するためのC#ライブラリをインストールします。
  2. HTML文字列からPDFドキュメントを生成します。
  3. URLからPDFドキュメントを生成します。
  4. HTMLソースファイルからPDFドキュメントを生成します。
  5. ASP.NETウェブページからPDFドキュメントを生成します。
  6. 生成されたPDFドキュメントにカスタムヘッダーとフッターを追加します。
  7. さらに多くの機能...

IronPDFとは何ですか?

IronPDF .NET PDFライブラリは、多くのデザイナー、特にC#を使用するコンピュータープログラマに認識されています。 この優れたツールを使えば、確実に.NET用のコアPDFライブラリを作成できます。

IronPDFは.NETのChromiumエンジンを利用してHTMLページをPDFドキュメントに変換します。 HTMLからPDFへの変換では、複雑なAPIを使用してPDFを配置や計画する必要がありません。 IronPDFは、標準のウェブドキュメント、すなわちHTML、ASPX、JS、CSS、および画像をサポートしています。

また、HTML5、CSS、JavaScript、および画像を使用して.NETのPDFライブラリを作成することもできます。 PDFを簡単に編集、スタンプ、ヘッダーやフッターを追加できます。 さらに、IronPDFで効率的にPDFコンテンツを読み取り、画像を抽出するのを非常に簡単にします。

IronPDFは、PDF関連のすべての問題に対する単一のソリューションを提供します。 IronPDFを購入するたびに、PDFドキュメントに関連するタスクに加えて、すべての変換が1つのライブラリに含まれており、追加の条件は必要ありません。 IronPDFは完全なパッケージであり、デザイナーやC#プログラマーの両方にとって優れたツールです。

IronPDFは次のソースからPDFファイルを生成するのを助けます:

  • HTML文字列およびテンプレート
  • ASPX WebForms
  • MVCビュー
  • HTMLドキュメント
  • 任意のURL

IronPDFの特徴

IronPDFはHTML 4 と 5、CSS、およびJavaScriptからPDFドキュメントを作成するのを補助し、URLからPDFファイルを作成します。 また、ネットワークのカスタムログイン情報、ユーザーエージェント、プロキシ、クッキー、HTTPヘッダー、およびフォーム変数を使用してHTMLログインフォームの背後にログインを許可するURLの読み込みもサポートします。 PDFから画像やテキストを簡単に抽出し、既存のPDFページ上に新しいHTMLコンテンツをスタンプして、論理的またはHTMLのヘッダーとフッターを追加できます。 既存のPDFファイルをロードし、コンテンツをPDFドキュメントでマージまたは分割するのも簡単です。 カスタム "ベースURL" を使用してWeb全体のリソースファイルへのアクセスを許可し、任意の重要なドキュメントエンコーディングでエンコードされたHTMLを受け入れます(デフォルトはUTF-8)。 単にドキュメント、バイナリデータ、またはMemoryStreamsから保存および読み込みができ、PDFドキュメントをPrintDocumentオブジェクトに変換してAdobeなしで印刷し(最小限のコードで)、APIの成功やデバッグエラーに関する詳細を含む公式のログドキュメントをエクスポートできます。

互換性

.NET言語としてC#、VB.NET、F#をサポートしています。 .NETプラットフォームである.NET 6, 5, Core 2x, 3x, Standard 2, Framework 4xに対応しています。 コンソールアプリケーション、ウェブアプリケーション、およびデスクトップアプリケーションに対応し、Microsoft Windows、Linux、macOS、Docker、Azure OSをサポートしています。 IronPDFのIDEには、Microsoft Visual Studio、JetBrains ReSharper、およびRiderがあります。

PDFドキュメントを生成する手順

まず、Visual Studioプロジェクトを新規作成する必要があります。 このデモンストレーションでは、コンソールアプリケーションのテンプレートを使用します。 要求と選択に応じて適したものを使用できます。

PDFファイル生成ツールを追加したい既存のプロジェクトを使用することもできます。

Visual Studioプロジェクトを作成する

Microsoft Visual Studio 2019またはその他のバージョンを開きます。 最新バージョンを推奨します。 "Create New Project"をクリックします。 C#コンソールアプリケーションをアプリケーションテンプレートとして選択します。 「次へ」ボタンをクリックします。

プロジェクトに名前を付けます。 私はそれを"C Sharp Generate PDF"と名付けました。 お好みに応じて名前を付けてください。 「Next」ボタンをクリックし、ターゲットとなる.NETフレームワークを設定します。 私は最新の安定版である".NET 5.0"をターゲットとしました。 「Create」ボタンをクリックします。 新しいプロジェクトが作成されます。

Visual StudioにNuGetパッケージをインストールする

始める前に、IronPDFライブラリをインストールする必要があります。 以下の3つの方法のいずれかを使用してインストールできます。

パッケージマネージャコンソール

パッケージマネージャコンソールで以下のコマンドを記入します。 これにより、パッケージがダウンロードされインストールされます。

Install-Package IronPdf

画像 1

NuGetパッケージマネージャソリューション

また、NuGetパッケージソリューションを使用してバーコードライブラリをインストールすることもできます。 簡単に、次の手順に従ってください。

ツール > NuGet パッケージマネージャ > NuGetパッケージソリューションを管理する をクリックします。

画像 2

これにより、NuGetパッケージマネージャーが開きます。 "Browse"をクリックし、以下のようにIronPDFを検索します。

画像 3

IronPDFをクリックし、"インストール"ボタンをクリックします。 これにより、プロジェクトにIronPDFがインストールされます。 これでプロジェクト内での任意の機能を自由に使用できます。

IronPDF ZIPのダウンロード

別の方法として、統合用にIronPDF ZIPパッケージをダウンロードできます。

IronPDFを使用する任意の.csクラスファイルのトップにこの文を書くことを忘れないでください:

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

インストールと更新のためのNuGet上のIronPDFをチェックして、バージョン更新とインストールについて詳しく調べてください。

Linux、Mac、Azure、AWSのターゲットへの特定のデプロイメント用の他のIronPDF NuGetパッケージがあり、IronPDFの詳細なNuGetインストールガイドで文書化されています。

IronPDFライブラリは今インストールされているので、次のステップに進みましょう。

HTML文字列からPDFファイルを生成する

IronPDFはHTMLテキストからPDFファイルを容易に生成できます。 次の例でこの機能を示します。 PDFファイルに単純なテキストを追加する必要がある場合は、このオプションを使用してください。

以下の名前空間を追加します。

using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText   $csharpLabel

以下のコード例を使用してください:

var Renderer = new ChromePdfRenderer();
// Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>")
        .SaveAs("GeneratePDF.pdf");
var Renderer = new ChromePdfRenderer();
// Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>")
        .SaveAs("GeneratePDF.pdf");
Dim Renderer = New ChromePdfRenderer()
' Render HTML as PDF and save the result
Renderer.RenderHtmlAsPdf("<h1>This is the Tutorial for C# Generate PDF<h1>").SaveAs("GeneratePDF.pdf")
$vbLabelText   $csharpLabel

上記のコードでは、新しいChromePdfRendererを作成しました。 その後、結果を得るためにRenderHtmlAsPdfおよびSaveAsを呼び出しました。

出力

プログラムを実行します。 パスを指定していないため、プロジェクトのbinフォルダにPDFドキュメントが生成されます。

画像 4

最初のPDFファイルを生成する

IronPDFライブラリがインストールされた後、コードを少し書くだけでPDFファイルとPDFページを簡単に作成できます。 これからC#で最初のPDFドキュメントを作成するお手伝いをします。 次のコードをコピーし、Visual Studioに貼り付けてプログラムを実行します。

var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
var pdf = new ChromePdfRenderer();
PdfDocument doc = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>");
doc.SaveAs("FirstPDFDocument.pdf");
Dim pdf = New ChromePdfRenderer()
Dim doc As PdfDocument = pdf.RenderHtmlAsPdf("<h1>This is a heading</h1>")
doc.SaveAs("FirstPDFDocument.pdf")
$vbLabelText   $csharpLabel

C#プロジェクトの実行後には、プロジェクトのbinフォルダに"FirstPDFDocument.pdf"という名前のファイルが生成されます。 そのファイルをダブルクリックするとブラウザタブでPDFファイルが開きます。

画像 9

C#でPDFファイルを生成したり、HTMLをPDFに変換するのは、IronPDFを使用して数行のコードで完了します。

URLからPDFドキュメントを生成する

URLを使用してC#でPDFファイルを生成するのは、上記の例のように簡単で、わずか3行のコードです。 次のコードは、IronPDFを使用してURLからPDFを作成する方法を示します。

using IronPdf;

var Renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
using IronPdf;

var Renderer = new ChromePdfRenderer();
// Create a PDF from a URL or local file path
using var pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20");
// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf

Private Renderer = New ChromePdfRenderer()
' Create a PDF from a URL or local file path
Private pdf = Renderer.RenderUrlAsPdf("https://www.amazon.com/?tag=hp2-brobookmark-us-20")
' Export to a file or Stream
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

上記のコードの出力は次の通りです。

画像 10

人気のある複雑なサイトをPDFに変換する他の例。

画像 11

HTMLファイルからPDFファイル生成

画像、CSS、フォーム、ハイパーリンク、JavaScriptを含むHTMLファイルからPDFドキュメントを生成できます。 ソースドキュメントへのローカルアクセスがある場合、こちらの方法を使用してください。

この例ではRenderHtmlFileAsPdfを使用し、PDFという変数を返します。

SaveAsを呼び出して出力をPDFファイルに保存します。

次のコード例は、プロジェクトのbinフォルダにHTMLファイルがあることを前提としています。

var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html");
pdf.SaveAs("AccountPdf.pdf");
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html");
pdf.SaveAs("AccountPdf.pdf");
Dim Renderer = New ChromePdfRenderer()
Dim pdf = Renderer.RenderHtmlFileAsPdf("AccountPage.html")
pdf.SaveAs("AccountPdf.pdf")
$vbLabelText   $csharpLabel

入力HTML:

画像 5

生成されたPDFファイル出力:

画像 6

URLからPDFファイルを生成する

数行のC#またはVB.NETコードで既存のウェブページからPDFファイルを生成できます。 既にフォーマットされたドキュメントを持つウェブサイトからPDFドキュメントを生成する必要がある場合にこのオプションを使用してください。

RenderUrlAsPdfを呼び出してウェブページのコンテンツをダウンロードしSaveAsでローカルにPDFファイルを保存することが可能です。

var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");
var Renderer = new ChromePdfRenderer();
var pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format");
pdf.SaveAs("wikipedia.pdf");
Dim Renderer = New ChromePdfRenderer()
Dim pdf = Renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Portable_Document_Format")
pdf.SaveAs("wikipedia.pdf")
$vbLabelText   $csharpLabel

PDFファイル出力:

画像 7

ASP.NET WebフォームからPDFドキュメントを生成する

ASP.NET WebフォームからHTMLの代わりにPDFドキュメントを1行のコードで生成できます。 ページコードビハインドのPage_Loadメソッドにコード行を配置します。

  • 新しいASP.NET Webフォームアプリを作成するか既存のアプリを開きます
  • IronPDFライブラリのNuGetパッケージをインストールします
  • 適切なキーワードを使用してIronPDF名称空間をインポートします
  • PDFにレンダリングしたいページのコードビハインドを開きます。 例: Default.aspx.cs
  • Page Load関数内で以下のコードを書きます。
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser);
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.InBrowser)
$vbLabelText   $csharpLabel

PDFファイル出力:

画像 8

ASP.NET MVC ViewからPDFファイルを生成する

ASP.NET MVCフレームワークからPDFドキュメントを生成できます。

Visual Studioで新しいプロジェクトウィザードを開始し、ASP.NET Webアプリケーション(.NET Framework) > MVCを選択します。 または既存のMVCプロジェクトを開きます。 Controllersフォルダ内のHomeControllerファイルを開き、インデックスメソッドを置換するか、新しいコントローラを追加します。

コードは次のような構造になります:

public ActionResult Index()
{
    var pdf = IronPdf.ChromePdfRenderer.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();
}
public ActionResult Index()
{
    var pdf = IronPdf.ChromePdfRenderer.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();
}
Public Function Index() As ActionResult
	Dim pdf = IronPdf.ChromePdfRenderer.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
$vbLabelText   $csharpLabel

PDFファイル出力:

画像 9

ヘッダーとフッターを追加する

プリントオプションプロパティを使用してPDFファイルの各ページにヘッダーとフッターを作成できます。これらのオプションにはChromePdfRendererオブジェクトでアクセスします。 このサンプルは.NET Coreコンソールアプリ内で動作します。

  • これらのテンプレートプロパティを使用しコンテンツを構築します。
  • {page}{total-pages}{url}{date}{time}{html-title} & {pdf-title}

次のコードを書きます。

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
// Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>")
                 .SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1;
// Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}";
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial";
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12;
// Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = true;
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial";
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10;
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>")
                 .SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.FirstPageNumber = 1
' Header options
ChromePdfRenderer.RenderingOptions.TextHeader.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextHeader.CenterText = "This is Header {date} {time}"
ChromePdfRenderer.RenderingOptions.TextHeader.FontFamily = "Helvetica,Arial"
ChromePdfRenderer.RenderingOptions.TextHeader.FontSize = 12
' Footer options
ChromePdfRenderer.RenderingOptions.TextFooter.DrawDividerLine = True
ChromePdfRenderer.RenderingOptions.TextFooter.FontFamily = "Arial"
ChromePdfRenderer.RenderingOptions.TextFooter.FontSize = 10
ChromePdfRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
ChromePdfRenderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is my Sample Page for Generate PDF Tutorial<h1>").SaveAs("GeneratePDF.pdf")
$vbLabelText   $csharpLabel

ヘッダーとフッター付きPDFファイル出力

画像 10

ヘッダーとフッターを追加する with HTML

PDFドキュメントのヘッダーやフッターにテキスト、日付、時間、ページ番号を追加できます。

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 20,
    HtmlFragment = "This is Footer {date}",
};

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>")
                 .SaveAs("GeneratePDF.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    Height = 15,
    HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
    DrawDividerLine = true
};
ChromePdfRenderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    Height = 20,
    HtmlFragment = "This is Footer {date}",
};

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>")
                 .SaveAs("GeneratePDF.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
	.Height = 15,
	.HtmlFragment = "<center><i>{page} of {total-pages}<i></center>",
	.DrawDividerLine = True
}
ChromePdfRenderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
	.Height = 20,
	.HtmlFragment = "This is Footer {date}"
}

ChromePdfRenderer.RenderHtmlAsPdf("<h1>This is sample page for Tutorial.<h1>").SaveAs("GeneratePDF.pdf")
$vbLabelText   $csharpLabel

上記のように、このサンプルは.NET Coreコンソールアプリ内で動作します。HtmlFragmentプロパティでHTMLを指定します。

画像 11

パスワードでPDFドキュメントを暗号化する

パスワード付きでPDFドキュメントを生成できます。 PDFドキュメントの"パスワード"プロパティを設定して暗号化し、ユーザーに正しいパスワードの入力を強制することができます。 このサンプルは.NET Coreコンソールアプリ内で動作します。

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>");
pdfDocument.Password = "Password@1234";
pdfDocument.SaveAs("secured.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = ChromePdfRenderer.RenderHtmlAsPdf("<h1>Hello world<h1>")
pdfDocument.Password = "Password@1234"
pdfDocument.SaveAs("secured.pdf")
$vbLabelText   $csharpLabel

PDFファイル出力:

画像 12

PDFドキュメントを統合および分割する

複数のPDFドキュメントを単一の新しいPDFドキュメントに統合できます。 以下のコードを使用して統合および分割します。

var ChromePdfRenderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>
{
    PdfDocument.FromFile("AccountPdf.pdf"),
    PdfDocument.FromFile("GeneratePDF.pdf"),
    PdfDocument.FromFile("wikipedia.pdf")
};

var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");
var ChromePdfRenderer = new ChromePdfRenderer();
// Join Multiple Existing PDFs into a single document
var pdfDocuments = new List<PdfDocument>
{
    PdfDocument.FromFile("AccountPdf.pdf"),
    PdfDocument.FromFile("GeneratePDF.pdf"),
    PdfDocument.FromFile("wikipedia.pdf")
};

var mergedPdfDocument = PdfDocument.Merge(pdfDocuments);
mergedPdfDocument.SaveAs("merged.pdf");
// Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"));
// Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1);
mergedPdfDocument.SaveAs("merged.pdf");
// Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf");
Dim ChromePdfRenderer As New ChromePdfRenderer()
' Join Multiple Existing PDFs into a single document
Dim pdfDocuments = New List(Of PdfDocument) From {PdfDocument.FromFile("AccountPdf.pdf"), PdfDocument.FromFile("GeneratePDF.pdf"), PdfDocument.FromFile("wikipedia.pdf")}

Dim mergedPdfDocument = PdfDocument.Merge(pdfDocuments)
mergedPdfDocument.SaveAs("merged.pdf")
' Add a cover page
mergedPdfDocument.PrependPdf(ChromePdfRenderer.RenderHtmlAsPdf("<h1>Cover Page</h1><hr>"))
' Remove the last page from the PDF and save again
mergedPdfDocument.RemovePage(mergedPdfDocument.PageCount - 1)
mergedPdfDocument.SaveAs("merged.pdf")
' Copy pages 1,2 and save them as a new document
mergedPdfDocument.CopyPages(1, 2).SaveAs("excerpt.pdf")
$vbLabelText   $csharpLabel

"Merge"関数を使用して複数のPDFファイルを統合したり、"CopyPages"を使用して既存のドキュメントから複数のページを分割できます。 コンテンツとしてプロジェクトにPDFを含め、ファイル名でアクセスします。

画像 13

PDFドキュメントから画像を抽出する

この機能には追加のNuGetパッケージが必要です。 System.Drawing.Commonをインストールします。 ExtractAllTextを使用してテキストを取得し、ExtractAllImagesを使用して画像を取得します。

var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();

// Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
    var pageNumber = index + 1;
    var pageText = pdfDocument.ExtractTextFromPage(index);
    var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
var ChromePdfRenderer = new ChromePdfRenderer();
var pdfDocument = PdfDocument.FromFile("wikipedia.pdf");
// Get all text
var allText = pdfDocument.ExtractAllText();
// Get all Images
var allImages = pdfDocument.ExtractAllImages();

// Or even find the images and text by page
for (var index = 0; index < pdfDocument.PageCount; index++)
{
    var pageNumber = index + 1;
    var pageText = pdfDocument.ExtractTextFromPage(index);
    var pageImages = pdfDocument.ExtractImagesFromPage(index);
}
Dim ChromePdfRenderer As New ChromePdfRenderer()
Dim pdfDocument = PdfDocument.FromFile("wikipedia.pdf")
' Get all text
Dim allText = pdfDocument.ExtractAllText()
' Get all Images
Dim allImages = pdfDocument.ExtractAllImages()

' Or even find the images and text by page
For index = 0 To pdfDocument.PageCount - 1
	Dim pageNumber = index + 1
	Dim pageText = pdfDocument.ExtractTextFromPage(index)
	Dim pageImages = pdfDocument.ExtractImagesFromPage(index)
Next index
$vbLabelText   $csharpLabel

画像をビットマップとして保存するにはSystem.Drawingを追加する必要があります。

JavaScriptを有効にする

IronPDFを使用してブラウザでJavaScriptを有効にできます。 以下のコード例は、ブラウザでJavaScriptを有効にする方法を示しています。

var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
    EnableJavaScript = true,
    RenderDelay = 100
};
var ChromePdfRenderer = new ChromePdfRenderer();
ChromePdfRenderer.RenderingOptions = new ChromePdfRenderer()
{
    EnableJavaScript = true,
    RenderDelay = 100
};
Dim ChromePdfRenderer As New ChromePdfRenderer()
ChromePdfRenderer.RenderingOptions = New ChromePdfRenderer() With {
	.EnableJavaScript = True,
	.RenderDelay = 100
}
$vbLabelText   $csharpLabel

PDF OCRおよびテキスト抽出

多くの場合、PDFドキュメントから埋め込まれたテキストを直接抽出できます。 次のコードを書きます。

PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Get all text 
string Text = PDF.ExtractAllText();
PdfDocument PDF = PdfDocument.FromFile("GeneratePDF.pdf");
// Get all text 
string Text = PDF.ExtractAllText();
Dim PDF As PdfDocument = PdfDocument.FromFile("GeneratePDF.pdf")
' Get all text 
Dim Text As String = PDF.ExtractAllText()
$vbLabelText   $csharpLabel

もしこれがうまくいかない場合、それは恐らくテキストが実際には画像に埋め込まれているためです。

IronOCRライブラリを使用して、平文でない視覚的なテキストをドキュメントをスキャンして探します。

まとめ

数行のコードだけでPDFドキュメントの生成や操作、フォーマットを自由に行えます。 操作を指定するだけで、IronPDFがそれらを処理します。 開発用の無償版や購入前の無償トライアルもあります。 市場には他にもPDF生成ライブラリがありますが、多くはパフォーマンスが遅いか、開発のための支払いを必要とします。

現在、.NET向けIron SuiteとともにIronPDF .NETライブラリが利用可能です。 Iron SuiteにはIronXL、IronOCR、IronBarcodeなど、他の.NETライブラリが含まれており、これらは開発者にとって非常に有用ですので、是非試してみてください。 完全なIron Suiteを購入すれば、5つの製品すべてを2つ分の価格で手に入れることができます。 詳細については、IronPDF Suite情報をクリックしてください。

このIronPDF C# PDF生成チュートリアルプロジェクトからプロジェクトファイルをダウンロードできます。

よくある質問

C#でHTML文字列からPDFを生成する方法は?

IronPDFのChromePdfRendererのRenderHtmlAsPdfメソッドを使用してHTML文字列からPDFを生成できます。このメソッドはHTMLコンテンツをPDF形式に変換し、その後SaveAsメソッドを使用して保存できます。

ウェブページのURLからPDFドキュメントを作成できますか?

はい、IronPDFを使用してウェブページのURLからPDFを作成できます。ChromePdfRendererのRenderUrlAsPdfメソッドを利用してウェブページコンテンツをPDFドキュメントに変換します。

C#でPDFにヘッダーとフッターを追加するにはどうすればよいですか?

C#でPDFにヘッダーとフッターを追加するには、IronPDFのChromePdfRendererを使用し、RenderingOptionsTextHeaderTextFooterプロパティを設定します。ページ番号や日付などの動的要素を含めることができます。

C#でPDFドキュメントを暗号化することは可能ですか?

はい、IronPDFを使用してC#でPDFドキュメントを暗号化できます。PdfDocumentオブジェクトのPasswordプロパティに希望するパスワードを設定します。

C#を使用してPDFファイルを結合または分割する方法は?

IronPDFを使用すると、Mergeメソッドを使用して複数のPDFを1つのドキュメントに結合できます。ドキュメントを分割するには、CopyPagesメソッドを使用して特定のページを抽出できます。

IronPDFを使用するためのシステム要件は何ですか?

IronPDFはC#、VB.NET、F#といった.NET言語をサポートしています。これは.NET 6、5、Core 2.x、および3.x、Standard 2、Framework 4.xと互換性があります。Windows、Linux、macOS、Docker、およびAzure OSで動作します。

C#でPDFファイルから画像を抽出できますか?

はい、IronPDFのExtractAllImagesメソッドを使用してPDFファイルから画像を抽出できます。画像処理にはSystem.Drawing.Common NuGetパッケージが含まれていることを確認してください。

C#プロジェクトにIronPDFをインストールするにはどうすればいいですか?

Visual StudioのNuGetパッケージマネージャーを通じてプロジェクトにIronPDFをインストールします。または、パッケージマネージャーコンソールでInstall-Package IronPdfコマンドを使用してインストールします。

IronPDFにはどのような追加機能がありますか?

IronPDFは複数のソースからPDFを作成する機能、ヘッダーとフッターの追加、ドキュメントの暗号化、テキストや画像の抽出、HTMLコンテンツの変換を提供します。また、JavaScriptの実行と画像埋め込みPDFからのテキスト抽出を可能にするOCR機能もサポートします。

IronPDF は .NET 10 と互換性がありますか? また、それによってどのような利点がありますか?

はい、IronPDFは.NET 10と完全に互換性があります。Windows、Linux、コンテナー、macOSのいずれにおいても、以前の.NETバージョンと同様に、.NET 10プロジェクトでもすぐに使用できます。ランタイムパフォーマンスの向上、設定変更の手間がかからないこと、新しいC#言語機能や非同期対応APIへのアクセスといったメリットがあります。

Curtis Chau
テクニカルライター

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

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