RenderHtmlAsPdf()を使用した場合にIronPDFにエモジがレンダリングされない

Curtis Chau
Curtis Chau
Updated: 2026年6月10日

HTMLをRenderHtmlAsPdf()を使用してレンダリングする際に、絵文字文字を含む場合、ブラウザの印刷プレビューでは正しく表示され、HTMLがUTF-8として正しくエンコードされているにもかかわらず、生成されるPDFには絵文字が表示されません。

文字列ベースのRenderHtmlAsPdf()メソッドには、Unicodeの取り扱いに制限があり、出力されるPDFから絵文字が削除される原因となります。 ファイルベースのレンダリングは、内容が実際のブラウザに近いコンテクストで処理されるため、Unicodeおよびエモジ処理が向上します。

解決策

オプション1: RenderHtmlFileAsPdf()を使用

HTMLコンテンツを一時ファイルに書き込み、そのファイルパスからレンダリングします:

string tempPath = Path.GetTempFileName() + ".html";
File.WriteAllText(tempPath, htmlContent, System.Text.Encoding.UTF8);

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf(tempPath);

File.Delete(tempPath);
pdf.SaveAs("output.pdf");

オプション2: エモジを数値HTMLエンティティに変換

エモジ文字をレンダリングする前に、その数値HTMLエンティティ相当へ変換してください:

<!-- Instead of 👋 use: -->
&#128075;

<!-- Instead of 😊 use: -->
&#128522;
HTML

オプション1は、テンプレートに多くのエモジ文字が含まれる場合に、繰り返しエンティティ検索を避けられます。

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

詳しく読む

準備はできましたか?

Nuget Downloads 21,739,885バージョン:2026.10リリースされたばかり