Ubuntu 12.04
Je souhaite supprimer toutes les images d'un document dans LibreOffice Writer. Mon document contient ~ 350 images. Existe-t-il un moyen de les supprimer en masse plutôt que un par un? J'ai essayé de décocher Outils> Options> LibreOffice Writer> Affichage> Affichage> "Graphiques et objets". Mais les espaces réservés sont toujours visibles.
Modifier: je sais comment enregistrer la page en tant que fichier texte brut, mais j'ai besoin d'une mise en forme dans mon document.
libreoffice
Chella
la source
la source
Réponses:
Vous pouvez également utiliser une courte macro à partir de LibreOffice pour supprimer toutes les images d'un document:
Cet exemple peut également être modifié pour changer les propriétés des images (comme les rendre toutes de taille uniforme) ainsi que la manipulation des objets de forme, etc.
Création de macros
LibreOffice fournit un langage de base ainsi que dans l'IDE pour créer, déboguer, stocker et exécuter du code.
Pour ouvrir la boîte de dialogue des macros, utilisez Alt+ F11ou, dans le menu, Outils > Macros > Organiser les macros > LibreOffice Basic
Le code est placé dans des modules , qui sont organisés en bibliothèques . Vous pouvez créer le vôtre, mais dans la plupart des cas, vous pouvez utiliser la bibliothèque MyMacros intégrée et le Module1 intégré .
Une fois la boîte de dialogue macro ouverte, sélectionnez Module1 et appuyez sur Modifier . Cela ouvre l'IDE.
Le code est organisé en sous-fonctions et fonctions. Empruntant à VBA, les fonctions sont utilisées pour renvoyer une valeur et les Subs ne renvoient pas de valeur. Vous pouvez définir vos propres sous-marins et fonctions n'importe où sous Main. Donc, pour utiliser ce code pour supprimer des images, il vous suffit de le coller dans le module.
Utilisation de macros
Vous pouvez exécuter le code directement à partir de l'EDI en cliquant n'importe où dans le Sub que vous souhaitez exécuter et en appuyant sur F5. (Les fonctions, car elles renvoient une valeur, doivent être appelées à partir d'un Sub.) Vous pouvez également utiliser les boutons de dialogue ou le menu pour exécuter le code. L'IDE comprend un débogueur intégré, ce qui est crucial lors de l'écriture de nouveau code.
La prochaine fois que vous ouvrirez la boîte de dialogue de macro, vous verrez le sous répertorié comme une macro et il pourra ensuite être exécuté sans ouvrir l'IDE. Des macros individuelles peuvent également être affectées à des éléments de menu ou de barre d'outils.
Remarque: Cette macro s'exécutera sur tout ce qui est le document actif. Lorsque vous exécutez une macro à partir du menu ou de la boîte de dialogue de macro, cela peut être supposé être le document où vous venez d'appuyer sur le bouton; mais lorsque vous utilisez l'IDE pour créer, exécuter ou déboguer du code, assurez-vous que vous n'avez pas fait d'un autre document le document actif.
LibreOffice Basic
LibreOffice Basic est très similaire à VBA, mais cette similitude peut également être trompeuse car le modèle d'objet est complètement différent et la syntaxe présente également de nombreuses différences.
Par exemple, dans VBA, une fois que vous avez une référence à un objet image, l'objet image aurait une méthode de suppression. Ici, les objets ont ou héritent de très peu de méthodes. Pour supprimer l'objet image, vous utilisez l'élément de document avec une structure et une syntaxe très similaires à un DOM basé sur un navigateur.
L'aide de LibreOffice contient des liens pour démarrer avec LibreOffice Basic.
la source
Je suppose que le texte du document est formaté et que l'enregistrement en texte seul n'est pas idéal. Dans ce cas, on pourrait adopter une approche quelque peu longue:
Créez un dossier temporaire.
Ouvrez normalement le document dans LibreOffice.
Choisissez
Save As
et sélectionnez iciHTML Document (Writer) (.html)
comme format.Save as html
et non le format odt dans l'écran suivant.Fermez LibreOffice.
Ouvrez le dossier temporaire créé ci-dessus. Vous devriez voir un fichier html et un tas d'images.
Ensuite, ouvrez le
.html
fichier dans un éditeur de texte approprié pour supprimer les balises qui, sinon, si elles étaient laissées, provoqueraient des lacunes dans le document.<IMG SRC="[^>]+>
l'expression de recherche et rien dans la case "remplacer par".Modifier: Au lieu d'utiliser un éditeur de texte basé sur une interface graphique, en supposant que l'un se trouve dans le dossier correspondant et que
cli.html
c'est le nom donné lors de l'enregistrementhtml
dans LibreOffice, on pourrait simplement utiliser la ligne de commande de cette façon:Un fichier de sauvegarde,,
cli.html.bak
est créé juste au cas où ...la source