Gerenciar propriedades de apresentação com Python
Introdução
Aspose.Slides oferece suporte a dois tipos de propriedades de documento: Built-in e Custom. Ambos os tipos de propriedade podem ser acessados e gerenciados facilmente usando a API do Aspose.Slides.
Aspose.Slides permite que você trabalhe com propriedades de documento de apresentações através da classe DocumentProperties. Uma instância desta classe é retornada pela propriedade Presentation.document_properties. Os exemplos a seguir mostram como ler, modificar e gerenciar essas propriedades.
Gerenciar Propriedades da Apresentação
O Microsoft PowerPoint fornece um recurso para adicionar algumas propriedades aos arquivos de apresentação. Essas propriedades de documento permitem que informações úteis sejam armazenadas junto com os documentos (arquivos de apresentação). Existem dois tipos de propriedades de documento, conforme segue
- Propriedades Definidas pelo Sistema (Built-in)
- Propriedades Definidas pelo Usuário (Custom)
Built-in properties contêm informações gerais sobre o documento, como título do documento, nome do autor, estatísticas do documento etc. As propriedades Custom são aquelas definidas pelos usuários como pares Name/Value, onde tanto o nome quanto o valor são definidos pelo usuário. Usando Aspose.Slides for Python via .NET, os desenvolvedores podem acessar e modificar os valores das propriedades built-in e também as propriedades custom. O Microsoft PowerPoint 2007 permite gerenciar as propriedades de documento dos arquivos de apresentação. Tudo o que você precisa fazer é clicar no ícone do Office e, em seguida, no item de menu Prepare | Properties | Advanced Properties do Microsoft PowerPoint 2007. Depois de selecionar o item de menu Advanced Properties, aparecerá uma caixa de diálogo que permite gerenciar as propriedades de documento do arquivo PowerPoint. Na Properties Dialog, você pode ver que há várias abas, como General, Summary, Statistics, Contents and Custom. Todas essas abas permitem configurar diferentes tipos de informações relacionadas aos arquivos PowerPoint. A aba Custom é usada para gerenciar as propriedades custom dos arquivos PowerPoint.
Acessar Propriedades Built-in
Essas propriedades expostas pelo objeto IDocumentProperties incluem: Creator(Author), Description, Keywords, Created (Data de Criação), Modified (Data de Modificação), Printed (Data da Última Impressão), LastModifiedBy, Keywords, SharedDoc (Está compartilhado entre diferentes produtores?), PresentationFormat, Subject e Title
import aspose.slides as slides
# Instanciar a classe Presentation que representa a apresentação
with slides.Presentation(path + "AccessBuiltin Properties.pptx") as pres:
# Criar uma referência ao objeto associado à Presentation
documentProperties = pres.document_properties
# Exibir as propriedades integradas
print("category : " + documentProperties.category)
print("Current Status : " + documentProperties.content_status)
print("Creation Date : " + str(documentProperties.created_time))
print("Author : " + documentProperties.author)
print("Description : " + documentProperties.comments)
print("KeyWords : " + documentProperties.keywords)
print("Last Modified By : " + documentProperties.last_saved_by)
print("Supervisor : " + documentProperties.manager)
print("Modified Date : " + str(documentProperties.last_saved_time))
print("Presentation Format : " + documentProperties.presentation_format)
print("Last Print Date : " + str(documentProperties.last_printed))
print("Is Shared between producers : " + str(documentProperties.shared_doc))
print("Subject : " + documentProperties.subject)
print("Title : " + documentProperties.title)
Modificar Propriedades Built-in
Modificar as propriedades built-in dos arquivos de apresentação é tão fácil quanto acessá‑las. Você pode simplesmente atribuir um valor de string a qualquer propriedade desejada e o valor da propriedade será modificado. No exemplo abaixo, demonstramos como podemos modificar as propriedades de documento built-in do arquivo de apresentação.
import aspose.slides as slides
# Instanciar a classe Presentation que representa a Presentation
with slides.Presentation(path + "ModifyBuiltinProperties.pptx") as presentation:
# Criar uma referência ao objeto associado à Presentation
documentProperties = presentation.document_properties
# Definir as propriedades integradas
documentProperties.author = "Aspose.Slides for .NET"
documentProperties.title = "Modifying Presentation Properties"
documentProperties.subject = "Aspose Subject"
documentProperties.comments = "Aspose Description"
documentProperties.manager = "Aspose Manager"
# salvar sua apresentação em um arquivo
presentation.save("DocumentProperties_out.pptx", slides.export.SaveFormat.PPTX)
Adicionar Propriedades Custom à Apresentação
Aspose.Slides for Python via .NET também permite que os desenvolvedores adicionem valores custom às propriedades de documento da apresentação. Um exemplo é apresentado abaixo, mostrando como definir as propriedades custom para uma apresentação.
import aspose.slides as slides
# Instanciar a classe Presentation
with slides.Presentation() as presentation:
# Obtendo as Propriedades do Documento
documentProperties = presentation.document_properties
# Adicionando propriedades Personalizadas
documentProperties.set_custom_property_value("New Custom", 12)
documentProperties.set_custom_property_value("My Nam", "Mudassir")
documentProperties.set_custom_property_value("Custom", 124)
# Obtendo o nome da propriedade em um índice específico
getPropertyName = documentProperties.get_custom_property_name(2)
# Removendo a propriedade selecionada
documentProperties.remove_custom_property(getPropertyName)
# Salvando a apresentação
presentation.save("CustomDocumentProperties_out.pptx", slides.export.SaveFormat.PPTX)
Acessar e Modificar Propriedades Custom
Aspose.Slides for Python via .NET também permite que os desenvolvedores acessem os valores das propriedades custom. Um exemplo é apresentado abaixo, mostrando como você pode acessar e modificar todas essas propriedades custom para uma apresentação.
import aspose.slides as slides
# Instanciar a classe Presentation que representa o PPTX
with slides.Presentation(path + "AccessModifyingProperties.pptx") as presentation:
# Criar uma referência ao objeto document_properties associado à Presentation
documentProperties = presentation.document_properties
# Acessar e modificar propriedades personalizadas
for i in range(documentProperties.count_of_custom_properties):
# Exibir nomes e valores das propriedades personalizadas
print("Custom Property Name : " + documentProperties.get_custom_property_name(i))
print("Custom Property Value : " + documentProperties.get_custom_property_value[documentProperties.get_custom_property_name(i)])
# Modificar valores das propriedades personalizadas
documentProperties.set_custom_property_value(documentProperties.get_custom_property_name(i), "New Value " + str(i + 1))
# salvar sua apresentação em um arquivo
presentation.save("CustomDemoModified_out.pptx", slides.export.SaveFormat.PPTX)
Definir Idioma de Revisão
Aspose.Slides fornece a propriedade Language_Id (exposta pela classe PortionFormat) para permitir que você defina o idioma de revisão para um documento PowerPoint. O idioma de revisão é o idioma para o qual a ortografia e a gramática no PowerPoint são verificadas.
Este código Python mostra como definir o idioma de revisão para um PowerPoint:
import aspose.slides as slides
with slides.Presentation(path + "SetProofingLanguage.pptx") as pres:
auto_shape = pres.slides[0].shapes[0]
paragraph = auto_shape.text_frame.paragraphs[0]
paragraph.portions.clear()
new_portion = slides.Portion()
font = slides.FontData("SimSun")
portion_format = new_portion.portion_format
portion_format.complex_script_font = font
portion_format.east_asian_font = font
portion_format.latin_font = font
# definir o Id de um idioma de revisão
portion_format.language_id = "zh-CN"
new_portion.text = "1。"
paragraph.portions.add(new_portion)
Definir Idioma Padrão
Este código Python mostra como definir o idioma padrão para toda a apresentação PowerPoint:
import aspose.slides as slides
load_options = slides.LoadOptions()
load_options.default_text_language = "en_US"
with slides.Presentation(load_options) as pres:
shp = pres.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 50, 50, 150, 150)
text_frame = shp.text_frame
text_frame.text = "New Text"
print(text_frame.paragraphs[0].portions[0].portion_format.language_id)
Exemplo ao Vivo
Experimente o aplicativo online Aspose.Slides Metadata para ver como trabalhar com propriedades de documento via API Aspose.Slides:
FAQ
Como posso remover uma propriedade built-in de uma apresentação?
As propriedades built-in são parte integrante da apresentação e não podem ser removidas completamente. No entanto, você pode mudar seus valores ou defini‑‑las como vazias, se a propriedade específica permitir.
O que acontece se eu adicionar uma propriedade custom que já existe?
Se você adicionar uma propriedade custom que já existe, seu valor existente será sobrescrito pelo novo. Não é necessário remover ou verificar a propriedade antes, pois o Aspose.Slides atualiza automaticamente o valor da propriedade.
Posso acessar as propriedades da apresentação sem carregar a apresentação completamente?
Sim, você pode acessar as propriedades da apresentação sem carregá‑la completamente usando o método get_presentation_info da classe PresentationFactory. Em seguida, utilize o método read_document_properties fornecido pela classe PresentationInfo para ler as propriedades de forma eficiente, economizando memória e melhorando o desempenho.
