如何使用 C# 在 PDF 檔案中嵌入 UTF-8 字元

使用 C# 建立包含國際語言的 UTF-8 / Unicode PDF 檔案

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF 完全支援 PDF 中的 UTF-8 編碼與 Unicode 字元,開發人員可透過將 InputEncoding 設定為 UTF8,並確保在 HTML meta 標籤中正確宣告字元集,來呈現中文、日文、阿拉伯文及泰文等國際語言。

IronPDF 支援 PDF 檔案中的 UTF-8 編碼,因為它符合 Chrome 標準。 凡是在 Chrome 瀏覽器中能正確顯示的字元,IronPDF 皆能支援。 請放心,外語文字的字元將能正確顯示。 在本篇操作指南中,我們將逐步說明如何在 PDF 中呈現 UTF-8 字元。

IronPDF 的 Chrome 渲染引擎完全支援 Unicode 字元,可建立多語言文件。 無論是開發面向國際市場的應用程式,還是處理單一文件中的多種字元集,IronPDF 都能確保在所有平台上呈現一致且精確的結果。 此能力涵蓋複雜的腳本、由右至左的語言以及特殊符號。

快速入門:使用 IronPDF 產生 UTF-8 編碼的 PDF 檔案

此範例展示如何使用 IronPDF 生成採用 UTF-8 編碼的 PDF 檔案。 透過將 InputEncoding 設定為 UTF-8 並使用 RenderHtmlAsPdf 方法,開發人員可確保國際化字元能正確顯示。 此流程僅需幾行程式碼即可完成。

  1. using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 請複製並執行此程式碼片段。

    // Initialize the Chrome PDF renderer
    var renderer = new IronPdf.ChromePdfRenderer();
    
    // Set the input encoding to UTF-8 to support international characters
    renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;
    
    // Render HTML containing Japanese text to PDF
    // Note: Always include meta charset='utf-8' in your HTML
    var pdf = renderer.RenderHtmlAsPdf("<html><head><meta charset='utf-8'></head><body>こんにちは世界</body></html>");
    
    // Save the PDF with UTF-8 content
    pdf.SaveAs("utf8-example.pdf");
  3. 部署至您的生產環境進行測試

    立即透過免費試用,在您的專案中開始使用 IronPDF

    arrow pointer

如何建立一個簡單的 UTF-8 PDF 範例?

在處理 IronPDF 時,我們常會使用擴充字元集,例如 UTF-8 Encoding。 這對於建立包含多國語言文字或特殊符號的 PDF 檔案至關重要。 UTF-8 編碼可確保所有字元在 PDF 文件中都能正確呈現與顯示,無論使用何種語言或文字系統。

對於從事國際化應用程式開發的開發者而言,理解如何正確實作 UTF-8 編碼至關重要。 IronPDF 透過提供簡易的方法來處理 Unicode 字元,從而簡化此流程。 您可參閱我們的疑難排解指南,進一步了解如何處理國際化語言及 CMJK 格式。

以下是一個將字串傳入 RenderHtmlAsPdf 方法的範例,該方法預期接收 HTML 字串輸入:

// Example HTML content containing text in multiple languages
// Japanese, Arabic, and Thai text samples for demonstration
string htmlContent = @"
    <p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>

    <p>أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملا المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.</p>

    <p>ภคนทลาพาธสตารเซฟต แชมป มารเกตตงลมเหลวโยเกรต แลนดบาบนอมครม รสโซ แบรนดไคลแมกซ พซซาโมเดลเสอโครง มอบโซนรายชอ
    แอดมชชน ดอกเตอร พะเรอ มารคเจไดโมจราสเบอรร เอนทรานซออดชนศลปวฒนธรรมเปราะบาง โมจซเรยสวอลนตทรปลเมอร ทป วาไรตบกเมเปล</p>
";
// Example HTML content containing text in multiple languages
// Japanese, Arabic, and Thai text samples for demonstration
string htmlContent = @"
    <p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>

    <p>أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملا المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.</p>

    <p>ภคนทลาพาธสตารเซฟต แชมป มารเกตตงลมเหลวโยเกรต แลนดบาบนอมครม รสโซ แบรนดไคลแมกซ พซซาโมเดลเสอโครง มอบโซนรายชอ
    แอดมชชน ดอกเตอร พะเรอ มารคเจไดโมจราสเบอรร เอนทรานซออดชนศลปวฒนธรรมเปราะบาง โมจซเรยสวอลนตทรปลเมอร ทป วาไรตบกเมเปล</p>
";
$vbLabelText   $csharpLabel

上述文字被 <p> 標籤包圍,因為我們處理的是 HTML 字串。 您可以透過 RenderHtmlAsPdf 等方法,將此 HTML 字串傳遞給 IronPDF 的 Chrome PDF Renderer。 若需處理更複雜的 HTML 文件,建議參考我們的 HTML 轉 PDF 轉換指南。

:path=/static-assets/pdf/content-code-examples/how-to/utf-8.cs
using IronPdf;

const string html_with_utf_8 =
    @"<p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>
    <p>
    أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.
    </p>
    <p>
    ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
    แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล
    </p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8;

var pdf = renderer.RenderHtmlAsPdf(html_with_utf_8);
pdf.SaveAs("Unicode.pdf");
Imports IronPdf

Private Const html_with_utf_8 As String = "<p>周態告応立待太記行神正用真最。音日独素円政進任見引際初携食。更火識将回興継時億断保媛全職。
    文造画念響竹都務済約記求生街東。天体無適立年保輪動元念足総地作靖権瀬内。
    失文意芸野画美暮実刊切心。感変動技実視高療試意写表重車棟性作家薄井。
    陸瓶右覧撃稿法真勤振局夘決。任堀記文市物第前兜純響限。囲石整成先尾未展退幹販山令手北結。</p>
    <p>
    أم يذكر النفط قبضتهم على, الصين وفنلندا ما حدى. تم لكل أملاً المنتصر,
    ٣٠ حدى مارد القوى. شرسة للسيطرة قامفي. حتى أم يطول المحيط,
    زهاء وحلفاؤها من فعل. لم قامت الجو الساحلية وتم, ويعزى واقتصار قبل كل.
    </p>
    <p>
    ภคันทลาพาธสตาร์เซฟตี้ แชมป์ มาร์เก็ตติ้งล้มเหลวโยเกิร์ต แลนด์บาบูนอึมครึม รุสโซ แบรนด์ไคลแม็กซ์ พิซซ่าโมเดลเสือโคร่ง ม็อบโซนรายชื่อ
    แอดมิชชั่น ด็อกเตอร์ พะเรอ มาร์คเจไดโมจิราสเบอร์รี เอนทรานซ์ออดิชั่นศิลปวัฒนธรรมเปราะบาง โมจิซีเรียสวอลนัตทริปลีเมอร์ ทิป วาไรตี้บิ๊กเมเปิล
    </p>"

Private renderer = New ChromePdfRenderer()
renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8

Dim pdf = renderer.RenderHtmlAsPdf(html_with_utf_8)
pdf.SaveAs("Unicode.pdf")
$vbLabelText   $csharpLabel

處理 UTF-8 內容時,務必了解 IronPDF 如何處理不同類型的內容。 您亦可使用類似方法轉換包含 UTF-8 字元的 HTML 檔案。 此外,若您正在使用網頁字型以確保字元顯示正確,請參閱我們關於使用網頁字型與圖示字型的指南。

這是程式碼產生的檔案:

為確保 HTML 轉為 PDF 時編碼完美無誤,請在兩個位置指定您所需的字元集。 此雙重方法可確保渲染引擎與 HTML 文件本身均針對 UTF-8 內容進行了正確配置:

  • ChromePdfRenderer.RenderingOptions 中使用 System.Text.Encoding.UTF8
  • 在您的 HTML 頁首中:
<html>
    <head>

        <meta charset='utf-8'>
    </head>
    <body>
        こんにちは世界
    </body>
</html>
<html>
    <head>

        <meta charset='utf-8'>
    </head>
    <body>
        こんにちは世界
    </body>
</html>
HTML

關於國際語言支援,我需要了解哪些事項?

IronPDF 支援非拉丁文字語言的 HTML 轉 PDF 功能,包括中文、日文、阿拉伯文、希伯來文、俄文、泰文,以及 Unicode 支援的所有國際語言,包含混合語言文件。 這項全面的語言支援功能,使 IronPDF 非常適合需要同時生成多種語言 PDF 檔案的全球性應用程式。

在為國際受眾開發應用程式時,完善的語言支援至關重要。 IronPDF 的 Unicode 支援功能可確保您的 PDF 文件無論在何種目標語言或地區,皆能正確顯示。 如需了解不同語言中字型處理的詳細資訊,請參閱我們的字型管理指南。

在處理國際化語言時,有兩點需特別留意:

哪些字型支援我的字元集?

您的伺服器上必須安裝支援該字元集的字型。 這些字型通常會自動安裝在現代的網頁伺服器上,但較舊的伺服器可能安裝了某些舊版字型(例如 Arial),這些字型可能不完全支援 UTF-8。

若需排除與字型相關的問題(特別是在部署至不同環境時),請參閱我們的字型疑難排解指南。 若您部署至 Azure 或 AWS 等雲端服務,可能需要確保正確安裝字型,詳情請參閱我們的 Azure 部署指南或 AWS 部署指南。

另一種解決方案是在 CSS 中指定 Web Font,例如 Google Fonts 所提供的字型。 更多資訊請參閱文章《如何在您的下一個網頁設計專案中使用 Google Fonts》。 IronPDF 完全支援網頁字型,這在處理特殊字元集或需要在不同平台上保持字型渲染一致性時,尤其實用。

如何設定正確的輸入編碼?

您可能需要指定文件的輸入編碼,以確保正確顯示。 正確的編碼設定對於 PDF 檔案中字元的準確呈現至關重要。 以下是確保編碼正確的方法:

新增 HTML"Meta Charset"標籤,例如:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
HTML

此外,在處理來自外部來源或檔案的 UTF-8 內容時,您可能需要應對不同的編碼情境。 我們關於建立新 PDF 的完整指南涵蓋了處理編碼內容的各種方法。

針對涉及多種語言與複雜版面的進階情境,IronPDF 提供豐富的設定選項。 您可以控制 PDF 生成的各項設定,包括頁面方向、邊距等,詳情請參閱我們的渲染選項指南。

準備好探索更多可能性了嗎? 請點此查看我們的教學頁面:其他功能

常見問題

如何在 C# 中建立 UTF-8 編碼的 PDF 檔案?

若要使用 IronPDF 建立 UTF-8 編碼的 PDF 檔案,請先初始化 ChromePdfRenderer,透過 `renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8` 將 InputEncoding 屬性設定為 UTF-8,接著使用 `RenderHtmlAsPdf` 方法將包含國際字元的 HTML 轉換為 PDF。

IronPDF 支援哪些語言來生成 PDF 檔案?

IronPDF 支援所有國際語言,包括中文、日文、阿拉伯文、泰文,以及其他使用 Unicode 字元的語言。任何可在 Chrome 瀏覽器中顯示的字元,都將在 IronPDF 生成的 PDF 檔案中正確呈現。

為了支援 UTF-8,我在 HTML 中需要加入什麼特別的內容嗎?

是的,在處理國際化字元時,您應始終在 HTML 中加入 meta charset='utf-8' 標籤。這能確保 IronPDF 將 HTML 渲染為 PDF 時,字元編碼能正確處理。

IronPDF 能否處理由右至左的語言及複雜文字系統?

是的,IronPDF 的 Chrome 渲染引擎完全支援複雜的字元編碼以及阿拉伯語和希伯來語等由右至左書寫的語言,確保在所有平台上都能一致且精確地呈現。

生成 UTF-8 PDF 所需的最小程式碼為何?

最簡化的程式碼僅需三個步驟:var renderer = new IronPdf.ChromePdfRenderer(); renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8; var pdf = renderer.RenderHtmlAsPdf('您的 UTF-8 文字'); pdf.SaveAs('output.pdf');

IronPDF 如何確保 Unicode 字元相容性?

IronPDF 符合 Chrome 的渲染標準,這意味著它完全支援 UTF-8 編碼和 Unicode 字元。這確保了任何在 Chrome 中能正確渲染的字元,在以 IronPDF 建立的 PDF 檔案中也能準確顯示。

Curtis Chau
技術撰稿人

Curtis Chau 擁有卡爾頓大學(Carleton University)的電腦科學學士學位,專精於前端開發,並精通 Node.js、TypeScript、JavaScript 及 React。他熱衷於打造直觀且美觀的用戶介面,喜歡運用現代框架,並創建結構完善、視覺上吸引人的手冊。

除了開發工作之外,Curtis 對物聯網(IoT)抱有濃厚興趣,致力於探索整合硬體與軟體的創新方法。閒暇時,他喜歡玩遊戲和開發 Discord 機器人,將對科技的熱愛與創意相結合。

準備開始了嗎?
Nuget 下載 19,014,616 | 版本: 2026.5 just released
Still Scrolling Icon

還在往下捲動嗎?

想要快速確認成果嗎? PM > Install-Package IronPdf
執行範例 觀看您的 HTML 轉為 PDF。