在 PHP 中自动化演示文稿本地化

更改演示文稿和形状文本的语言

  • 创建 Presentation 类的实例。
  • 通过其索引获取幻灯片的引用。
  • 向幻灯片添加一种 Rectangle 类型的 AutoShape
  • 向 TextFrame 添加一些文本。
  • 对文本设置 Set Language Id
  • 将演示文稿写入 PPTX 文件。

下面的示例演示了上述步骤的实现。

  $pres = new Presentation("test.pptx");
  try {
    $shape = $pres->getSlides()->get_Item(0)->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
    $shape->addTextFrame("Text to apply spellcheck language");
    $shape->getTextFrame()->getParagraphs()->get_Item(0)->getPortions()->get_Item(0)->getPortionFormat()->setLanguageId("en-EN");
    $pres->save("output.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

常见问题

语言 ID 会触发自动文本翻译吗?

不会。Language ID 在 Aspose.Slides 中用于拼写检查和语法校对,但它不会翻译或更改文本内容。它是 PowerPoint 用于校对的元数据。

语言 ID 会影响渲染时的连字符和换行吗?

在 Aspose.Slides 中,language ID 用于校对。连字符质量和换行主要取决于 proper fonts 的可用性以及书写系统的布局/换行设置。为了确保正确渲染,请提供所需字体,配置 font substitution rules,并/或将 embed fonts 嵌入演示文稿。

我可以在同一个段落中设置不同的语言吗?

可以。Language ID 应用于文本段落级别,因此单个段落可以混合多种语言并具有不同的校对设置。