Schriftarten in PDF verwalten

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

von Chaknith

Eine Schriftart ist ein Satz von Zeichen, Symbolen und Glyphen mit einem einheitlichen Stil und Design. Sie steht für eine bestimmte Schriftart, Größe, Gewicht und Stil(wie normal, fett, kursiv, usw.) des Textes. Schriftarten werden in der Typografie verwendet, um Text visuell ansprechend und kohärent darzustellen.

IronPDF bietet eine bequeme Möglichkeit, Schriften zu verwalten, indem es Funktionen wie das Suchen von Schriften, das Abrufen von Schriften, das Einbetten von Schriften, das Aufheben der Einbettung von Schriften und das Ersetzen von Schriften anbietet.

Suchen und Abrufen von Schriften

Schriftart abrufen

Der Zugriff auf die Eigenschaft Fonts gibt das Objekt PdfFontCollection zurück, das die Liste aller Schriftarten des Dokuments enthält. Auf die Eigenschaft Fonts kann direkt zugegriffen werden, indem über das Objekt PdfFontCollection iteriert wird.

: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
VB   C#

Schriftart finden

Die Suche nach einer bestimmten Schriftart ist mit IronPDF ganz einfach. Mit dem PdfFontCollection-Objekt können wir den Namen der Schrift als Zeichenkette in eckigen Klammern angeben. Zum Beispiel: Schriftarten["SpecialFontName"]. Dadurch wird ein PdfFont-Objekt zurückgegeben, mit dem wir Eigenschaften überprüfen und zusätzliche Methoden ausführen können.

: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")
VB   C#

Schriftart hinzufügen

Verwenden Sie die Methode "Hinzufügen", um sowohl die Standardschriftart als auch die Schriftdatei als Byte-Daten hinzuzufügen. Die Methode Add, die den Namen der Schriftart annimmt, akzeptiert nur eine der14 Standard-Schriftarten. Durch das Hinzufügen einer Standardschriftart wird diese nicht eingebettet, da die Standardschriftart bereits garantiert auf dem Betriebssystem vorhanden ist.

: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")
VB   C#

Schrift einbetten

Das Einbetten einer Schrift bedeutet, dass die Bytestream-Daten einer Schrift in das PDF-Dokument selbst eingefügt werden. Auf diese Weise ist es nicht erforderlich, dass die Schriftart auf dem System installiert ist, um das PDF-Dokument korrekt anzuzeigen. Dies erhöht zwar in der Regel die Dateigröße des PDF-Dokuments, ist aber für die visuelle Konsistenz von Vorteil, ohne dass die Schrift zusätzlich installiert werden muss.

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

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

// Select which font to embed
PdfFont targetFont = pdf.Fonts["MyCustomFont"];

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

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

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

' Select which font to embed
Private targetFont As PdfFont = pdf.Fonts("MyCustomFont")

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

' Embed the font
pdf.Fonts.Last().Embed(fontData)
VB   C#

Unembed-Schriftart

Das Aufheben der Einbettung einer Schrift bedeutet, dass die eingebetteten Byte-Stream-Daten der in einem PDF-Dokument enthaltenen Schrift entfernt werden. Das Ziel ist es, die Dateigröße des PDF-Dokuments zu reduzieren. Verwenden Sie dazu die Methode Unembed.

: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()
VB   C#

Ersetzen der Schriftart

Bei der Schriftersetzung bleibt die ursprüngliche Schriftdatenstruktur (z. B. Formatierung und Zeichenkodierung) in einem PDF-Dokument erhalten, wird aber durch eine neu festgelegte Schrift ersetzt. Die Benutzer müssen sicherstellen, dass die neue Schriftart gut mit der ursprünglichen Schriftart übereinstimmt.

Bevor Sie fortfahren
In einigen seltenen Fällen kann es vorkommen, dass das resultierende Bild nicht perfekt passt. Dies ist eine derzeitige Einschränkung der Schriftersetzungsmethode.

: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)
VB   C#

Standard-Schriften

Die 14 Standardschriften in PDF, auch bekannt als "Base 14 Fonts" oder "Standard Type 1 Fonts", bilden eine Reihe von Schriften, die von PDF-Viewern weitgehend unterstützt werden und nicht in das Dokument eingebettet werden müssen. Standardschriftarten definieren 14 Schriftarten, die garantiert sind(gemäß dem PDF-Dokumentenstandard) bei der Arbeit mit einem PDF-Dokument zur Verfügung stehen.

  • Kurier
  • Courier-Bold
  • Kurier-Oblique
  • Courier-BoldOblique
  • Helvetica
  • Helvetica-Fett
  • Helvetica-Oblique
  • Helvetica-BoldOblique
  • Times-Roman
  • Times-Bold
  • Times-Italienisch
  • Times-BoldItalic
  • Symbol
  • ZapfDingbats

Standard-Schriftarten Mapping

Zur Vereinfachung der Bezugnahme auf die Standardschriftarten verweisen mehrere Stringnamen auf dieselbe Schriftart.

Karte zum Kurier

  • StandardFont.Courier

    • Kurier

    • KurierNeu

    • KurierNeuPSMT

    • CourierStd

    Map to Courier-Bold

  • StandardFont.CourierBold

    • Courier,Bold

    • Courier-Bold

    • CourierBold

    • CourierNew,Bold

    • CourierNew-Bold

    • CourierNewBold

    • CourierNewPS-BoldMT

    • CourierStd-Bold

    Karte zu Courier-Oblique

  • StandardFont.CourierOblique

    • Courier, kursiv

    • Kurier-Oblique

    • KurierItalienisch

    • CourierNeu,Kursiv

    • KurierNeu-Italienisch

    • CourierNewItalic

    • CourierNewPS-ItalicMT

    • CourierStd-Oblique

    Map to Courier-BoldOblique

  • StandardFont.CourierBoldOblique

    • Courier,BoldItalic

    • Courier-BoldOblique

    • CourierBoldItalic

    • CourierNew,BoldItalic

    • CourierNew-BoldItalic

    • CourierNewBoldItalic

    • CourierNewPS-BoldItalicMT

    • CourierStd-BoldOblique

    Map to Helvetica

  • StandardFont.Helvetica

    • Arial

    • ArialMT

    • Helvetica

    Map to Helvetica-Bold

  • StandardFont.HelveticaBold

    • Arial,Fett

    • Arial-Fett

    • Arial-BoldMT

    • ArialBold

    • ArialMT,Fett

    • ArialRoundedMTBold

    • Helvetica,Bold

    • Helvetica-Fett

    • HelveticaBold

    Map to Helvetica-Oblique

  • StandardFont.HelveticaOblique

    • Arial, kursiv

    • Arial-Italic

    • Arial-ItalicMT

    • ArialItalic

    • ArialMT,kursiv

    • Helvetica, kursiv

    • Helvetica-Italic

    • Helvetica-Oblique

    • HelveticaItalic

    Map to Helvetica-BoldOblique

  • StandardFont.HelveticaBoldOblique

    • Arial,BoldItalic

    • Arial-BoldItalic

    • Arial-BoldItalicMT

    • ArialBoldItalic

    • ArialMT,BoldItalic

    • Helvetica,BoldItalic

    • Helvetica-BoldItalic

    • Helvetica-BoldOblique

    • HelveticaBoldItalic

    Map to Times-Roman

  • StandardFont.Times

    • Times-Roman

    • TimesNewRoman

    • TimesNewRomanPS

    • TimesNewRomanPSMT

    Map to Times-Bold

  • StandardFont.TimesBold

    • Times-Bold

    • TimesBold

    • TimesNewRoman,Bold

    • TimesNewRoman-Bold

    • TimesNewRomanBold

    • TimesNewRomanPS-Bold

    • TimesNewRomanPS-BoldMT

    • TimesNewRomanPSMT,Bold

    Karte zu Times-Italic

  • StandardFont.TimesOblique

    • Times-Italienisch

    • TimesItalic

    • TimesNewRoman,Kursiv

    • TimesNewRoman-Italienisch

    • TimesNewRomanItalic

    • TimesNewRomanPS-Italic

    • TimesNewRomanPS-ItalicMT

    • TimesNewRomanPSMT,Kursiv

    Map to Times-BoldItalic

  • StandardFont.TimesBoldOblique

    • Times-BoldItalic

    • TimesBoldItalic

    • TimesNewRoman,BoldItalic

    • TimesNewRoman-BoldItalic

    • TimesNewRomanBoldItalic

    • TimesNewRomanPS-BoldItalic

    • TimesNewRomanPS-BoldItalicMT

    • TimesNewRomanPSMT,BoldItalic

    Map to Symbol

  • StandardFont.Symbol

    • Symbol

    • SymbolMT

    Karte zu ZapfDingbats

  • StandardFont.Dingbats

    • ZapfDingbats
Chaknith related to Standard-Schriftarten Mapping

Chaknith Bin

Software-Ingenieur

Chaknith ist der Sherlock Holmes der Entwickler. Zum ersten Mal kam ihm der Gedanke, dass er eine Zukunft in der Softwareentwicklung haben könnte, als er zum Spaß an Code Challenges teilnahm. Sein Schwerpunkt liegt auf IronXL und IronBarcode, aber er ist stolz darauf, Kunden mit jedem Produkt zu helfen. Chaknith nutzt sein Wissen aus direkten Gesprächen mit Kunden, um die Produkte selbst weiter zu verbessern. Sein anekdotisches Feedback geht über Jira-Tickets hinaus und unterstützt die Produktentwicklung, die Dokumentation und das Marketing, um das Gesamterlebnis der Kunden zu verbessern.Wenn er nicht im Büro ist, lernt er über maschinelles Lernen, programmiert und wandert.