Jak zarządzać czcionkami podczas konwersji HTML do PDF

Jak zarządzać czcionkami w dokumentach PDF w C

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

IronPDF umożliwia kompleksowe zarządzanie czcionkami w C#, w tym wyszukiwanie, dodawanie, osadzanie, usuwanie osadzeń oraz zastępowanie czcionek w dokumentach PDF, aby zapewnić spójne wyświetlanie tekstu na wszystkich platformach.

Czcionka to zestaw znaków, symboli i glifów o spójnym stylu i projekcie. Reprezentuje konkretną czcionkę, rozmiar, wagę i styl (takie jak regularny, pogrubiony, kursywa itp.) tekstu. Czcionki są używane w typografii do wyświetlania tekstu w sposób wizualnie atrakcyjny i spójny.

IronPDF zapewnia wygodny sposób zarządzania czcionkami, oferując funkcje takie jak wyszukiwanie czcionek, pobieranie czcionek, osadzanie czcionek, usuwanie osadzeń czcionek oraz zastępowanie czcionek. Niezależnie od tego, czy tworzysz nowe pliki PDF, czy edytujesz istniejące dokumenty, odpowiednie zarządzanie czcionkami zapewnia prawidłowe wyświetlanie plików PDF na wszystkich platformach i urządzeniach.

Szybki start: Zarządzanie czcionkami i osadzanie ich w plikach PDF

Zacznij korzystać z IronPDF, aby usprawnić zarządzanie czcionkami w dokumentach PDF. Ten przewodnik pokazuje, jak osadzać czcionki w plikach PDF w celu zachowania spójności wizualnej na różnych platformach. Wystarczy kilka wierszy kodu, aby poprawić wygląd dokumentu i zachować kompatybilność.

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf
  2. Skopiuj i uruchom ten fragment kodu.

    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. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer

Jak znaleźć i pobrać czcionki z pliku PDF?

Jak pobrać wszystkie czcionki z pliku PDF?

Dostęp do właściwości Fonts zwraca obiekt PdfFontCollection zawierający wszystkie czcionki dokumentu. Dostęp do właściwości Fonts można uzyskać bezpośrednio poprzez iterację nad obiektem PdfFontCollection. Jest to szczególnie przydatne podczas pracy z formularzami PDF lub analizowania struktury dokumentów.

: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

Jak znaleźć konkretną czcionkę po nazwie?

Znalezienie konkretnych czcionek jest proste dzięki IronPDF. Za pomocą obiektu PdfFontCollection określ nazwę czcionki, aby uzyskać dostęp do obiektów czcionek i sprawdzić ich właściwości. Ta funkcja jest niezbędna, gdy trzeba zastąpić tekst w dokumentach PDF, zachowując spójność czcionek.

: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

Jak dodać czcionki do pliku PDF?

Użyj metody Add, aby dodać standardowe czcionki lub pliki czcionek jako dane bajtowe. Metoda przyjmująca nazwy czcionek akceptuje tylko jedną z 14 standardowych czcionek. Dodanie standardowych czcionek nie powoduje ich osadzenia, ponieważ są one gwarantowane w systemach operacyjnych. Podczas konwersji HTML do PDF IronPDF automatycznie obsługuje czcionki internetowe z pliku 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

W zakresie zaawansowanego zarządzania czcionkami, w tym czcionkami internetowymi i czcionkami ikonowymi, IronPDF zapewnia kompleksowe wsparcie dla współczesnych potrzeb typograficznych.

Dłączego warto osadzać czcionki w plikach PDF?

Osadzanie czcionek obejmuje umieszczenie danych strumienia bajtów czcionki w dokumencie PDF. Zapewnia to prawidłowe wyświetlanie bez konieczności instalowania czcionek w systemach wyświetlających. Chociaż powoduje to zwiększenie rozmiaru pliku, gwarantuje spójność wizualną. Ma to kluczowe znaczenie podczas tworzenia dokumentów zgodnych ze standardem PDF/A lub zapewniania przenośności dokumentów.

: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

Osadzanie czcionek jest szczególnie ważne w przypadku języków międzynarodowych, a obsługa UTF-8 zapewnia prawidłowe wyświetlanie znaków we wszystkich systemach.

Kiedy należy wyodrębnić czcionki z plików PDF?

Usunięcie osadzenia polega na usunięciu osadzonych danych strumienia bajtów czcionek z plików PDF w celu zmniejszenia rozmiaru pliku. Aby to osiągnąć, należy użyć metody Unembed. Technika ta dobrze sprawdza się w połączeniu ze strategiami kompresji plików PDF, pozwalając zminimalizować rozmiar plików.

: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

Jeśli rzadko spotykane czcionki nie mają czcionek zastępczych po usunięciu osadzenia, mogą wyglądać na uszkodzone w pliku PDF. Sprawdź, czy w programie Adobe występuje ten sam problem — jeśli tak, jest to oczekiwane zachowanie. W przeciwnym razie skontaktuj się z pomocą techniczną w celu zbadania sprawy. Uszkodzone czcionki wyglądają następująco:

Okno dialogowe błędu czcionki programu Adobe Acrobat wyświetlające ostrzeżenie o brakującej czcionce AAAAAA+Impact z zniekształconym tekstem

Jak zmienić czcionki w dokumentach PDF?

Zastąpienie czcionki zachowuje oryginalną strukturę danych czcionki, w tym stylizację i kodowanie znaków, jednocześnie zastępując określoną czcionkę. Należy zadbać o to, aby nowe czcionki dobrze komponowały się z oryginałami. Ta funkcja jest przydatna podczas edycji plików PDF lub ujednolicania czcionek w różnych dokumentach.

W rzadkich przypadkach wyniki wizualne mogą nie być idealnie zgodne. Jest to obecne ograniczenie metody zamiany czcionek.

: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

Jakie jest 14 standardowych czcionek PDF?

14 standardowych czcionek (czcionki Base 14 lub czcionki Standard Type 1) jest szeroko obsługiwanych w przeglądarkach PDF i nie wymaga osadzania. Standard PDF gwarantuje dostępność tych czcionek podczas pracy z dokumentami PDF. Czcionki te są niezbędne do zachowania zgodności podczas tworzenia plików PDF z różnych źródeł.

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

Które nazwy czcionek odpowiadają czcionkom standardowym?

Dla wygody wiele nazw ciągów znaków odnosi się do tej samej standardowej czcionki. Ten system mapowania zapewnia kompatybilność podczas pracy z różnymi narzędziami do obsługi plików PDF oraz podczas łączenia lub dzielenia plików PDF.

Mapuj na Courier

  • StandardFont.Courier
  • Courier
  • CourierNew
  • CourierNewPSMT
  • CourierStd

Mapuj na Courier-Bold

  • StandardFont.CourierBold
  • Courier, pogrubiona
  • Courier-Bold
  • CourierBold
  • CourierNew, pogrubiona
  • CourierNew-Bold
  • CourierNewBold
  • CourierNewPS-BoldMT
  • CourierStd-Bold

Mapuj na Courier-Oblique

  • StandardFont.CourierOblique
    • Pochylona, Kursywa
  • Courier-Oblique
  • CourierItalic
  • CourierNew, kursywa
  • CourierNew-Italic
  • CourierNewItalic
  • CourierNewPS-ItalicMT
  • CourierStd-Oblique

Mapuj do Courier-BoldOblique

  • StandardFont.CourierBoldOblique
  • Courier, pogrubiona, kursywa
  • Courier-BoldOblique
  • CourierBoldItalic
  • CourierNew, pogrubiona i pochylona
  • CourierNew-BoldItalic
  • CourierNewBoldItalic
  • CourierNewPS-BoldItalicMT
  • CourierStd-BoldOblique

Mapowanie na czcionkę Helvetica

  • StandardFont.Helvetica
  • Arial
  • ArialMT
  • Helvetica

Mapuj na Helvetica-Bold

  • StandardFont.HelveticaBold
  • Arial, pogrubiona
  • Arial-Bold
  • Arial-BoldMT
  • ArialBold
  • ArialMT, pogrubiona
  • ArialRoundedMTBold
  • Helvetica, pogrubiona
  • Helvetica-Bold
  • HelveticaBold

Mapowanie na czcionkę Helvetica-Oblique

  • StandardFont.HelveticaOblique
  • Arial, kursywa
  • Arial-Italic
  • Arial-ItalicMT
  • ArialItalic
  • ArialMT, kursywa
  • Helvetica, kursywa
  • Helvetica-Italic
  • Helvetica-Oblique
  • HelveticaItalic

Mapuj na Helvetica-BoldOblique

  • StandardFont.HelveticaBoldOblique
  • Arial, pogrubiona, kursywa
  • Arial-BoldItalic
  • Arial-BoldItalicMT
  • ArialBoldItalic
  • ArialMT, pogrubiona i pochylona
  • Helvetica, pogrubiona, kursywa
  • Helvetica-BoldItalic
  • Helvetica-BoldOblique
  • HelveticaBoldItalic

Mapowanie na czcionkę Times-Roman

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

Mapowanie do czcionki Times-Bold

  • StandardFont.TimesBold
  • Times-Bold
    • TimesBold
    • TimesNewRoman, pogrubiona
    • TimesNewRoman-Bold
    • TimesNewRomanBold
    • TimesNewRomanPS-Bold
    • TimesNewRomanPS-BoldMT
    • TimesNewRomanPSMT, pogrubiona

Mapowanie na czcionkę Times-Italic

  • StandardFont.TimesOblique
  • Times-Italic
    • TimesItalic
    • TimesNewRoman, kursywa
    • TimesNewRoman-Italic
    • TimesNewRomanItalic
    • TimesNewRomanPS-Italic
    • TimesNewRomanPS-ItalicMT
    • TimesNewRomanPSMT,Italic

Mapuj na Times-BoldItalic

  • StandardFont.TimesBoldOblique
  • Times-BoldItalic
    • TimesBoldItalic
    • TimesNewRoman, pogrubiona kursywa
    • TimesNewRoman-BoldItalic
    • TimesNewRomanBoldItalic
    • TimesNewRomanPS-BoldItalic
    • TimesNewRomanPS-BoldItalicMT
    • TimesNewRomanPSMT, pogrubiona kursywa

Mapowanie do symbolu

  • StandardFont.Symbol
  • Symbol
  • SymbolMT

Mapowanie do ZapfDingbats

  • StandardFont.Dingbats
  • ZapfDingbats

Często Zadawane Pytania

Jak osadzic niestandardowe czcionki w dokumentach PDF uzywajac C#?

Z IronPDF mozna osadzic niestandardowe czcionki uzywajac metody Add na kolekcji czcionek, a nastepnie metody Embed. Po prostu zaladuj plik czcionek jako tablice bajtow i dodaj go do PDF: pdf.Fonts.Add(File.ReadAllBytes("MyCustomFont.ttf")).Embed(). To zapewnia, ze Twoje PDFy beda wyswietlane poprawnie na wszystkich platformach.

Jak moge odzyskac wszystkie czcionki z istniejacego dokumentu PDF?

IronPDF zapewnia dostep do wszystkich czcionek dokumentu przez wlasciwosc Fonts, która zwraca obiekt PdfFontCollection. Mozesz iterować przez ta kolekcje, aby odkryc informacje o czcionkach, w tym nazwy czcionek, status osadzenia i typy czcionek, co ułatwia analize struktury dokumentu i uzycie czcionek.

Jaki jest najlepszy sposob, aby znalezc konkretna czcionke wedlug nazwy w PDF?

IronPDF pozwala znalezc konkretne czcionki uzywajac obiektu PdfFontCollection. Mozesz szukac czcionek, podajac nazwe czcionki, co daje Ci dostep do obiektow czcionek i ich wlasciwosci. Ta funkcja jest szczegolnie przydatna, gdy trzeba wymienic lub zmodyfikowac konkretne czcionki w dokumentach PDF.

Czy moge usunac osadzone czcionki, aby zmniejszyc rozmiar pliku PDF?

Tak, IronPDF zapewnia metode Unembed, która pozwala usuwac osadzone czcionki z dokumentow PDF. Moze to znacznie zmniejszyc rozmiar pliku, zachowujac przy tym strukture dokumentu, chociaz moze to wplynac na wyswietlanie PDF na systemach, bez wymaganych czcionek zainstalowanych.

Jak zamienic czcionki w istniejacych dokumentach PDF?

IronPDF oferuje metode Replace, która ułatwia zamiane czcionek. Mozesz latwo wymienic istniejace czcionki na nowe w calym dokumencie PDF, co jest przydatne przy zachowaniu spojnosc marki lub aktualizacji dokumentow starszych o nowoczesne czcionki.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 18,926,724 | Wersja: 2026.5 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronPdf
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.