Renderizar apresentações com fontes de fallback em PHP
Contents
[
Hide
]
Visão geral
Aspose.Slides permite renderizar apresentações usando regras de fonte de fallback. Este artigo mostra como criar uma coleção de regras de fontes de fallback, modificar suas regras removendo ou adicionando fontes de fallback e atribuir a coleção ao método FontsManager::setFontFallBackRulesCollection.
Depois que a coleção de regras de fontes de fallback é atribuída ao FontsManager da apresentação, as regras são aplicadas durante operações como salvar, renderizar e converter a apresentação. O exemplo demonstra como usar as regras configuradas ao renderizar a miniatura de um slide e salvá‑la como imagem PNG.
Renderizar um Slide Usando Regras de Fonte de Fallback
O exemplo a seguir inclui estas etapas:
- Nós criamos a coleção de regras de fontes de fallback.
- Remova uma regra de fonte de fallback e addFallBackFonts a outra regra.
- Defina a coleção de regras em getFontsManager.getFontFallBackRulesCollection método.
- Com o método Presentation.save podemos salvar a apresentação no mesmo formato ou em outro. Depois que a coleção de regras de fontes de fallback é definida em FontsManager, essas regras são aplicadas durante quaisquer operações sobre a apresentação: salvar, renderizar, converter, etc.
# Criar nova instância de uma coleção de regras
$rulesList = new FontFallBackRulesCollection();
# criar um número de regras
$rulesList->add(new FontFallBackRule(0x400, 0x4ff, "Times New Roman"));
foreach($rulesList as $fallBackRule) {
# Tentando remover a fonte de fallback "Tahoma" das regras carregadas
$fallBackRule->remove("Tahoma");
# E atualizar as regras para o intervalo especificado
if (java_values($fallBackRule->getRangeEndIndex()) >= 0x4000 && java_values($fallBackRule->getRangeStartIndex()) < 0x5000) {
$fallBackRule->addFallBackFonts("Verdana");
}
}
# Também podemos remover quaisquer regras existentes da lista
if (java_values($rulesList->size()) > 0) {
$rulesList->remove($rulesList->get_Item(0));
}
$pres = new Presentation("input.pptx");
try {
# Atribuindo uma lista de regras preparada para uso
$pres->getFontsManager()->setFontFallBackRulesCollection($rulesList);
# Renderizando miniatura usando a coleção de regras inicializada e salvando como JPEG
$slideImage = $pres->getSlides()->get_Item(0)->getImage(1.0, 1.0);
# Salvar a imagem no disco em formato JPEG
try {
$slideImage->save("Slide_0.jpg", ImageFormat::Jpeg);
} finally {
if (!java_is_null($slideImage)) {
$slideImage->dispose();
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Saiba mais sobre como Converter PPT e PPTX para JPG em PHP.