如何使用 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字元,允許開發者通過將UTF8並確保HTML中標籤正確聲明字元集來呈現中文、日文、阿拉伯語和泰語等國際語言。

IronPDF支持PDF中的UTF-8編碼,因為它符合Chrome標準。 任何在Chrome瀏覽器中可以正確呈現的字元都將由IronPDF支持。 您可以放心,外語的字元將會正確呈現。 在這個操作指南中,我們將逐步講解如何在PDF中呈現UTF-8。

IronPDF的Chrome渲染引擎提供對Unicode字元的完全支持,能夠建立多語言文件。 無論是為國際市場開發應用,還是處理單個文件中的多種字元集,IronPDF確保所有平台上的一致和準確渲染。 這種能力擴展到複雜腳本、從右到左的語言和特殊符號。

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

此範例顯示如何使用IronPDF生成具有UTF-8編碼的PDF。 通過將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字串。 您可以將此HTML字串傳遞給IronPDF的Chrome PDF渲染器,使用像RenderHtmlAsPdf這樣的方法。 對於更複雜的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內容:

  • 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
Icon Quote related to 如何建立一個簡單的UTF-8 PDF範例?

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

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

Milan Jovanovic

Microsoft MVP

查看案例研究
Icon Quote related to 如何建立一個簡單的UTF-8 PDF範例?

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

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

Brent Matzelle

首席技術官,OPYN

查看案例研究
Icon Quote related to 如何建立一個簡單的UTF-8 PDF範例?

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

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

David Jones

首席軟體工程師,Agorus Build

查看案例研究

國際語言支持我應該了解什麼?

IronPDF支持非拉丁文編寫語言的HTML到PDF轉換,包括中文、日文、阿拉伯文、希伯來文、俄文、泰文以及所有受Unicode支持的國際語言,包括混合語言文件。 這種全面的語言支持使IronPDF適合需要同時生成多種語言PDF的全球應用程式。

為了開發面向國際受眾的應用程式,正確的語言支持至關重要。 IronPDF的Unicode支持確保您的PDF無論目標語言和地區如何,都會正確顯示。 有關處理不同語言字體的更多詳細資訊,請參閱我們的字體管理指南。

使用國際語言時需要考慮兩件事:

哪款字體支持我的字元集?

支持您字元集的字體必須安裝在您的伺服器上。 這些通常自動安裝在現代Web伺服器上,但舊伺服器可能安裝了一些字體的舊版本,如Arial,這些可能不具完全的UTF-8支持。

對於相關的字體問題進行故障排除,尤其是在部署到不同環境時,請查看我們的字體故障排除指南。 如果您正在部署到像Azure或AWS的雲服務,您可能需要確保字體安裝正確,如我們的Azure部署指南或AWS部署指南中所述。

另一個解決方案是指定CSS中的網頁字體,例如由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大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

除了開發,Curtis對物聯網(IoT)有濃厚的興趣,探索創新的方法來整合硬體和軟體。在空閒時間,他喜歡玩遊戲和建立Discord機器人,結合他對技術的熱愛與創造力。

準備開始了嗎?
Nuget 下載 20,296,129 | 版本: 2026.7 剛剛發布
Still Scrolling Icon

還在捲動嗎?

想快速獲得證明嗎? PM > Install-Package IronPdf
執行範例 看您的HTML變成PDF。