Automatizar la localización de presentaciones en PHP

Cambiar el idioma de una presentación y del texto de una forma

  • Cree una instancia de la clase Presentation.
  • Obtenga la referencia de una diapositiva usando su índice.
  • Agregue un IAutoShape de tipo Rectangle a la diapositiva.
  • Agregue texto al TextFrame.
  • Establecer Language Id al texto.
  • Guarde la presentación como un archivo PPTX.

La implementación de los pasos anteriores se muestra a continuación en un ejemplo.

  $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();
    }
  }

Preguntas frecuentes

¿El ID de idioma activa la traducción automática del texto?

No. Language ID en Aspose.Slides almacena el idioma para la corrección ortográfica y la comprobación gramatical, pero no traduce ni cambia el contenido del texto. Es metadatos que PowerPoint entiende para la revisión.

¿El ID de idioma afecta la separación silábica y los saltos de línea durante la renderización?

En Aspose.Slides, language ID es para la revisión. La calidad de la separación silábica y el ajuste de líneas dependen principalmente de la disponibilidad de fuentes adecuadas y de la configuración de diseño/saltos de línea para el sistema de escritura. Para garantizar una renderización correcta, haga que las fuentes necesarias estén disponibles, configure reglas de sustitución de fuentes y/o incorporar fuentes en la presentación.

¿Puedo establecer diferentes idiomas dentro de un solo párrafo?

Sí. Language ID se aplica a nivel de porción de texto, por lo que un solo párrafo puede mezclar varios idiomas con configuraciones de revisión distintas.