Android'de Sunumlara Yazı Tipi Gömme
Giriş
PowerPoint’ta gömülü yazı tipleri faydalıdır çünkü sunumunuzun herhangi bir sistem veya cihazda açıldığında doğru görünmesini istersiniz. Çalışmanızda yaratıcı olduğunuz için üçüncü taraf ya da standart dışı bir yazı tipi kullandıysanız, yazı tipinizi gömmek için daha da fazla nedeniniz olur. Aksi takdirde (gömülü yazı tipleri olmadan), slaytlarınızdaki metinler veya sayılar, düzen, stil vb. değişebilir veya karışık dikdörtgenlere dönüşebilir.
Bu FontsManager sınıfı, FontData sınıfı, Compress sınıfı ve bunların arayüzleri, PowerPoint sunumlarında gömülü yazı tipleriyle çalışmanız için gereken çoğu özellik ve yöntemi içerir.
Gömülü Yazı Tiplerini Al ve Kaldır
Aspose.Slides, bir sunumda gömülü olan yazı tiplerini almanıza (veya öğrenmenize) olanak tanıyan getEmbeddedFonts yöntemini (FontsManager sınıfı tarafından sunulur) sağlar. Yazı tiplerini kaldırmak için aynı sınıf tarafından sunulan removeEmbeddedFont yöntemi kullanılır.
Bu Java kodu, bir sunumdan gömülü yazı tiplerini nasıl alıp kaldıracağınızı gösterir:
// Bir sunum dosyasını temsil eden Presentation nesnesini oluşturur
Presentation pres = new Presentation("EmbeddedFonts.pptx");
try {
// Gömülü "FunSized" kullanan bir metin çerçevesi içeren slaytı render eder
IImage slideImage = pres.getSlides().get_Item(0).getImage(new Dimension(960, 720));
// Görseli JPEG formatında diske kaydeder
try {
slideImage.save("picture1_out.jpg", ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
IFontsManager fontsManager = pres.getFontsManager();
// Tüm gömülü yazı tiplerini alır
IFontData[] embeddedFonts = fontsManager.getEmbeddedFonts();
// "Calibri" yazı tipini bulur
IFontData calibriEmbeddedFont = null;
for (int i = 0; i < embeddedFonts.length; i++) {
System.out.println(""+ embeddedFonts[i].getFontName());
if ("Calibri".equals(embeddedFonts[i].getFontName())) {
calibriEmbeddedFont = embeddedFonts[i];
break;
}
}
// "Calibri" yazı tipini kaldırır
fontsManager.removeEmbeddedFont(calibriEmbeddedFont);
// Sunumu render eder; "Calibri" yazı tipi mevcut bir yazı tipiyle değiştirilir
slideImage = pres.getSlides().get_Item(0).getImage(new Dimension(960, 720));
// Görseli JPEG formatında diske kaydeder
try {
slideImage.save("picture2_out.jpg", ImageFormat.Jpeg);
} finally {
if (slideImage != null) slideImage.dispose();
}
// Gömülü "Calibri" yazı tipi olmadan sunumu diske kaydeder
pres.save("WithoutManageEmbeddedFonts_out.ppt", SaveFormat.Ppt);
} finally {
if (pres != null) pres.dispose();
}
Gömülü Yazı Tiplerini Ekle
EmbedFontCharacters enum’ını ve addEmbeddedFont yönteminin iki aşırı yüklemesini kullanarak, bir sunumda yazı tiplerini gömmek için tercih ettiğiniz (gömme) kuralını seçebilirsiniz. Bu Java kodu, bir sunuma nasıl yazı tipleri gömeceğinizi ve ekleyeceğinizi gösterir:
// Sunumu yükler
Presentation pres = new Presentation("Fonts.pptx");
try {
IFontData[] allFonts = pres.getFontsManager().getFonts();
IFontData[] embeddedFonts = pres.getFontsManager().getEmbeddedFonts();
for (IFontData font : allFonts)
{
boolean embeddedFontsContainsFont = false;
for (int i = 0; i < embeddedFonts.length; i++)
{
if (embeddedFonts[i].equals(font))
{
embeddedFontsContainsFont = true;
break;
}
}
if (!embeddedFontsContainsFont)
{
pres.getFontsManager().addEmbeddedFont(font, EmbedFontCharacters.All);
embeddedFonts = pres.getFontsManager().getEmbeddedFonts();
}
}
// Sunumu diske kaydeder
pres.save("AddEmbeddedFont_out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
Gömülü Yazı Tiplerini Sıkıştır
Bir sunumda gömülü yazı tiplerini sıkıştırarak dosya boyutunu azaltmanızı sağlamak için Aspose.Slides, compressEmbeddedFonts yöntemini (Compress sınıfı tarafından sunulur) sağlar.
Bu Java kodu, gömülü PowerPoint yazı tiplerini nasıl sıkıştıracağınızı gösterir:
Presentation pres = new Presentation("pres.pptx");
try {
Compress.compressEmbeddedFonts(pres);
pres.save("pres-out.pptx", SaveFormat.Pptx);
} finally {
if (pres != null) pres.dispose();
}
SSS
Bir sunumdaki belirli bir yazı tipinin gömülmüş olmasına rağmen render sırasında hala ikame edileceğini nasıl anlayabilirim?
Yazı tipi yöneticisindeki substitution information ve fallback/substitution rules sayfalarına bakın: yazı tipi bulunamazsa veya kısıtlıysa, bir yedek (fallback) kullanılacaktır.
Arial/Calibri gibi “sistem” yazı tiplerini gömmeye değer mi?
Genellikle hayır—bu yazı tipleri neredeyse her zaman mevcuttur. Ancak “ince” ortamlar (Docker, önceden yüklü yazı tipleri olmayan bir Linux sunucusu) içinde tam taşınabilirlik için sistem yazı tiplerini gömmek, beklenmedik ikameler riskini ortadan kaldırabilir.