บันทึกไฟล์แบบอักษรที่อัปเดตลงดิสก์
โซลูชัน API C++ เพื่อบันทึกแบบอักษรที่โหลดจากสตรีมก่อนหน้านี้.
โซลูชัน API Aspose.Font มอบความสามารถที่หลากหลายสำหรับการทำงานกับแบบอักษร รวมถึงการแปลง การจัดการ glyph การตรวจจับสัญลักษณ์ละติน และอื่น ๆ อีกมากมาย หัวข้อของบทความนี้จะเป็นฟังก์ชันการบันทึกแบบอักษร.
การบันทึกแบบอักษรลงดิสก์ช่วยให้สามารถจัดเก็บและแบ่งปันข้อมูลแบบอักษรในระยะยาว จากนั้นแบบอักษรสามารถนำไปใช้ในโครงการในอนาคตหรือคุณสามารถแชร์ให้ผู้อื่นเพื่อให้แน่ใจว่าแบบอักษรเฉพาะนั้นพร้อมใช้งานบนคอมพิวเตอร์ของพวกเขา.
นอกจากนี้ การบันทึกแบบอักษรลงดิสก์ทำให้คุณสามารถดึงข้อมูลแบบอักษรได้ง่ายโดยไม่ต้องโหลดแบบอักษรจากแหล่งระยะไกลทุกครั้งเมื่อจำเป็น ซึ่งเป็นประโยชน์สำหรับแบบอักษรที่มีขนาดใหญ่หรือใช้บ่อยซึ่งอาจใช้เวลานานในการโหลด.
โดยการบันทึกแบบอักษรลงดิสก์ คุณยังสามารถรับรองว่าแบบอักษรจะพร้อมใช้งานแม้แหล่งที่มาต้นฉบับของแบบอักษรจะไม่สามารถเข้าถึงได้อีกต่อไป สิ่งนี้ช่วยรักษาข้อมูลแบบอักษรและทำให้สามารถใช้แบบอักษรในโครงการในอนาคตได้.
หน้านี้อธิบายวิธีบันทึกแบบอักษร TrueType ลงดิสก์ แต่ตัวอย่างโค้ดส่วนอื่น ๆ ที่แสดงวิธีใช้โซลูชันจะอยู่ใน โครงการ Github ของ Aspose.
เพื่อบันทึกไฟล์แบบอักษร เราต้องการ:
API Aspose.Font สำหรับ C++ ซึ่งเป็น API การจัดการเอกสารและการแปลงที่มีฟีเจอร์หลากหลาย มีประสิทธิภาพ และใช้งานง่ายสำหรับแพลตฟอร์ม C++.
เปิด NuGet package manager แล้วค้นหา Aspose.Font และทำการติดตั้ง คุณยังสามารถใช้คำสั่งต่อไปนี้จาก Package Manager Console.
Package Manager Console Command
PM> Install-Package Aspose.Font
ขั้นตอนการบันทึกแบบอักษรก่อนการเปลี่ยนแปลงโดยใช้ C++:
Aspose.Font สำหรับ C++ มีความสามารถในการแก้ไขไฟล์แบบอักษรและเก็บไฟล์ที่เปลี่ยนแปลงลงดิสก์ ตัวอย่างโค้ดด้านล่างแสดงวิธีบันทึกไฟล์แบบอักษร TTF ที่แก้ไขแล้ว.
- สร้างอ็อบเจ็กต์ FontFileDefinition ใหม่.
- ตั้งค่า
FontType
เป็น TTF และ FontFileDefinition เป็น
.ttf. - สร้างอ็อบเจ็กต์ TtfFont แล้วเปิดไฟล์แบบอักษรโดยใช้วัตถุ FontDefinition ที่กำหนดไว้ก่อนหน้า.
- บันทึก
TtfFontลงดิสก์โดยเรียกใช้เมธอด Save() และส่งชื่อไฟล์ผลลัพธ์พร้อมเส้นทางเต็ม ไฟล์แบบอักษรที่บันทึกจะมีการเปลี่ยนแปลงที่อัปเดต.
โค้ด C++ สำหรับบันทึกแบบอักษร TrueType ลงดิสก์
using Aspose::Font;
using Aspose::Font::Sources;
using Aspose::Font::Ttf; //byte array to load Font from
System::String dataDir = RunExamples::GetDataDir_Data();
System::ArrayPtr<uint8_t> fontMemoryData = System::IO::File::ReadAllBytes(dataDir + u"Montserrat-Regular.ttf");
System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<ByteContentStreamSource>(fontMemoryData)));
System::SharedPtr<TtfFont> ttfFont = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
//Work with data from the just loaded TtfFont object
//Save The TtfFont to disk
//Output the Font file name with the full path
System::String outputFile = RunExamples::GetDataDir_Data() + u"Montserrat-Regular_out.ttf";
ttfFont->Save(outputFile);