HTMLはオープンスタンダードのウェブマークアップ言語であり、クロスプラットフォーム対応、簡単な閲覧、検索エンジンに優しい特性を備えています。このため、コンテンツを多くのデバイスで簡単にアクセスできるようにし、オンラインでの共有やインタラクションを最適化します。PDFファイルをHTML形式に変換することで、PDFの内容をブラウザで手軽に表示でき、より複雑なHTMLページへの統合も簡単になります。C#を使って.NETフレームワークでこれを実現すれば、高速な変換や自動化も可能です。本記事では、.NETフレームワークを使用してC#でPDFファイルをHTML形式に変換する方法を紹介します。
使用するツールは無料のFree Spire.PDF for .NETです。インストールは以下のコマンドで行います:
Install-Package FreeSpire.PDF
C#でPDFをHTML形式に直接変換する方法
PdfDocument.LoadFromFile()
メソッドを使用してPDFファイルを読み込み、その後PdfDocument.SaveToFile(string: fileName, FileFormat.HTML)
メソッドでHTMLファイルとして保存します。操作手順は以下の通りです:
- 必要なモジュールをインポートする。
-
PdfDocument
インスタンスを作成し、PdfDocument.LoadFromFile()
でPDFファイルを読み込む。 -
PdfDocument.SaveToFile(string: fileName, FileFormat.HTML)
でHTML形式に変換して保存する。 - リソースを解放する。
コード例
using Spire.Pdf;
namespace PDFToHTML
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentインスタンスを作成
PdfDocument pdf = new PdfDocument();
// PDFファイルを読み込む
pdf.LoadFromFile("Sample.pdf");
// PDFをHTMLに変換して保存
pdf.SaveToFile("output/PDFToHTML.html", FileFormat.HTML);
// リソースを解放する
pdf.Dispose();
}
}
}
PDFをHTMLに変換する際のカスタムオプション設定
PDFを読み込んだ後、PdfDocument.ConvertOptions
プロパティを使用してPdfConvertOptions
インスタンスを取得し、PdfConvertOptions.SetPdfToHtmlOptions()
メソッドで変換オプションを設定します。このメソッドには以下の4つのパラメータがあります:
- bool: SVGをHTMLに埋め込むかどうか
- bool: 画像をHTMLに埋め込むかどうか
- int: 単一ファイルの最大ページ数
- bool: 高品質のSVGを使用するかどうか
操作手順は以下の通りです:
- 必要なモジュールをインポートする。
-
PdfDocument
インスタンスを作成し、PdfDocument.LoadFromFile()
でPDFファイルを読み込む。 -
PdfDocument.ConvertOptions
プロパティを利用してPdfConvertOptions
を取得する。 -
PdfConvertOptions.SetPdfToHtmlOptions()
を使用してオプションを設定する。 -
PdfDocument.SaveToFile(string: fileName, FileFormat.HTML)
でHTML形式に変換して保存する。 - リソースを解放する。
コード例
using Spire.Pdf;
namespace PDFToHTML
{
class Program
{
static void Main(string[] args)
{
// PdfDocumentインスタンスを作成
PdfDocument pdf = new PdfDocument();
// PDFファイルを読み込む
pdf.LoadFromFile("Sample.pdf");
// ConvertOptionsプロパティにアクセス
PdfConvertOptions toHtmlOptions = pdf.ConvertOptions;
// HTML変換オプションを設定
toHtmlOptions.SetPdfToHtmlOptions(false, true, 5, false);
// PDFをHTMLに変換して保存
pdf.SaveToFile("output/PDFToHTML.html", FileFormat.HTML);
// リソースを解放する
pdf.Dispose();
}
}
}
ストリームを使用してPDFをHTMLに変換する方法
ディスクからPDFファイルを読み込んで変換するだけでなく、PdfDocument.LoadFromStream()
メソッドを使用してストリームから直接PDFを読み込み、PdfDocument.SaveToStream(Stream: stream, FileFormat.HTML)
でHTML形式のストリームに変換することも可能です。操作手順は以下の通りです:
- 必要なモジュールをインポートする。
-
MemoryStream
インスタンスを作成する、または既存のインスタンスを使用する。 -
PdfDocument
インスタンスを作成し、PdfDocument.LoadFromStream()
でストリームからPDFを読み込む。 -
PdfDocument.SaveToStream(Stream: stream, FileFormat.HTML)
でHTML形式のストリームに変換する。 - ストリームをファイルに書き込むか、他の用途に利用する。
- リソースを解放する。
コード例
using Spire.Pdf;
namespace PDFToHTML
{
class Program
{
static void Main(string[] args)
{
// Streamインスタンスを作成するか、既存のインスタンスを使用
MemoryStream stream = new MemoryStream();
File.OpenRead("Sample.pdf").CopyTo(stream);
// PdfDocumentインスタンスを作成
PdfDocument pdf = new PdfDocument();
// ストリームからPDFファイルを読み込む
pdf.LoadFromStream(stream);
// PDFをHTMLに変換し、ストリームに保存
pdf.SaveToStream(stream, FileFormat.HTML);
// ストリームをファイルに書き込むか、必要に応じて他の操作を実行
File.WriteAllBytes("output/PDFToHTMLStream.html", stream.ToArray());
// リソースを解放する
pdf.Dispose();
}
}
}
本記事では、.NETフレームワークを使用してC#でPDFをHTML形式に変換する方法を、具体的な手順とコード例を交えて解説しました。