透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
HTMLをPDFに変換する際、 C#の開発者は外部ライブラリに依存せずにネイティブの.NET 機能を使用することを検討するかもしれません。 このアプローチは特定の状況では実行可能であるかもしれませんが、それにはその独自の利点と課題があります。 この記事では、プロセスを探求し、利点と欠点を検討し、なぜIronPDFのようなライブラリがより良いオプションであるかについて議論します。
組み込みの .NET ツールを使用して、WebBrowser コントロールとPrintDocument クラスを使用して、HTML コンテンツをレンダリングして印刷することで HTML から PDF への変換を実現できます。 こちらが簡略化されたワークフローです:
HTMLコンテンツを一時ファイルに書き込みます。
HTMLをWebBrowserコントロールに読み込んでレンダリングします。
PrintDocument クラスを使用して、レンダリングされたコンテンツを出力する印刷ジョブを作成します。
このアプローチは外部依存関係を避けますが、低レベルのコンポーネントを扱い、印刷ロジックを手動で定義することを伴います。
C#で外部ライブラリを使用せずにHTMLをPDFに変換したい場合は、System.IOやSystem.Drawing.Printingのような.NETの組み込み機能を使用してHTMLをレンダリングし、PDFを作成することができます。 以下は、開始の手助けとなる基本的な例です。
Pixabay から追加アップロード
またはここに画像をドラッグアンドドロップします
画像の代替テキストを追加
using System;
using System.IO;
using System.Windows.Forms; // You need to add a reference to System.Windows.Forms
using System.Drawing.Printing;
class Program
{
[STAThread] // Required for using WebBrowser control
static void Main()
{
// HTML content
string htmlContent = "<html><body><h1>Hello, World!</h1></body></html>";
// Write HTML content to a temporary file
string tempFilePath = Path.Combine(Path.GetTempPath(), "temp.html");
File.WriteAllText(tempFilePath, htmlContent);
// Create WebBrowser to render HTML
WebBrowser webBrowser = new WebBrowser();
webBrowser.DocumentCompleted += (sender, e) =>
{
// Print the document to a file
PrintDocument printDoc = new PrintDocument();
printDoc.PrintPage += (s, args) =>
{
args.Graphics.DrawString(htmlContent, new Font("Arial", 12), Brushes.Black, new PointF(100, 100));
};
// Save as PDF (or use PrintDialog for physical printing)
printDoc.PrintController = new StandardPrintController(); // Silent print
printDoc.Print(); // You'd need to replace this with PDF creation logic.
Application.ExitThread(); // Close the application
};
// Load the HTML file
webBrowser.Url = new Uri(tempFilePath);
Application.Run();
}
}
using System;
using System.IO;
using System.Windows.Forms; // You need to add a reference to System.Windows.Forms
using System.Drawing.Printing;
class Program
{
[STAThread] // Required for using WebBrowser control
static void Main()
{
// HTML content
string htmlContent = "<html><body><h1>Hello, World!</h1></body></html>";
// Write HTML content to a temporary file
string tempFilePath = Path.Combine(Path.GetTempPath(), "temp.html");
File.WriteAllText(tempFilePath, htmlContent);
// Create WebBrowser to render HTML
WebBrowser webBrowser = new WebBrowser();
webBrowser.DocumentCompleted += (sender, e) =>
{
// Print the document to a file
PrintDocument printDoc = new PrintDocument();
printDoc.PrintPage += (s, args) =>
{
args.Graphics.DrawString(htmlContent, new Font("Arial", 12), Brushes.Black, new PointF(100, 100));
};
// Save as PDF (or use PrintDialog for physical printing)
printDoc.PrintController = new StandardPrintController(); // Silent print
printDoc.Print(); // You'd need to replace this with PDF creation logic.
Application.ExitThread(); // Close the application
};
// Load the HTML file
webBrowser.Url = new Uri(tempFilePath);
Application.Run();
}
}
WebBrowser コントロールは HTML をレンダリングするために使用されます。
PrintDocument クラスは、印刷動作を定義するために使用されます。
この例は直接PDFを作成しません。 手動でテキストや図形を描画するなど、生のPDF作成ロジックを統合するために拡張する必要があります。またはストリームを扱います。
このアプローチには限界があり、大規模またはスタイル付きのHTMLドキュメントでは複雑になる可能性があります。 使用するケースによっては、IronPDFのようなライブラリを利用することが通常、はるかに効率的で多機能です。
Pixabay から追加アップロード
またはここに画像をドラッグアンドドロップします
画像の代替テキストを追加
IronPDFは、開発者がHTMLを簡単にPDFに変換できる.NETライブラリです。 CSS、JavaScript、埋め込み画像を含む幅広い機能をサポートしています。 IronPDFを使用すると、HTMLウェブページと全く同じ見た目のPDFを作成でき、フォーマット間のシームレスな移行を保証します。 このライブラリは、動的なPDFドキュメントをその場で生成する必要があるWebアプリケーションに特に有用です。
IronPDF を使用すると、開発者はPDFファイル構造を手動で管理することなく、.NETアプリケーションにPDF機能をシームレスに統合できます。 IronPDF は、HTMLページ(複雑なCSS、JavaScript、画像を含む)を構造化されたPDF文書に変換するために、Chromeベースのレンダリングエンジンを活用しています。 それは、レポート、請求書、電子書籍、またはPDF形式で提示する必要があるあらゆる種類のドキュメントの生成に使用できます。
IronPDFは多用途であり、PDFをレンダリングするだけでなく、編集、フォーム管理、暗号化など、幅広いPDF操作オプションを提供します。
HTMLからPDFへの変換
HTMLレンダリング: IronPDF は、HTMLファイル形式のドキュメントやウェブページ(CSS、画像、JavaScriptを含むHTML)を直接PDFドキュメントに変換できます。 HTMLテンプレートを使用して変換することもできます。 これは動的なウェブコンテンツからPDFを生成するのに最適です。
最新のHTML/CSSのサポート: IronPDFは最新のHTML5、CSS3、およびJavaScriptを処理し、ウェブベースのコンテンツがPDFとして正確にレンダーリングされるようにし、レイアウト、フォント、およびインタラクティブ要素を保持します。
カスタムヘッダーとフッター
PDFでのJavaScriptのサポート
既存のPDFを編集
PDFの結合と分割
インタラクティブフォームのサポート
ページ操作
セキュリティと暗号化
透かしとブランディング
テキストと画像の抽出
ユニコードと多言語サポート
APIと開発者に優しいツール
class Program
{
static void Main()
{
// Specify license key
License.LicenseKey = "Yoour Key";
// Create a new HtmlToPdf object
var Renderer = new ChromePdfRenderer();
// Define the HTML string/ HTML code to be converted, can use html document
string htmlContent = "<html><body><h1>IronPDF: Easily Convert HTML to PDF</h1></body></html>";
// Convert pdf simple HTML string to a PDF document
var document = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF output document to a file
document.SaveAs("html2Pdf.pdf"); // path to pdf file generated
}
}
class Program
{
static void Main()
{
// Specify license key
License.LicenseKey = "Yoour Key";
// Create a new HtmlToPdf object
var Renderer = new ChromePdfRenderer();
// Define the HTML string/ HTML code to be converted, can use html document
string htmlContent = "<html><body><h1>IronPDF: Easily Convert HTML to PDF</h1></body></html>";
// Convert pdf simple HTML string to a PDF document
var document = Renderer.RenderHtmlAsPdf(htmlContent);
// Save the PDF output document to a file
document.SaveAs("html2Pdf.pdf"); // path to pdf file generated
}
}
プログラムは、ライブラリの完全な機能を解放するために必要なIronPDF ライセンス キーを設定することから始まります。
ChromePdfRendererのインスタンスが初期化されます。 このコンポーネントはHTMLコンテンツをPDFドキュメントに変換する役割を担い、生のHTMLと最終的な出力の間の橋渡しをします。
文字列変数、htmlContent が作成され、PDF に変換されるHTML構造を格納します。 この例では、シンプルな見出しが含まれています。
RenderHtmlAsPdf() メソッドは、ChromePdfRenderer インスタンスで呼び出され、HTML 文字列を入力として渡します。 この関数はコンテンツを処理し、PDFドキュメントに変換します。
最後に、生成されたPDFはSaveAs()メソッドを使用して「html2Pdf.pdf」という名前のファイルに保存され、将来アクセスできるようディスクに保管されます。
Pixabay から追加アップロード
またはここに画像をドラッグアンドドロップします
画像の代替テキストを追加
IronPDFは、有効なライセンスキーが必要です。 公式ウェブサイトから試用ライセンスを取得できます。IronPDFライブラリを使用する前に、次のようにライセンスキーを設定してください。
IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key";
これは、ライブラリが制限なく動作することを保証します。
組み込みの.NET機能を利用したHTMLからPDFへの変換は、単純なユースケースに対する実現可能な解決策であるかもしれませんが、それには多くの労力が必要であり、現代的な機能が不足しています。 対照的に、IronPDFのようなライブラリは、強力な機能、高速な開発、先進的なHTMLレンダリングのサポートを提供し、ほとんどの開発者にとって定番の選択肢となっています。 最終的な決定は、プロジェクトの要件、予算、および開発の優先事項に依存します。