ฟอนต์ Printer Font Binary (PFB) เป็นฟอนต์ Type1 ของ Adobe ระบบปฏิบัติการ Windows ใช้ฟอนต์ Adobe Type 1 ที่จัดเก็บไว้ในไฟล์ PFB ในบางกรณี เราอาจต้องแปลงฟอนต์ PFB เป็น TTF โดยทางโปรแกรม True Type Font หรือ TTF ใช้ในระบบปฏิบัติการสำหรับแพลตฟอร์มดิจิทัลทั้งหมด ในบทความนี้ เราจะเรียนรู้วิธีแปลง PFB เป็น TTF ใน C#
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
API แบบอักษรตัวแปลง C# PFB เป็น TTF
สำหรับการแปลงฟอนต์ Type1 PFB เป็น TTF เราจะใช้ API Aspose.Font for .NET ช่วยให้โหลด บันทึก และดึงข้อมูลฟอนต์จาก ประเภทฟอนต์ที่รองรับ
ใน API คลาส FontFileDefinition แสดงถึงคำจำกัดความของไฟล์ฟอนต์ คลาส FontDefinition แสดงถึงคำจำกัดความของชุดไฟล์ Font ประกอบด้วยฟิลด์ที่ไม่ได้เป็นส่วนหนึ่งของข้อมูลภายในของฟอนต์ แหล่งที่มาของแบบอักษร (ไฟล์ หน่วยความจำ ฯลฯ) สามารถโหลดได้จากฟิลด์เหล่านี้เพื่ออธิบายตำแหน่งและข้อมูลอื่นๆ คลาส Font เป็นคลาสพื้นฐานสำหรับคลาส Font ทั้งหมด ในการเปิดฟอนต์ จะมีวิธีการที่เรียกว่า Open() นอกจากนี้ยังอนุญาตให้บันทึกแบบอักษรลงในรูปแบบที่ระบุโดยใช้เมธอด SaveToFormat() การแจงนับ FontSavingFormats ระบุประเภทฟอนต์
โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.Font
วิธีแปลง PFB เป็น TTF ใน C#
เราสามารถแปลงฟอนต์ PFB จากไฟล์ .pfb เป็นรูปแบบ TTF ได้อย่างง่ายดายโดยใช้ Aspose.Font for .NET โดยทำตามขั้นตอนด้านล่าง:
- เปิดฟอนต์ PFB
- ระบุการตั้งค่าเอาต์พุตสำหรับฟอนต์ TTF
- บันทึก TTF ไปยังตำแหน่งที่ต้องการ
ส่วนต่อไปนี้จะอธิบายวิธีแปลงขั้นตอนเหล่านี้เป็น C# และแปลง PFB เป็น TTF
แปลง PFB เป็น TTF โดยใช้ C#
โปรดทำตามขั้นตอนด้านล่างเพื่อแปลง PFB เป็น TTF โดยทางโปรแกรมใน C#:
- ประการแรก โหลดไฟล์ฟอนต์โดยใช้คลาส FileSystemStreamSource
- จากนั้น สร้างอินสแตนซ์ของคลาส FontFileDefinition โดยมีออบเจกต์ไฟล์ต้นฉบับเป็นอาร์กิวเมนต์
- จากนั้น เริ่มต้นวัตถุคลาส FontDefinition ด้วยประเภทแบบอักษรเป็นวัตถุ Type1 และ FontFileDefinition
- หลังจากนั้นให้เปิดฟอนต์โดยใช้เมธอด Font.Open() โดยมีวัตถุ FontDefinition เป็นอาร์กิวเมนต์
- สุดท้ายเรียกเมธอด SaveToFormat() เพื่อบันทึก ใช้วัตถุสตรีมไฟล์เอาต์พุตและ FontSavingFormats.TTF เป็นอาร์กิวเมนต์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีแปลง PFB เป็น TTF ใน C#
// พาธไฟล์ฟอนต์ PFB Type1
string fontPath = @"C:\Files\Courier.pfb";
// โหลดไฟล์ฟอนต์
FileSystemStreamSource source = new FileSystemStreamSource(fontPath);
// สร้างคำจำกัดความของไฟล์ฟอนต์
FontFileDefinition fileDefinition = new FontFileDefinition("pfb", source);
// สร้างคำจำกัดความของแบบอักษร
FontDefinition fontDefinition = new FontDefinition(FontType.Type1, fileDefinition);
// เปิดแบบอักษร
Font font = Font.Open(fontDefinition);
// การตั้งค่าเอาต์พุต TTF
FileStream outStream = File.Create(@"C:\Files\Type1ToTtf_out1.ttf");
// แปลง PFB เป็น TTF
font.SaveToFormat(outStream, FontSavingFormats.TTF);
รับใบอนุญาตฟรี
คุณสามารถ รับใบอนุญาตชั่วคราวฟรี เพื่อทดลองใช้ห้องสมุดโดยไม่มีข้อจำกัดในการประเมิน
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีแปลงฟอนต์ PFB Type1 เป็นฟอนต์ True Type (TTF) ใน C# คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Font for .NET API โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี