Betűtípusok beágyazása prezentációkba C++ használatával
Bevezetés
A PowerPointba beágyazott betűtípusok segítenek biztosítani, hogy bemutatója megtartsa a kívánt megjelenést, amikor bármely rendszeren vagy eszközön megnyitják. Ez különösen fontos egyedi, harmadik féltől származó vagy nem szabványos betűtípusok használatakor a márkaépítés vagy a kreatív célok érdekében. Beágyazott betűtípusok hiányában a szöveget helyettesíthetik, az elrendezések megbomolhatnak, és a karakterek olvashatatlan szimbólumokként vagy négyzetekként jelenhetnek meg, ami aláássa a teljes dizájnt.
Aspose.Slides for C++ egy erőteljes API-készletet biztosít a beágyazott betűtípusok programozott kezeléséhez. Használhatja a FontsManager és a FontData osztályokat a betűtípusok vizsgálatához, hozzáadásához vagy eltávolításához a prezentáció fájljaiban. Emellett a Compress osztály lehetővé teszi a fájlméret optimalizálását a betűtípus‑adatok tömörítésével, anélkül hogy a minőség vagy a megjelenés romlana.
Ezek az eszközök teljes körű irányítást adnak a betűtípus‑beágyazás felett, segítve a tipográfia következetes megtartását különböző platformokon, miközben szükség esetén csökkentik a fájlméretet.
Beágyazott betűtípusok lekérése egy prezentációból
Aspose.Slides for C++ a GetEmbeddedFonts metódust biztosítja a FontsManager osztályon keresztül, amely lehetővé teszi a PowerPoint‑prezentációba beágyazott betűtípusok listájának lekérését. Ez hasznos lehet a betűtípus‑használat auditálásához, a márka‑irányelvek betartásának biztosításához, vagy annak ellenőrzéséhez, hogy minden szükséges betűtípus helyesen legyen beágyazva a fájl megosztása előtt.
Az alábbi C++ kód bemutatja, hogyan lehet beágyazott betűtípusokat lekérni egy prezentációfájlból:
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
auto presentation = MakeObject<Presentation>(u"embedded_fonts.pptx");
// Lekéri az összes beágyazott betűtípust.
auto embeddedFonts = presentation->get_FontsManager()->GetEmbeddedFonts();
// Kiírja a beágyazott betűtípusok neveit.
for (auto&& fontData : embeddedFonts)
{
Console::WriteLine(fontData->get_FontName());
}
presentation->Dispose();
Beágyazott betűtípusok hozzáadása egy prezentációhoz
Aspose.Slides for C++ lehetővé teszi betűtípusok beágyazását egy PowerPoint‑prezentációba a AddEmbeddedFont metódus segítségével, amely két túlterheléssel biztosít rugalmas használatot. A beágyazott karakterek mennyiségét a EmbedFontCharacters felsorolás használatával szabályozhatja – például csak a használt karakterek vagy a teljes betűtípus‑készlet beágyazásával. Ez a funkció különösen hasznos a prezentáció megosztására vagy terjesztésére való előkészítésekor, biztosítva, hogy az egyedi vagy nem szabványos betűtípusok helyesen jelenjenek meg minden rendszeren, még akkor is, ha azok nincsenek telepítve.
Az alábbi C++ kód ellenőrzi a prezentációban használt összes betűtípust, és beágyazza azokat, amelyek még nincsenek beágyazva:
// Betölt egy prezentációfájlt.
auto presentation = MakeObject<Presentation>(u"sample.pptx");
auto usedFonts = presentation->get_FontsManager()->GetFonts();
auto embeddedFonts = presentation->get_FontsManager()->GetEmbeddedFonts();
for (auto&& fontData : usedFonts)
{
std::function<bool(SharedPtr<IFontData> data)> comparer = [&fontData](SharedPtr<IFontData> data) -> bool
{
return data == fontData;
};
// Ellenőrzi, hogy a betűtípus már be van-e ágyazva.
bool isEmbeddedFont = Array<SharedPtr<IFontData>>::Exists(embeddedFonts, comparer);
if (!isEmbeddedFont)
{
// Beágyazza a betűtípust a prezentációba.
presentation->get_FontsManager()->AddEmbeddedFont(fontData, EmbedFontCharacters::All);
}
}
// Mentse a prezentációt a lemezen.
presentation->Save(u"embedded_fonts.pptx", SaveFormat::Pptx);
presentation->Dispose();
Beágyazott betűtípusok eltávolítása egy prezentációból
Aspose.Slides for C++ a RemoveEmbeddedFont metódust biztosítja a FontsManager osztályon keresztül, amely lehetővé teszi a PowerPoint‑prezentációban beágyazott konkrét betűtípusok eltávolítását. Ez segíthet a fájlméret csökkentésében, különösen ha a beágyazott betűtípusok már nem szükségesek vagy nem használtak. A nem használt betűtípusok eltávolítása javíthatja a teljesítményt, és biztosíthatja, hogy a prezentáció csak a lényeges erőforrásokat tartalmazza.
Az alábbi C++ kód bemutatja, hogyan lehet egy beágyazott betűtípust eltávolítani egy prezentációból:
auto fontName = u"Calibri";
// Példányosítja a Presentation osztályt, amely egy prezentációfájlt képvisel.
auto presentation = MakeObject<Presentation>(u"embedded_fonts.pptx");
// Lekéri az összes beágyazott betűtípust.
auto embeddedFonts = presentation->get_FontsManager()->GetEmbeddedFonts();
for (auto&& fontData : embeddedFonts)
{
if (fontData->get_FontName().Equals(fontName))
{
// Eltávolítja a beágyazott betűtípust.
presentation->get_FontsManager()->RemoveEmbeddedFont(fontData);
break;
}
}
presentation->Save(u"removed_font.ppt", SaveFormat::Ppt);
presentation->Dispose();
Beágyazott betűtípusok tömörítése
Aspose.Slides for C++ a CompressEmbeddedFonts metódust biztosítja a Compress osztályon keresztül, lehetővé téve a prezentáció összes fájlméretének csökkentését a beágyazott betűtípus‑adatok optimalizálásával. Ez különösen hasznos, ha a prezentáció nagy vagy több betűtípust tartalmaz, és a fájlt könnyűsúlyúvá szeretné tenni megosztás, tárolás vagy online használat céljából – anélkül, hogy a tartalom vizuális hűségét veszélyeztetné.
Az alábbi C++ kód bemutatja, hogyan lehet beágyazott betűtípusokat tömöríteni egy PowerPoint‑prezentációban:
auto presentation = MakeObject<Presentation>(u"sample.pptx");
Compress::CompressEmbeddedFonts(presentation);
presentation->Save(u"compressed_fonts.pptx", SaveFormat::Pptx);
presentation->Dispose();
GYIK
Hogyan tudhatom, hogy egy adott betűtípus a prezentációban még mindig helyettesítésre kerül a renderelés során a beágyazás ellenére?
Ellenőrizze a substitution information és a fallback/substitution rules információkat a betűtípus‑kezelőben: ha a betűtípus nem elérhető vagy korlátozott, egy helyettesítő lesz használva.
Érdemes-e a “rendszer” betűtípusokat, például az Arial/Calibri‑t beágyazni?
Általában nem – ezek szinte mindig elérhetők. De „vékony” környezetekben (Docker, Linux‑szerver előre telepített betűtípusok nélkül) a rendszer‑betűtípusok beágyazása kiküszöbölheti a váratlan helyettesítések kockázatát.