如何使用 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完全支援 UTF-8 編碼和 PDF 中的 Unicode 字符,允許開發人員透過將 InputEncoding 設定為 UTF8 並確保在 HTML meta 標籤中正確聲明字元集來渲染中文、日文、阿拉伯文和泰文等國際語言。

IronPDF支援 PDF 中的 UTF-8 編碼,因為它符合 Chrome 標準。 IronPDF支援 Chrome 瀏覽器中能夠正確渲染的任何字元。 您可以放心,外語字元將會正確顯示。 在本教程中,我們將逐步介紹如何在 PDF 中渲染 UTF-8 編碼。

IronPDF 的 Chrome 渲染引擎完全支援 Unicode 字符,從而可以建立多語言文件。 無論是為國際市場開發應用程序,還是在單一文件中處理多個字元集, IronPDF都能確保在所有平台上實現一致且準確的渲染。 此功能還支援複雜的文字、從右到左的語言和特殊符號。

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

本範例展示如何使用IronPDF產生 UTF-8 編碼的 PDF 檔案。 透過將 InputEncoding 設為 UTF-8 並使用 RenderHtmlAsPdf 方法,開發人員可以確保國際字元正確顯示。 這個過程只​​需要幾行程式碼。

  1. 使用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 渲染器。 對於更複雜的 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");
$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 字體,例如 Google Fonts 提供的字體。 更多資訊請參閱文章《如何在下一個網頁設計專案中使用 Google Fonts》。 IronPDF完全支援 Web 字體,這在處理特殊字元集或需要在不同平台上保持一致的字體渲染時特別有用。

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

您可能需要指定文件的輸入編碼才能正確渲染。 正確的編碼配置對於確保 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 屬性為 UTF8,然後使用 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('Your UTF-8 text'); pdf.SaveAs('output.pdf');

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

IronPDF 符合 Chrome 的渲染標準,這意味著它完全支援 UTF-8 編碼和 Unicode 字符。這可確保任何在 Chrome 瀏覽器中正確呈現的字元,都能在 IronPDF 所建立的 PDF 中準確顯示。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

準備好開始了嗎?
Nuget 下載 17,803,474 | 版本: 2026.3 剛剛發布
Still Scrolling Icon

還在滾動嗎?

想快速取得證據? PM > Install-Package IronPdf
運行範例看著你的HTML程式碼變成PDF檔。