Ubuntu 12.04
Quiero eliminar todas las imágenes de un documento en LibreOffice Writer. Mi documento contiene ~ 350 imágenes. ¿Hay alguna forma de eliminarlos en masa en lugar de uno por uno? Intenté desmarcar Herramientas> Opciones> LibreOffice Writer> Ver> Pantalla> "Gráficos y objetos". Pero los marcadores de posición todavía son visibles.
Editar: sé cómo guardar la página como un archivo de texto sin formato, pero necesito formatear mi documento.
libreoffice
Chella
fuente
fuente
Respuestas:
También puede usar una macro corta desde LibreOffice para eliminar todas las imágenes de un documento:
Este ejemplo también podría modificarse para cambiar las propiedades de las imágenes (como hacer que todas tengan un tamaño uniforme), así como manejar objetos de forma, etc.
Crear macros
LibreOffice proporciona un lenguaje básico, así como en IDE para crear, depurar, almacenar y ejecutar código.
Para abrir el cuadro de diálogo macro, use Alt+ F11o, en el menú, Herramientas > Macros > Organizar macros > LibreOffice Basic
El código se coloca en módulos , que se organizan en bibliotecas . Usted puede crear su propio, pero para la mayoría de los propósitos puede utilizar el incorporado en MyMacros biblioteca y la incorporada en el módulo 1 .
Una vez que se abre el cuadro de diálogo macro, resalte Módulo1 y presione Editar . Esto abre el IDE.
El código está organizado en Subs y Funciones. Tomando prestado de VBA, las funciones se utilizan para devolver un valor y los subs no devuelven un valor. Puede definir sus propios subs y funciones en cualquier lugar debajo de Main. Entonces, para usar este código para eliminar imágenes, simplemente péguelo en el módulo.
Usando macros
Puede ejecutar el código directamente desde el IDE haciendo clic en cualquier lugar dentro del Sub que desee ejecutar y presione F5. (Las funciones, dado que devuelven un valor, deben llamarse desde un Sub.) También puede usar los botones de diálogo o el menú para ejecutar el código. El IDE incluye un depurador integrado, que es crucial al escribir código nuevo.
La próxima vez que abra el cuadro de diálogo macro, verá el sub listado como macro y luego se puede ejecutar sin abrir el IDE. Las macros individuales también se pueden asignar a elementos de menú o barra de herramientas.
Nota: Esta macro se ejecutará en cualquier documento activo. Al ejecutar una macro desde el menú o diálogo de macro, se puede suponer que este es el documento en el que acaba de presionar el botón; pero cuando use el IDE para crear, ejecutar o depurar código, asegúrese de no haber convertido otro documento en el documento activo.
LibreOffice Basic
LibreOffice Basic es muy similar a VBA, pero esa similitud también puede ser engañosa ya que el modelo de objetos es completamente diferente y la sintaxis también tiene muchas diferencias.
Por ejemplo, en VBA, una vez que tiene una referencia a un objeto de imagen, el objeto de imagen tendría un método de eliminación. Aquí, los objetos tienen o heredan muy pocos métodos. Para eliminar el objeto de imagen, utiliza el elemento de documento con una estructura y sintaxis muy similar a un DOM basado en navegador.
La Ayuda de LibreOffice tiene enlaces para comenzar a usar LibreOffice Basic.
fuente
Supongo que el texto del documento está formateado y que guardarlo como solo texto no es ideal. En ese caso, uno podría adoptar un enfoque algo largo:
Crea una carpeta temporal.
Abra el documento en LibreOffice normalmente.
Elija
Save As
y aquí seleccioneHTML Document (Writer) (.html)
como formato.Save as html
y no un formato impar en la siguiente pantalla.Cierra LibreOffice.
Abra la carpeta temporal creada anteriormente. Debería ver un archivo html y un montón de imágenes.
Luego, abra el
.html
archivo en un editor de texto apropiado para eliminar las etiquetas que, de lo contrario, de lo contrario, causarían lagunas en el documento.<IMG SRC="[^>]+>
como expresión de búsqueda y nada en el cuadro "reemplazar con".Editar: en lugar de usar un editor de texto basado en GUI, suponiendo que uno esté en la carpeta relevante y ese
cli.html
es el nombre dado al guardarhtml
en LibreOffice, uno podría usar la línea de comando de esta manera:Se
cli.html.bak
crea un archivo de copia de seguridad, por si acaso ...fuente