この記事では、C#を使用してPDFからフォントを抽出する方法を説明し、さらなる分析、編集、デバッグを行います。IDEの設定、アプリケーション開発の手順のリスト、およびC#を使用してPDF Acrobatからフォントを抽出するための動作コードを提供します。抽出したフォントのすべてのプロパティにアクセスして表示し、必要に応じてディスクに保存できます。
C#を使用してPDFからフォントファイルを抽出する手順
- フォントを抽出するためにAspose.PDFを使用するようにIDEを設定する
- PDFファイル名を設定してDocumentクラスオブジェクトでソースPDFファイルを読み込む
- FontUtilitiesクラスを使用して読み込まれたPDF内のすべてのフォントを取得する
- フォントのコレクションを反復処理する
- メモリストリームを作成し、必要に応じて抽出したフォントをディスクに保存する
- コンソールにフォントのさまざまなプロパティを表示する
これらの手順は、C#を使用してPDFファイルからフォントを抽出する方法を説明しています。PDFファイルをDocumentクラスオブジェクトに読み込み、FontUtilitiesクラスを使用してすべてのフォントのリストを取得します。リスト内のすべてのフォントを反復処理し、そのプロパティを表示し、必要に応じてメモリストリームに保存してディスク上にフォントファイルを作成します。
C#を使用してPDFファイルからフォントを抽出するコード
// Create a new instance of the License class | |
var pdfLic = new License(); | |
// Set the license using the provided license file ("license.lic"). | |
pdfLic.SetLicense("license.lic"); | |
// Open the PDF document | |
using (var document = new Aspose.Pdf.Document("Test.pdf")) | |
{ | |
// Retrieve all fonts used in the PDF document | |
Aspose.Pdf.Text.Font[] fonts = document.FontUtilities.GetAllFonts(); | |
// Iterate through each font in the fonts array. | |
foreach (Aspose.Pdf.Text.Font font in fonts) | |
{ | |
// Create a MemoryStream to temporarily store the font data. | |
using (MemoryStream memoryStream = new MemoryStream()) | |
{ | |
// Save the font data into the MemoryStream. | |
font.Save(memoryStream); | |
// Write the font data from the MemoryStream to a .TTF file. | |
// The file is named after the font's name. | |
File.WriteAllBytes($"{font.FontName}.TTF", memoryStream.ToArray()); | |
// Print the font name | |
Console.WriteLine(font.FontName); | |
} | |
} | |
} |
このコードは、C#を使用してPDFからフォントを抽出するプロセスを示しています。埋め込みフォントを抽出したい場合は、各フォントに対してIsEmbeddedフラグを使用し、それに応じて処理します。Fontクラスは、システムにフォントがインストールされているかどうかを示すIsAccessibleフラグや、最後のフォント埋め込みエラーの取得など、さまざまなプロパティを公開しています。
この記事では、PDFファイル内のフォントにアクセスして表示する方法を学びました。URLをPDFに変換するには、C#を使用してURLをPDFに変換するの記事を参照してください。