Como gerenciar fontes na conversão de HTML para PDF

Como gerenciar fontes em PDFs com C

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

O IronPDF permite o gerenciamento completo de fontes em C#, incluindo a localização, adição, incorporação, remoção da incorporação e substituição de fontes em documentos PDF, garantindo a exibição consistente do texto em todas as plataformas.

Uma fonte é um conjunto de caracteres, símbolos e glifos com um estilo e design consistentes. Representa um tipo de letra específico, tamanho, peso e estilo (como normal, negrito, itálico, etc.) do texto. As fontes são usadas em tipografia para exibir texto de maneira visualmente atraente e coerente.

O IronPDF oferece uma maneira prática de gerenciar fontes, disponibilizando funcionalidades como encontrar fontes, obter fontes, incorporar fontes, remover fontes e substituir fontes. Seja para criar novos PDFs ou editar documentos existentes , o gerenciamento adequado de fontes garante que seus PDFs sejam exibidos corretamente em todas as plataformas e dispositivos.

Início Rápido: Gerencie e Incorpore Fontes em seu PDF

Comece a usar o IronPDF para simplificar o gerenciamento de fontes em seus documentos PDF. Este guia mostra como incorporar fontes em PDFs para garantir consistência visual em diferentes plataformas. Com apenas algumas linhas de código, você pode melhorar a aparência do documento e manter a compatibilidade.

  1. Instale IronPDF com o Gerenciador de Pacotes NuGet

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

    ChromePdfRenderer renderer = new ChromePdfRenderer();
    PdfDocument pdf = renderer.RenderHtmlAsPdf("<p style='font-family:MyCustomFont;'>Hello world!</p>");
    pdf.Fonts.Add(File.ReadAllBytes("MyCustomFont.ttf"))
      .Embed();
    pdf.SaveAs("withCustomFont.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 faço para encontrar e recuperar fontes em um PDF?

Como faço para recuperar todas as fontes de um PDF?

Acessar a propriedade Fonts retorna o objeto PdfFontCollection que contém todas as fontes do documento. A propriedade Fonts pode ser acessada diretamente iterando sobre o objeto PdfFontCollection. Isso é particularmente útil ao trabalhar com formulários em PDF ou ao analisar a estrutura de documentos.

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-retrieve-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Collections.Generic;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Retreive font
PdfFontCollection fonts = pdf.Fonts;
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Collections.Generic

' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Retreive font
Private fonts As PdfFontCollection = pdf.Fonts
$vbLabelText   $csharpLabel

Como faço para encontrar uma fonte específica pelo nome?

Encontrar fontes específicas é muito fácil com o IronPDF. Utilizando o objeto PdfFontCollection, especifique o nome da fonte para acessar os objetos de fonte e inspecionar as propriedades. Essa funcionalidade é essencial quando você precisa substituir texto em documentos PDF , mantendo a consistência da fonte.

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-find-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Collections.Generic;
using System.Linq;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Find font
PdfFont font = pdf.Fonts["SpecialFontName"];
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Collections.Generic
Imports System.Linq

' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Find font
Private font As PdfFont = pdf.Fonts("SpecialFontName")
$vbLabelText   $csharpLabel

Como adiciono fontes a um PDF?

Use o método Add para adicionar fontes padrão ou arquivos de fonte como dados de byte. O método que aceita nomes de fontes aceita apenas uma das 14 fontes padrão . Adicionar fontes padrão não as incorpora, pois é garantido que elas estejam disponíveis nos sistemas operacionais. Ao converter HTML para PDF , o IronPDF lida automaticamente com as fontes da web presentes no seu HTML.

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-add-font.cs
using IronPdf;
using IronPdf.Fonts;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Add font
pdf.Fonts.Add("Helvetica");
Imports IronPdf
Imports IronPdf.Fonts

' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Add font
pdf.Fonts.Add("Helvetica")
$vbLabelText   $csharpLabel

Para gerenciamento avançado de fontes, incluindo fontes da web e fontes de ícones , o IronPDF oferece suporte abrangente às necessidades da tipografia moderna.

Por que devo incorporar fontes em PDFs?

A incorporação de fontes inclui os dados do fluxo de bytes da fonte no documento PDF. Isso garante a exibição correta sem a necessidade de instalação de fontes nos sistemas de visualização. Embora isso aumente o tamanho do arquivo, garante a consistência visual. Isso é crucial na criação de documentos compatíveis com PDF/A ou para garantir a portabilidade de documentos.

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-embed-font.cs
using IronPdf;
using System.Linq;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Add the font
byte[] fontData = System.IO.File.ReadAllBytes("dir/to/font.ttf");

// Embed the font
pdf.Fonts.Last().Embed(fontData);
Imports IronPdf
Imports System.Linq

' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Add the font
Private fontData() As Byte = System.IO.File.ReadAllBytes("dir/to/font.ttf")

' Embed the font
pdf.Fonts.Last().Embed(fontData)
$vbLabelText   $csharpLabel

A incorporação de fontes é particularmente importante para idiomas internacionais e o suporte a UTF-8 garante que os caracteres sejam exibidos corretamente em todos os sistemas.

Quando devo remover as fontes incorporadas dos PDFs?

A remoção de elementos incorporados elimina os dados do fluxo de bytes da fonte em PDFs para reduzir o tamanho do arquivo. Use o método Unembed para realizar essa operação. Essa técnica funciona bem com estratégias de compressão de PDF para minimizar o tamanho dos arquivos.

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-unembed-font.cs
using IronPdf;
using IronPdf.Fonts;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

// Get fonts
PdfFontCollection fonts = pdf.Fonts;

// Unembed a font
pdf.Fonts[0].Unembed();
Imports IronPdf
Imports IronPdf.Fonts

' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

' Get fonts
Private fonts As PdfFontCollection = pdf.Fonts

' Unembed a font
pdf.Fonts(0).Unembed()
$vbLabelText   $csharpLabel

Se fontes incomuns não tiverem fontes alternativas após a remoção da incorporação, elas podem aparecer corrompidas no PDF de saída. Verifique se a Adobe apresenta o mesmo problema — caso afirmativo, esse é o comportamento esperado. Caso contrário, entre em contato com o suporte para que seja feita uma investigação. As fontes corrompidas aparecem da seguinte forma:

A caixa de diálogo de erro de fonte do Adobe Acrobat exibe um aviso de fonte AAAAAA+Impact ausente com texto ilegível.

Como faço para substituir fontes em documentos PDF?

A substituição de fontes preserva a estrutura de dados original da fonte, incluindo estilo e codificação de caracteres, ao mesmo tempo que substitui a fonte especificada. Garanta que as novas fontes estejam em harmonia com as originais. Essa funcionalidade é útil ao editar PDFs ou padronizar fontes em diferentes documentos.

Em casos raros, os resultados visuais podem não corresponder perfeitamente. Essa é uma limitação atual do método de substituição de fontes.

:path=/static-assets/pdf/content-code-examples/how-to/manage-font-replace-font.cs
using IronPdf;
using IronPdf.Fonts;
using System.Linq;

// Import PDF
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

byte[] fontData = System.IO.File.ReadAllBytes("dir/to/font.ttf");
// Get and replace Font
pdf.Fonts["Courier"].ReplaceWith(fontData);
Imports IronPdf
Imports IronPdf.Fonts
Imports System.Linq

' Import PDF
Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

Private fontData() As Byte = System.IO.File.ReadAllBytes("dir/to/font.ttf")
' Get and replace Font
pdf.Fonts("Courier").ReplaceWith(fontData)
$vbLabelText   $csharpLabel

Quais são as 14 fontes padrão de PDF?

As 14 fontes padrão (Fontes Base 14 ou Fontes Padrão Tipo 1) são amplamente suportadas em visualizadores de PDF e não requerem incorporação. O padrão PDF garante que essas fontes estejam disponíveis ao trabalhar com documentos PDF. Essas fontes são essenciais para manter a compatibilidade ao criar PDFs a partir de diversas fontes .

  • Courier
  • Courier-Bold
  • Courier-Oblique
  • Courier-BoldOblique
  • Helvetica
  • Helvetica-Bold
  • Helvetica-Oblique
  • Helvetica-BoldOblique
  • Times-Roman
  • Times-Bold
  • Times-Italic
  • Times-BoldItalic
  • Symbol
  • ZapfDingbats

Quais nomes de fontes correspondem a fontes padrão?

Vários nomes de strings apontam para a mesma fonte padrão por conveniência. Este sistema de mapeamento garante a compatibilidade ao trabalhar com diferentes ferramentas de PDF e ao mesclar ou dividir PDFs .

Mapa para entrega

  • StandardFont.Courier
    • Estafeta
    • EstafetaNovo
    • EstafetaNovoPSMT
    • EstafetaStd

Mapa para Courier-Bold

  • StandardFont.CourierBold
    • Mensageiro, Ousado
  • Courier-Bold
    • EstafetaBold
    • EstafetaNovo, Ousado
    • EstafetaNovo-Negrito
    • EstafetaNovoBold
    • EstafetaNovoPS-BoldMT
    • EstafetaStd-Negrito

Mapa para Courier-Oblique

  • StandardFont.CourierOblique
    • Correio, Itálico
    • Estafeta-Oblíquo
    • EstafetaItálico
    • EstafetaNovo,Itálico
    • EstafetaNovo-Itálico
    • EstafetaNovoItálico
    • EstafetaNovoPS-ItálicoMT
    • EstafetaStd-Oblíquo

Mapa para Courier-NegritoOblíquo

  • StandardFont.CourierBoldOblique
    • Mensageiro, em negrito e itálico
    • Estafeta-NegritoOblíquo
    • EstafetaNegritoItálico
    • EstafetaNovo,NegritoItálico
    • EstafetaNovo-NegritoItálico
    • EstafetaNovoNegritoItálico
    • EstafetaNovoPS-NegritoItálicoMT
    • EstafetaStd-NegritoOblíquo

Mapa para Helvetica

  • StandardFont.Helvetica
    • Arial
    • ArialMT
  • Helvetica

Mapa para Helvetica-Negrito

  • StandardFont.HelveticaBold
    • Arial, Negrito
    • Arial-Negrito
    • Arial-NegritoMT
    • ArialBold
    • ArialMT,Negrito
    • ArialRoundedMTBold
  • Helvetica, negrito
  • Helvetica-Negrito
  • HelveticaBold

Mapa para Helvetica-Oblíqua

  • StandardFont.HelveticaOblique
    • Arial, Itálico
    • Arial-Itálico
    • Arial-ItálicoMT
    • ArialItálico
    • ArialMT,Itálico
  • Helvetica, Itálico
  • Helvetica-Itálico
  • Helvetica-Oblíqua
  • HelveticaItálico

Mapa para Helvetica-NegritoOblíquo

  • StandardFont.HelveticaBoldOblique
    • Arial,NegritoItálico
    • Arial-NegritoItálico
    • Arial-NegritoItálicoMT
    • ArialNegritoItálico
    • ArialMT,NegritoItálico
  • Helvetica, Negrito Itálico
  • Helvetica-NegritoItálico
  • Helvetica-NegritoOblíquo
  • HelveticaNegritoItálico

Mapa para Times-Roman

  • StandardFont.Times
    • Times-Roman
    • TimesNewRoman
    • TimesNewRomanPS
    • TimesNewRomanPSMT

Mapa para Times-Negrito

  • StandardFont.TimesBold
    • Times-Negrito
    • TimesBold
    • TimesNewRoman,Negrito
    • TimesNewRoman-Negrito
    • TimesNewRomanNegrito
    • TimesNewRomanPS-Negrito
    • TimesNewRomanPS-NegritoMT
    • TimesNewRomanPSMT,Negrito

Mapa para Times-Itálico

  • StandardFont.TimesOblique
    • Times-Itálico
    • TimesItálico
    • TimesNewRoman,Itálico
    • TimesNewRoman-Itálico
    • TimesNewRomanItálico
    • TimesNewRomanPS-Itálico
    • TimesNewRomanPS-ItálicoMT
    • TimesNewRomanPSMT,Itálico

Mapa para Times-NegritoItálico

  • StandardFont.TimesBoldOblique
    • Times-NegritoItálico
    • TimesNegritoItálico
    • TimesNewRoman,NegritoItálico
    • TimesNewRoman-NegritoItálico
    • TimesNewRomanNegritoItálico
    • TimesNewRomanPS-NegritoItálico
    • TimesNewRomanPS-NegritoItálicoMT
    • TimesNewRomanPSMT,NegritoItálico

Mapear para Símbolo

  • StandardFont.Symbol
    • Símbolo
    • SímboloMT

Mapa para ZapfDingbats

  • StandardFont.Dingbats
    • ZapfDingbats

Perguntas frequentes

Como faço para incorporar fontes personalizadas em documentos PDF usando C#?

Com o IronPDF, você pode incorporar fontes personalizadas usando o método `Add` na coleção `Fonts`, seguido pelo método `Embed`. Basta carregar seu arquivo de fonte como uma matriz de bytes e adicioná-lo ao PDF: `pdf.Fonts.Add(File.ReadAllBytes("MyCustomFont.ttf")).Embed()`. Isso garante que seus PDFs sejam exibidos corretamente em todas as plataformas.

Como posso recuperar todas as fontes de um documento PDF existente?

O IronPDF fornece acesso a todas as fontes do documento por meio da propriedade Fonts, que retorna um objeto PdfFontCollection. Você pode iterar por essa coleção para recuperar informações sobre as fontes, incluindo nomes, status de incorporação e tipos, facilitando a análise da estrutura do documento e do uso de fontes.

Qual a melhor maneira de encontrar uma fonte específica pelo nome em um PDF?

O IronPDF permite encontrar fontes específicas usando o objeto PdfFontCollection. Você pode pesquisar fontes especificando o nome da fonte, o que lhe dá acesso aos objetos da fonte e suas propriedades. Esse recurso é particularmente útil quando você precisa substituir ou modificar fontes específicas em seus documentos PDF.

Posso remover fontes incorporadas para reduzir o tamanho do arquivo PDF?

Sim, o IronPDF oferece o método Unembed, que permite remover fontes incorporadas de documentos PDF. Isso pode reduzir significativamente o tamanho do arquivo, mantendo a estrutura do documento, embora possa afetar a forma como o PDF é exibido em sistemas que não possuem as fontes necessárias instaladas.

Como faço para substituir fontes em documentos PDF existentes?

O IronPDF oferece um método de substituição que facilita a troca de fontes. Você pode facilmente substituir as fontes existentes por novas em todo o seu documento PDF, o que é útil para manter a consistência da marca ou atualizar documentos antigos com fontes modernas.

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.