HTML ファイルを PDF に変換すると、オフラインで読み取ることができるほか、そのコンテンツを保存して忠実にフォーマットできるなど、多くの利点があります。Spire.PDF は、HTML を PDF に変換する2つの方法を提供します。1つは QT Web プラグインを使用する方法で、もう1つはプラグインを使用しない方法です。QT プラグインを使用して変換を行うことをお勧めします。
次のセクションでは、QT プラグインの有無にかかわらず Spire.PDF for .NET を使用して HTMLWeb ページ (URL) または HTML 文字列を PDF ドキュメントにレンダリングする方法を示します。
- QT プラグインを使用して URL を PDF に変換する
- QT プラグインを使用して HTML 文字列を PDF に変換する
- プラグインなしで URL を PDF に変換する
- プラグインなしで HTML 文字列 をPDF に変換する
Spire.PDF for.NET をインストールします
まず、Spire.PDF for.NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。
PM> Install-Package Spire.PDF
プラグインをダウンロードする
プラグイン方式を選択した場合は、以下のリンクからご使用のオペレーティングシステムに適合するプラグインをダウンロードしてください。
パッケージをディスクに解凍して、「プラグイン」フォルダを取得します。この例では、プラグインをパス「F:\ Libraries \ Plugin \ plugins-windows-x64\plugins」の下に保存しました。
また、プロジェクトの「プラットフォームターゲット」をそれに応じて x64 または x86 に設定することをお勧めします。
QT プラグインを使用して URL を PDF に変換する
以下は、QT プラグインで Spire.PDF を使用して URL を PDF に変換する手順です。
- 変換する URL パスを指定します。
- 生成された PDF ファイルのパスを指定します。
- プラグインパスを指定し、HtmlConverter.PluginPath プロパティの値として割り当てます。
- HtmlConverter.Convert(string url、string fileName、bool enableJavaScript、int timeout、SizeF pageSize、PdfMargins margins) メソッドを呼び出して、URL を PDF ドキュメントに変換します。
- C#
- VB.NET
using Spire.Pdf.Graphics;
using Spire.Pdf.HtmlConverter.Qt;
using System.Drawing;
namespace ConvertUrlToPdf
{
class Program
{
static void Main(string[] args)
{
//URLパスを指定する
string url = "https://www.wikipedia.org/";
//出力ファイルのパスを指定する
string fileName = "UrlToPdf.pdf";
//プラグインパスを指定する
string pluginPath = "F:\\Libraries\\Plugin\\plugins-windows-x64\\plugins";
//プラグインパスを設定する
HtmlConverter.PluginPath = pluginPath;
//URLをPDFに変換する
HtmlConverter.Convert(url, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0));
}
}
}
Imports Spire.Pdf.Graphics
Imports Spire.Pdf.HtmlConverter.Qt
Imports System.Drawing
Namespace ConvertUrlToPdf
Class Program
Shared Sub Main(ByVal args() As String)
'URLパスを指定する
Dim url As String = "https://www.wikipedia.org/"
'出力ファイルのパスを指定する
Dim fileName As String = "UrlToPdf.pdf"
'プラグインパスを指定する
Dim pluginPath As String = "F:\\Libraries\\Plugin\\plugins-windows-x64\\plugins"
'プラグインパスを設定する
HtmlConverter.PluginPath = pluginPath
'URLをPDFに変換する
HtmlConverter.Convert(url, fileName, True, 100000, New Size(1080, 1000), New PdfMargins(0))
End Sub
End Class
End Namespace
QT プラグインを使用して HTML 文字列を PDF に変換する
以下は、QT プラグインで Spire.PDF を使用して HTML 文字列を PDF に変換する手順です。
- .html ファイルから HTML 文字列を取得します。
- 生成された PDF ファイルのパスを指定します。
- プラグインパスを指定し、HtmlConverter.PluginPath プロパティの値として割り当てます。
- HtmlConverter.Convert(string htmlString、string fileName、bool enableJavaScript、int timeout、SizeF pageSize、PdfMargins margins、Spire.Pdf.HtmlConverter.LoadHtmlType htmlType) メソッドを呼び出して、HTML 文字列をPDFドキュメントに変換します。
注:PDF で正しくレンダリングできるのは、インライン CSS スタイルと内部 CSS スタイルのみです。外部 CSS スタイルシートをお持ちの場合は、インラインまたは内部 CSS スタイルに変換してください。
- C#
- VB.NET
using System.IO;
using Spire.Pdf.HtmlConverter.Qt;
using System.Drawing;
using Spire.Pdf.Graphics;
namespace ConvertHtmlStringToPdfWithPlugin
{
class Program
{
static void Main(string[] args)
{
//.htmlファイルからHTML文字列を取得する
string htmlString = File.ReadAllText(@"C:\Users\Administrator\Desktop\Document\Html\Sample.html");
//出力ファイルのパスを指定する
string fileName = "HtmlStringToPdf.pdf";
//プラグインパスを指定する
string pluginPath = "F:\\Libraries\\Plugin\\plugins-windows-x64\\plugins";
//プラグインパスを設定する
HtmlConverter.PluginPath = pluginPath;
//HTML文字列をPDFに変換する
HtmlConverter.Convert(htmlString, fileName, true, 100000, new Size(1080, 1000), new PdfMargins(0), Spire.Pdf.HtmlConverter.LoadHtmlType.SourceCode);
}
}
}
Imports System.IO
Imports Spire.Pdf.HtmlConverter.Qt
Imports System.Drawing
Imports Spire.Pdf.Graphics
Namespace ConvertHtmlStringToPdfWithPlugin
Class Program
Shared Sub Main(ByVal args() As String)
'.htmlファイルからHTML文字列を取得する
Dim htmlString As String = File.ReadAllText("C:\Users\Administrator\Desktop\Document\Html\Sample.html")
'出力ファイルのパスを指定する
Dim fileName As String = "HtmlStringToPdf.pdf"
'プラグインパスを指定する
Dim pluginPath As String = "F:\\Libraries\\Plugin\\plugins-windows-x64\\plugins"
'プラグインパスを設定する
HtmlConverter.PluginPath = pluginPath
'HTML文字列をPDFに変換する
HtmlConverter.Convert(htmlString, fileName, True, 100000, New Size(1080, 1000), New PdfMargins(0), Spire.Pdf.HtmlConverter.LoadHtmlType.SourceCode)
End Sub
End Class
End Namespace
プラグインなしで URL を PDF に変換する
以下は、プラグインなしで Spire.PDF を使用して URL を PDF に変換する手順です。
- PdfDocument オブジェクトを作成します。
- PdfPageSettings オブジェクトを作成し、それを介してページサイズとマージンを設定します。
- PdfHtmlLayoutFormat オブジェクトを作成し、その IsWaiting プロパティを true に設定します。
- 変換する URL パスを指定します。
- PdfDocument.LoadFromHTML() メソッドを使用して URL パスから HTML をロードします。
- PdfDocument.SaveToFile() メソッドを使用してドキュメントを PDF ファイルに保存します。
- C#
- VB.NET
using System;
using Spire.Pdf;
using System.Threading;
using Spire.Pdf.HtmlConverter;
using System.Drawing;
namespace ConverUrlToPdfWithoutPlugin
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentオブジェクトを作成する
PdfDocument doc = new PdfDocument();
//PdfPageSettingsオブジェクトを作成する
PdfPageSettings setting = new PdfPageSettings();
//オブジェクトを介してページサイズと余白を節約する
setting.Size = new SizeF(1000, 1000);
setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20);
//PdfHtmlLayoutFormatオブジェクトを作成する
PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();
//IsWaitingプロパティをtrueに設定する
htmlLayoutFormat.IsWaiting = true;
//変換するURLパスを指定する
String url = "https://www.Wikipedia.com/";
//LoadFromHTMLメソッドを使用してURLパスからHTMLをロードする
Thread thread = new Thread(() =>
{ doc.LoadFromHTML(url, true, true, false, setting, htmlLayoutFormat); });
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
//ドキュメントをPDFファイルとして保存する
doc.SaveToFile("UrlToPdf.pdf");
doc.Close();
}
}
}
Imports System
Imports Spire.Pdf
Imports System.Threading
Imports Spire.Pdf.HtmlConverter
Imports System.Drawing
Namespace ConverUrlToPdfWithoutPlugin
Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocumentオブジェクトを作成する
Dim doc As PdfDocument = New PdfDocument()
'PdfPageSettingsオブジェクトを作成する
Dim setting As PdfPageSettings = New PdfPageSettings()
'オブジェクトを介してページサイズと余白を節約する
setting.Size = New SizeF(1000, 1000)
setting.Margins = New Spire.Pdf.Graphics.PdfMargins(20)
'PdfHtmlLayoutFormatオブジェクトを作成する
Dim htmlLayoutFormat As PdfHtmlLayoutFormat = New PdfHtmlLayoutFormat()
'IsWaitingプロパティをtrueに設定する
htmlLayoutFormat.IsWaiting = True
'変換するURLパスを指定する
Dim url As String = "https://www.Wikipedia.com/"
'LoadFromHTMLメソッドを使用してURLパスからHTMLをロードする
Thread thread = New Thread(() =>
{
doc.LoadFromHTML(url, True, True, False, setting, htmlLayoutFormat)
}
)
thread.SetApartmentState(ApartmentState.STA)
thread.Start()
thread.Join()
'ドキュメントをPDFファイルとして保存する
doc.SaveToFile("UrlToPdf.pdf")
doc.Close()
End Sub
End Class
End Namespace
プラグインなしで HTML 文字列を PDF に変換する
以下は、プラグインなしで Spire.PDF を使用して HTML 文字列を PDF に変換する手順です。
- PdfDocument オブジェクトを作成します。
- PdfPageSettings オブジェクトを作成し、それを介してページサイズとマージンを設定します。
- PdfHtmlLayoutFormat オブジェクトを作成し、その IsWaiting プロパティを true に設定します。
- .html ファイルから HTML 文字列を読み取ります。
- PdfDocument.LoadFromHTML() メソッドを使用して HTML 文字列から HTML をロードします。
- PdfDocument.SaveToFile() メソッドを使用してドキュメントを PDF ファイルに保存します。
- C#
- VB.NET
using Spire.Pdf;
using Spire.Pdf.HtmlConverter;
using System.IO;
using System.Threading;
using System.Drawing;
namespace ConvertHtmlStringToPdfWithoutPlugin
{
class Program
{
static void Main(string[] args)
{
//PdfDocumentオブジェクトを作成する
PdfDocument doc = new PdfDocument();
//PdfPageSettingsオブジェクトを作成する
PdfPageSettings setting = new PdfPageSettings();
//オブジェクトを介してページサイズと余白を節約する
setting.Size = new SizeF(1000, 1000);
setting.Margins = new Spire.Pdf.Graphics.PdfMargins(20);
//PdfHtmlLayoutFormatオブジェクトを作成する
PdfHtmlLayoutFormat htmlLayoutFormat = new PdfHtmlLayoutFormat();
//IsWaitingプロパティをtrueに設定する
htmlLayoutFormat.IsWaiting = true;
//.htmlファイルからhtml文字列を読み取る
string htmlString = File.ReadAllText(@"C:\Users\Administrator\Desktop\Document\Html\Sample.html");
//LoadFromHTMLメソッドを使用してhtml文字列からHTMLをロードする
Thread thread = new Thread(() =>
{ doc.LoadFromHTML(htmlString, true, true, false, setting, htmlLayoutFormat); });
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
//PDFファイルとして保存する
doc.SaveToFile("HtmlStringToPdf.pdf");
}
}
}
Imports Spire.Pdf
Imports Spire.Pdf.HtmlConverter
Imports System.IO
Imports System.Threading
Imports System.Drawing
Namespace ConvertHtmlStringToPdfWithoutPlugin
Class Program
Shared Sub Main(ByVal args() As String)
'PdfDocumentオブジェクトを作成する
Dim doc As PdfDocument = New PdfDocument()
'PdfPageSettingsオブジェクトを作成する
Dim setting As PdfPageSettings = New PdfPageSettings()
'オブジェクトを介してページサイズと余白を節約する
setting.Size = New SizeF(1000, 1000)
setting.Margins = New Spire.Pdf.Graphics.PdfMargins(20)
'PdfHtmlLayoutFormatオブジェクトを作成する
Dim htmlLayoutFormat As PdfHtmlLayoutFormat = New PdfHtmlLayoutFormat()
'IsWaitingプロパティをtrueに設定する
htmlLayoutFormat.IsWaiting = True
'.htmlファイルからhtml文字列を読み取る
Dim htmlString As String = File.ReadAllText("C:\Users\Administrator\Desktop\Document\Html\Sample.html")
'LoadFromHTMLメソッドを使用してhtml文字列からHTMLをロードする
Thread thread = New Thread(() =>
{
doc.LoadFromHTML(htmlString, True, True, False, setting, htmlLayoutFormat)
}
)
thread.SetApartmentState(ApartmentState.STA)
thread.Start()
thread.Join()
'PDFファイルとして保存する
doc.SaveToFile("HtmlStringToPdf.pdf")
End Sub
End Class
End Namespace
一時ライセンスを申請する
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。