Como incorporar caracteres UTF-8 em arquivos PDF usando C#

Usando C# para criar PDFs UTF-8/Unicode com idiomas internacionais

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

O IronPDF oferece suporte completo à codificação UTF-8 e a caracteres Unicode em PDFs, permitindo que os desenvolvedores renderizem idiomas internacionais como chinês, japonês, árabe e tailandês, definindo InputEncoding para UTF8 e garantindo a declaração correta do conjunto de caracteres nas meta tags HTML.

O IronPDF suporta a codificação UTF-8 em PDFs porque está em conformidade com o padrão do Chrome. Qualquer caractere que possa ser renderizado corretamente em um navegador Chrome será compatível com o IronPDF. Você pode ter certeza de que os caracteres em línguas estrangeiras serão exibidos corretamente. Neste tutorial, mostraremos passo a passo como renderizar UTF-8 em um PDF.

O mecanismo de renderização Chrome do IronPDF oferece suporte completo a caracteres Unicode, permitindo a criação de documentos multilíngues. Seja no desenvolvimento de aplicações para mercados internacionais ou no processamento de múltiplos conjuntos de caracteres em um único documento, o IronPDF garante uma renderização consistente e precisa em todas as plataformas. Essa capacidade se estende a scripts complexos, idiomas com escrita da direita para a esquerda e símbolos especiais.

Guia rápido: Gere PDFs codificados em UTF-8 com o IronPDF

Este exemplo mostra como gerar um PDF com codificação UTF-8 usando o IronPDF. Ao definir InputEncoding para UTF-8 e usar o método RenderHtmlAsPdf, os desenvolvedores podem garantir que os caracteres internacionais sejam exibidos corretamente. O processo requer apenas algumas linhas de código.

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronPdf
  2. Copie e execute este trecho de código.

    // 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. Implante para testar em seu ambiente de produção.

    Comece a usar IronPDF em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como criar um exemplo simples de PDF em UTF-8?

Ao trabalhar com o IronPDF, frequentemente usamos conjuntos de caracteres estendidos, como UTF-8 Encoding. Isso é essencial para criar PDFs que contenham texto em vários idiomas ou símbolos especiais. A codificação UTF-8 garante que todos os caracteres sejam representados e exibidos corretamente em seus documentos PDF, independentemente do idioma ou alfabeto utilizado.

Para desenvolvedores que trabalham com aplicações internacionais, entender como implementar corretamente a codificação UTF-8 é crucial. O IronPDF simplifica esse processo, fornecendo métodos diretos para lidar com caracteres Unicode. Você pode aprender mais sobre como trabalhar com idiomas internacionais e CMJK em nosso guia de solução de problemas.

Aqui temos um exemplo da string sendo passada para o método RenderHtmlAsPdf, que espera uma string HTML como entrada:

// 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

O texto acima está envolvido em tags <p> porque estamos lidando com uma string HTML. Você pode passar esta string HTML para o renderizador de PDF do IronPDF para Chrome usando métodos como RenderHtmlAsPdf. Para documentos HTML mais complexos, talvez você queira consultar nosso guia sobre conversão de HTML para 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

Ao trabalhar com conteúdo UTF-8, é importante entender como o IronPDF lida com diferentes tipos de conteúdo. Você também pode converter arquivos HTML que contenham caracteres UTF-8 usando métodos semelhantes. Além disso, se você estiver trabalhando com fontes da web para garantir a exibição correta dos caracteres, confira nosso guia sobre como usar fontes da web e fontes de ícones.

Este é o arquivo gerado pelo código:

Para garantir a codificação perfeita do seu HTML como PDF, especifique o conjunto de caracteres desejado em dois locais. Essa abordagem dupla garante que tanto o mecanismo de renderização quanto o próprio documento HTML estejam configurados corretamente para o conteúdo UTF-8:

  • Em ChromePdfRenderer.RenderingOptions usando System.Text.Encoding.UTF8
  • No seu cabeçalho HTML:
<html>
    <head>

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

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

O que devo saber sobre suporte linguístico internacional?

O IronPDF suporta a conversão de HTML para PDF em idiomas com escrita não latina, incluindo chinês, japonês, árabe, hebraico, russo, tailandês e todos os idiomas internacionais suportados pelo Unicode, inclusive documentos com idiomas mistos. O suporte abrangente a idiomas torna o IronPDF adequado para aplicações globais que precisam gerar PDFs em vários idiomas simultaneamente.

Ao desenvolver aplicações para públicos internacionais, o suporte linguístico adequado é crucial. O suporte a Unicode do IronPDF garante que seus PDFs serão exibidos corretamente, independentemente do idioma ou região de destino. Para obter informações mais detalhadas sobre como lidar com fontes em diferentes idiomas, consulte nosso guia de gerenciamento de fontes.

Há dois aspectos a considerar ao trabalhar com línguas internacionais:

Quais tipos de letra são compatíveis com o meu conjunto de caracteres?

É necessário instalar em seu servidor uma fonte tipográfica que suporte seu conjunto de caracteres. Normalmente, esses arquivos são instalados automaticamente em servidores web modernos, mas servidores mais antigos podem ter versões antigas de algumas fontes, como a Arial, que podem não ter suporte completo ao UTF-8.

Para solucionar problemas relacionados a fontes, especialmente ao implantar em diferentes ambientes, consulte nosso guia de solução de problemas de fontes. Se você estiver implantando em serviços de nuvem como Azure ou AWS, talvez seja necessário garantir a instalação correta das fontes, conforme detalhado em nosso guia de implantação do Azure ou guia de implantação da AWS.

Uma solução alternativa é especificar uma fonte da Web em seu CSS, como as fornecidas pelo Google Fonts. Você pode encontrar mais informações no artigo Como usar as fontes do Google no seu próximo projeto de web design. O IronPDF oferece suporte completo a fontes da web, o que pode ser particularmente útil ao trabalhar com conjuntos de caracteres especiais ou quando você precisa de uma renderização de fontes consistente em diferentes plataformas.

Como faço para configurar a codificação de entrada correta?

Você pode precisar especificar a codificação de entrada do seu documento para que ele seja renderizado corretamente. A configuração correta da codificação é essencial para a representação precisa dos caracteres em seus PDFs. Aqui estão os métodos para garantir a codificação correta:

Adicionando uma tag HTML "Meta Charset", por exemplo.

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

Além disso, ao trabalhar com conteúdo UTF-8 de fontes ou arquivos externos, você pode precisar lidar com diferentes cenários de codificação. Nosso guia completo sobre como criar novos PDFs aborda diversas abordagens para trabalhar com conteúdo codificado.

Para cenários avançados que envolvem vários idiomas e layouts complexos, o IronPDF oferece amplas opções de configuração. Você pode controlar vários aspectos da geração de PDFs, incluindo orientação da página, margens e muito mais, conforme detalhado em nosso guia de opções de renderização.

Pronto para ver o que mais você pode fazer? Confira nossa página de tutoriais aqui: Recursos adicionais

Perguntas frequentes

Como faço para criar um PDF codificado em UTF-8 em C#?

Para criar PDFs codificados em UTF-8 com o IronPDF, inicialize um ChromePdfRenderer, defina a propriedade InputEncoding como UTF-8 usando renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8 e, em seguida, use o método RenderHtmlAsPdf para converter HTML contendo caracteres internacionais em PDF.

Quais idiomas o IronPDF suporta para geração de PDFs?

O IronPDF é compatível com todos os idiomas internacionais, incluindo chinês, japonês, árabe, tailandês e outros idiomas que usam caracteres Unicode. Qualquer caractere que possa ser exibido em um navegador Chrome será exibido corretamente nos PDFs gerados pelo IronPDF.

Preciso incluir algo especial no meu HTML para ter suporte a UTF-8?

Sim, você deve sempre incluir uma tag meta charset='utf-8' no seu HTML ao trabalhar com caracteres internacionais. Isso garante a codificação correta dos caracteres quando o IronPDF renderiza o HTML para PDF.

O IronPDF consegue lidar com idiomas escritos da direita para a esquerda e com scripts complexos?

Sim, o mecanismo de renderização do Chrome do IronPDF oferece suporte completo a scripts complexos e idiomas da direita para a esquerda, como árabe e hebraico, garantindo uma renderização consistente e precisa em todas as plataformas.

Qual é o código mínimo necessário para gerar um PDF em UTF-8?

O código mínimo requer apenas três etapas: var renderer = new IronPDF.ChromePdfRenderer(); renderer.RenderingOptions.InputEncoding = System.Text.Encoding.UTF8; var pdf = renderer.RenderHtmlAsPdf('Seu texto UTF-8'); pdf.SaveAs('output.pdf');

Como o IronPDF garante a compatibilidade com caracteres Unicode?

O IronPDF está em conformidade com o padrão do Chrome para renderização, o que significa que oferece suporte completo à codificação UTF-8 e aos caracteres Unicode. Isso garante que qualquer caractere renderizado corretamente no Chrome será exibido com precisão nos PDFs criados com o IronPDF.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 18,318,263 | Versão: 2026.4 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPdf
executar um exemplo Veja seu HTML se transformar em um PDF.