Como remover todas as imagens de um documento no LibreOffice Writer?

10

Ubuntu 12.04

Desejo remover todas as imagens de um documento no LibreOffice Writer. Meu documento contém ~ 350 imagens. Existe uma maneira de excluí-los en masse em vez de um por um? Tentei desmarcar as ferramentas > Opções > LibreOffice Writer > Ver > Mostrar > "Gráficos e objetos". Mas os marcadores ainda são visíveis.

Editar: eu sei salvar a página como um arquivo de texto simples, mas preciso formatá-la no meu documento.

    
por Chella 22.02.2013 / 12:04

2 respostas

11

Você também pode usar uma macro curta no LibreOffice para remover todas as imagens de um documento:

Sub RemoveImages

   Dim oDoc as Object
   oDoc = ThisComponent

   Dim oGraphics as Object
   oGraphics = oDoc.getGraphicObjects()

   Dim oImg as Object

   For Each oImg in oGraphics
       oDoc.getText().removeTextContent(oImg)
   Next 

End Sub

Este exemplo também pode ser modificado para alterar as propriedades das imagens (como torná-las todas de tamanho uniforme), bem como manipular objetos de forma, etc.

Criando macros

O LibreOffice fornece uma linguagem Básica, bem como IDE, para criar, depurar, armazenar e executar código.

Para abrir o diálogo de macros, use Alt + F11 ou, no menu, Ferramentas > Macros > Organizar macros > LibreOffice Basic

O código é colocado em módulos , que são organizados em bibliotecas . Você pode criar o seu próprio, mas para a maioria dos propósitos você pode usar a biblioteca interna MyMacros e o Module1 .

Quando a caixa de diálogo da macro estiver aberta, destaque Módulo1 e pressione Editar . Isso abre o IDE.

O código é organizado em Subs e Funções. Empréstimo do VBA, Funções são usadas para retornar um valor e Subs não retornam um valor. Você pode definir seus próprios subs e funções em qualquer lugar abaixo do Main. Então, para usar esse código para remover imagens, basta colá-lo no módulo.

Usando macros

Você pode executar o código diretamente do IDE, clicando em qualquer lugar dentro do Sub que deseja executar e pressionando F5 . (Funções, uma vez que retornam um valor, precisam ser chamadas de um Sub.) Você também pode usar os botões de diálogo ou o menu para executar o código. O IDE inclui um depurador integrado, que é crucial ao escrever um novo código.

Na próxima vez que você abrir a caixa de diálogo de macros, você verá a sub-lista como uma macro e ela poderá ser executada sem abrir o IDE. Macros individuais também podem ser atribuídas a itens de menu ou barra de ferramentas.

Observação: essa macro será executada em qualquer documento ativo. Ao executar uma macro a partir do menu ou da caixa de diálogo de macros, isso pode ser considerado como o documento em que você pressionou o botão; mas ao usar o IDE para criar, executar ou depurar código, verifique se você não transformou outro documento no documento ativo.

LibreOffice Basic

O LibreOffice Basic é muito semelhante ao VBA, mas essa similaridade também pode ser enganosa, já que o modelo de objeto é completamente diferente e a sintaxe também tem muitas diferenças.

Por exemplo, no VBA, uma vez que você tenha uma referência a um objeto de imagem, o objeto de imagem teria um método de exclusão. Aqui, os objetos possuem ou herdam poucos métodos. Para excluir o objeto de imagem, use o elemento do documento com uma estrutura e uma sintaxe muito semelhantes a um DOM baseado em navegador.

A Ajuda do LibreOffice tem links para começar a usar o LibreOffice Basic.

    
por chaskes 23.02.2013 / 04:06
5

Suponho que o texto do documento esteja formatado e que salvar como texto somente não seja o ideal. Nesse caso, pode-se adotar uma abordagem um tanto longa:

  • Crie uma pasta temporária.

  • Abra o documento no LibreOffice normalmente.

  • Escolha Save As e aqui selecione HTML Document (Writer) (.html) como o formato.

    • Além disso, especifique a pasta temporária para o destino e dê ao arquivo html proposto um nome adequado. Concorde com Save as html e não o formato odt na próxima tela.
  • Feche o LibreOffice.

  • Abra a pasta temporária criada acima. Você deve ver um arquivo one html e um monte de imagens.

    • Exclua as imagens se elas não forem mais necessárias.
  • Em seguida, abra o arquivo .html em um editor de texto apropriado para remover as marcas que, caso permanecessem, causariam lacunas no documento.

    • Por exemplo, em Geany, usei <IMG SRC="[^>]+> como expressão de pesquisa e nada na caixa "substituir por".

  • Salve o arquivo .html. Agora, quando visto em um navegador ou mesmo no LibreOffice, não haverá imagens, espaços reservados, apenas texto formatado.

Editar: Em vez de usar um editor de texto baseado em GUI, assumindo que um está na pasta relevante e que cli.html é o nome dado ao salvar em html no LibreOffice, pode-se usar a linha de comando desta maneira:

perl -p -i.bak -e 's/<IMG[^>]+>//g' cli.html

Um arquivo de backup, cli.html.bak , é criado apenas no caso ...

    
por user25656 22.02.2013 / 13:03