Phông chữ Nhị phân Phông chữ Máy in (PFB) là phông chữ Type1 của Adobe. Hệ điều hành Windows sử dụng phông chữ Adobe Type 1 được lưu trữ trong các tệp PFB. Trong một số trường hợp nhất định, chúng tôi có thể cần chuyển đổi phông chữ PFB sang TTF theo chương trình. Phông chữ True Type hoặc TTF được sử dụng trong các hệ điều hành cho tất cả các nền tảng kỹ thuật số. Trong bài viết này, chúng ta sẽ tìm hiểu cách chuyển đổi PFB sang TTF trong C#.
Các chủ đề sau đây sẽ được đề cập trong bài viết này:
- API phông chữ chuyển đổi C# PFB sang TTF
- Các bước chuyển đổi PFB sang TTF
- Chuyển đổi PFB sang TTF bằng C#
API phông chữ chuyển đổi C# PFB sang TTF
Để chuyển đổi phông chữ Type1 PFB sang TTF, chúng tôi sẽ sử dụng Aspose.Font for .NET API. Nó cho phép tải, lưu và trích xuất thông tin phông chữ từ các loại phông chữ được hỗ trợ.
Trong API, lớp FontFileDefinition đại diện cho định nghĩa tệp Phông chữ. Lớp FontDefinition đại diện cho định nghĩa của bộ tệp Phông chữ. Nó chứa các trường không phải là một phần của dữ liệu nội bộ của phông chữ. Nguồn phông chữ (tệp, bộ nhớ, v.v.) có thể được tải từ các trường này để mô tả vị trí của phông chữ và dữ liệu khác. Lớp Phông chữ là lớp cơ sở cho tất cả các lớp Phông chữ. Để mở một phông chữ, nó cung cấp một phương thức gọi là Open(). Nó cũng cho phép lưu phông chữ thành định dạng được chỉ định bằng phương thức SaveToFormat(). Bảng liệt kê FontSavingFormats chỉ định các loại Phông chữ.
Vui lòng tải xuống DLL của API hoặc cài đặt nó bằng NuGet.
PM> Install-Package Aspose.Font
Cách chuyển đổi PFB sang TTF trong C#
Chúng tôi có thể dễ dàng chuyển đổi phông chữ PFB từ tệp .pfb sang định dạng TTF bằng Aspose.Font for .NET bằng cách làm theo các bước dưới đây:
- Mở phông chữ PFB.
- Chỉ định cài đặt đầu ra cho phông chữ TTF.
- Lưu TTF vào vị trí mong muốn.
Phần sau đây giải thích cách chuyển đổi các bước này thành C# và chuyển đổi PFB thành TTF.
Chuyển đổi PFB sang TTF bằng C#
Vui lòng làm theo các bước dưới đây để chuyển đổi PFB sang TTF theo chương trình trong C#:
- Đầu tiên, tải tệp phông chữ bằng lớp FileSystemStreamSource.
- Tiếp theo, tạo một thể hiện của lớp FontFileDefinition với đối tượng tệp nguồn làm đối số.
- Sau đó, khởi tạo đối tượng lớp FontDefinition với kiểu Font là Type1 và đối tượng FontFileDefinition.
- Sau đó, mở phông chữ bằng phương thức Font.Open() với đối tượng FontDefinition làm đối số.
- Cuối cùng, gọi phương thức SaveToFormat() để lưu nó. Nó lấy đối tượng luồng tệp đầu ra và FontSavingFormats.TTF làm đối số.
Mẫu mã sau đây cho biết cách chuyển đổi PFB thành TTF trong C#.
// Đường dẫn tệp phông chữ PFB Type1
string fontPath = @"C:\Files\Courier.pfb";
// Tải tệp phông chữ
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// Tạo định nghĩa tệp phông chữ
FontFileDefinition fileDefinition = new FontFileDefinition("pfb", source);
// Tạo định nghĩa phông chữ
FontDefinition fontDefinition = new FontDefinition(FontType.Type1, fileDefinition);
// mở phông chữ
Font font = Font.Open(fontDefinition);
// Cài đặt đầu ra TTF
FileStream outStream = File.Create(@"C:\Files\Type1ToTtf_out1.ttf");
// Chuyển đổi PFB sang TTF
font.SaveToFormat(outStream, FontSavingFormats.TTF);
Nhận giấy phép miễn phí
Bạn có thể nhận giấy phép tạm thời miễn phí để dùng thử thư viện mà không bị giới hạn đánh giá.
Sự kết luận
Trong bài viết này, chúng ta đã học cách chuyển đổi phông chữ PFB Type1 thành phông chữ True Type (TTF) trong C#. Bạn có thể tìm hiểu thêm về Aspose.Font for .NET API bằng cách sử dụng tài liệu. Trong trường hợp có bất kỳ sự mơ hồ nào, vui lòng liên hệ với chúng tôi trên diễn đàn hỗ trợ miễn phí của chúng tôi.