PDFでフォントを設定する方法

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

ウェブフォントは、ウェブサイトで使用するために設計された特殊なフォントです。 これらのフォントはウェブサーバー上にホストされ、ユーザのローカルフォントの有無にかかわらず、一貫性があり視覚的に魅力的なテキストのレンダリングをサイト上で実現するためにウェブブラウザによってダウンロードされます。 さらに、記号やグリフを使用するアイコンフォントは、スケーラブルでカスタマイズ可能なアイコンを作成し、CSS操作を通じて視覚的に一貫したユーザーインターフェイスを維持するために、ウェブデザインでよく使用されます。

CSSにはウェブフォントが含まれており、ウェブサイトにアクセスされたときにフォントファイルをダウンロードできるように指定することができます。 IronPDFは、HTMLからPDFへのフォントの読み込みおよびレンダリングをサポートしています。

PDF 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronPdf
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

PDF 用 C# NuGet ライブラリ

でインストール NuGet

Install-Package IronPdf
または
Java PDF JAR(ジャバPDF JAR)

ダウンロード DLL (ディーエルエル)

DLLをダウンロード

プロジェクトに手動でインストールする

今日からプロジェクトでIronPDFを使い始めましょう。無料のトライアルをお試しください。

最初のステップ:
green arrow pointer

チェックアウト IronPDF オン Nuget 迅速なインストールと展開のために。8百万以上のダウンロード数により、PDFをC#で変革しています。

PDF 用 C# NuGet ライブラリ nuget.org/packages/IronPdf/
Install-Package IronPdf

インストールを検討してください IronPDF DLL 直接。ダウンロードして、プロジェクトまたはGACの形式で手動でインストールしてください。 IronPdf.zip

プロジェクトに手動でインストールする

DLLをダウンロード

WebFontsとアイコンの例を使用する

IronPDFはサポートしています ウェブフォント (例えば、Google FontsやAdobe Web Font API) およびBootstrapによって使用されるアイコンフォントのような フォントオーサム.

フォントは適切に読み込むためにレンダリングに遅延が必要なことがよくあります。 フォントが正しく読み込まれない場合、テキストが表示されず白いページになることがあります。 フォントの読み込みを待つために、最大待機時間を指定して WaitFor.AllFontsLoaded メソッドを使用できます。 デフォルトの最大待機時間は500ミリ秒です。

以下に、小さな例を示します: ウェブフォント あなたのプロジェクトで「Lobster」と名付けられました。

:path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-render-webfont.cs
using IronPdf;

// HTML contains webfont
var html = @"<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000);

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("font-test.pdf");
Imports IronPdf

' HTML contains webfont
Private html = "<link href=""https://fonts.googleapis.com/css?family=Lobster"" rel=""stylesheet"">
<p style=""font-family: 'Lobster', serif; font-size:30px;"" > Hello Google Fonts</p>"

Private renderer As New ChromePdfRenderer()

' Wait for font to load
renderer.RenderingOptions.WaitFor.AllFontsLoaded(2000)

' Render HTML to PDF
Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export the PDF
pdf.SaveAs("font-test.pdf")
VB   C#

フォント、JavaScript、HTML要素、およびネットワークアイドルに関するWaitForオプションの詳細については、こちらをご覧ください:待機クラスを使用してC# PDFレンダリングを遅延させる方法.'


フォントファイルのインポート例

既存のフォントファイルを使用するには、 @font-face CSSスタイリングにおけるルール。 また、@font-faceルールとbase64でエンコードされたwoffファイルを組み合わせて使用する際にも機能します。 以下の例では、私は Pixelify Sans フォント.

:path=/static-assets/pdf/content-code-examples/how-to/webfonts-webicons-custom-font.cs
using IronPdf;

// Import custom font
string html = @"<!DOCTYPE html>
<html>
<head>
<style>
@font-face {font-family: 'Pixelify';
src: url('fonts\PixelifySans-VariableFont_wght.ttf');
}
p {
    font-family: 'Pixelify';
    font-size: 70px;
}
</style>
</head>
<body>
<p>Custom font</p>
</body>
</html>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Render HTML to PDF
PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

// Export the PDF
pdf.SaveAs("customFont.pdf");
Imports IronPdf

' Import custom font
Private html As String = "<!DOCTYPE html>
<html>
<head>
<style>
@font-face {font-family: 'Pixelify';
src: url('fonts\PixelifySans-VariableFont_wght.ttf');
}
p {
    font-family: 'Pixelify';
    font-size: 70px;
}
</style>
</head>
<body>
<p>Custom font</p>
</body>
</html>"

Private renderer As New ChromePdfRenderer()

' Render HTML to PDF
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

' Export the PDF
pdf.SaveAs("customFont.pdf")
VB   C#

Azure PDFの制約

について Azureホスティングプラットフォーム 低価格の共有ウェブアプリ層では、サーバーがSVGフォントを読み込むことがサポートされていません。 ただし、Azure の VPS と Web ロールは同じ方法でサンドボックス化されておらず、Web フォントのレンダリングをサポートしています。