Bagaimana cara menghapus semua gambar dalam dokumen di LibreOffice Writer?

10

Ubuntu 12.04

Saya ingin menghapus semua gambar dari dokumen di LibreOffice Writer. Dokumen saya mengandung ~ 350 gambar. Apakah ada cara untuk menghapusnya secara massal daripada satu per satu? Saya mencoba menghapus centang pada Tools> Options> LibreOffice Writer> View> Display> "Graphics and objects". Namun place-holder masih terlihat.

Sunting: Saya tahu tentang menyimpan halaman sebagai file teks biasa, Tapi saya perlu memformat dalam dokumen saya.

Chella
sumber
@Chelia: Sudahkah Anda mencoba menyimpan dokumen sebagai file hanya teks (dalam preferensi "simpan sebagai")?
stephenmyall
Tetapi mengapa membatalkan "opsi> penulis libreoffice> melihat> Tampilan>" Grafik dan objek "" tidak berfungsi? Saya mencobanya. Ini bekerja untuk saya. Dengan pengaturan yang dicentang, saat berikutnya saya membuka dokumen dengan grafik, saya hanya melihat place-holder.
dia masih harus menghapus placeholder @ vasa1 :)
Rinzwind
Benar! Tetapi tidak jelas apa tujuan akhirnya atau mengapa OP tidak ingin melihat gambar. Mengekspor sebagai file hanya teks dapat membunuh banyak pemformatan.
persis..! Saya akan kehilangan semua pemformatan jika saya menyimpannya hanya dengan teks.
Chella

Jawaban:

12

Anda juga dapat menggunakan makro pendek dari dalam LibreOffice untuk menghapus semua gambar dalam dokumen:

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

Contoh ini juga dapat dimodifikasi untuk mengubah properti gambar (seperti membuat mereka semua ukuran yang seragam) serta menangani objek bentuk, dll.

Menciptakan makro

LibreOffice menyediakan bahasa Dasar serta dalam IDE untuk membuat, men-debug, menyimpan, dan menjalankan kode.

Untuk membuka dialog makro, gunakan Alt+ F11atau, dari menu, Alat > Makro > Atur Makro > LibreOffice Basic

Kode ditempatkan dalam modul , yang disusun dalam perpustakaan . Anda dapat membuat sendiri, tetapi untuk sebagian besar tujuan, Anda dapat menggunakan pustaka MyMacros bawaan dan Module1 bawaan .

Setelah dialog makro terbuka, sorot Module1 dan tekan Edit . Ini membuka IDE.

Kode diatur ke dalam Subs dan Fungsi. Meminjam dari VBA, Fungsi digunakan untuk mengembalikan nilai dan Subs tidak mengembalikan nilai. Anda dapat menentukan subs dan fungsi Anda sendiri di bawah Utama. Jadi untuk menggunakan kode ini untuk menghapus gambar, Anda cukup menempelkannya di modul.

Menggunakan Macro

Anda dapat menjalankan kode langsung dari IDE dengan mengklik di mana saja di dalam Sub yang ingin Anda jalankan dan tekan F5. (Fungsi, karena mereka mengembalikan nilai, perlu dipanggil dari Sub.) Anda juga dapat menggunakan tombol dialog atau menu untuk menjalankan kode. IDE mencakup debugger terintegrasi, yang sangat penting saat menulis kode baru.

Lain kali Anda membuka dialog makro, Anda akan melihat sub terdaftar sebagai makro dan kemudian dapat dijalankan tanpa membuka IDE. Makro individual juga dapat ditugaskan ke item menu atau toolbar.

Catatan: Makro ini akan berjalan pada apa pun dokumen yang aktif. Saat menjalankan makro dari menu atau dialog makro, ini dapat dianggap sebagai dokumen di mana Anda hanya menekan tombol; tetapi ketika menggunakan IDE untuk membuat, menjalankan, atau kode debug, pastikan Anda belum membuat dokumen lain sebagai dokumen aktif.

LibreOffice Basic

LibreOffice Basic sangat mirip dengan VBA, tetapi kesamaan itu juga bisa menipu karena model objek sangat berbeda dan sintaksis juga memiliki banyak perbedaan.

Misalnya, dalam VBA, setelah Anda memiliki referensi ke objek gambar, objek gambar akan memiliki metode hapus. Di sini, objek memiliki atau mewarisi sangat sedikit metode. Untuk menghapus objek gambar, Anda menggunakan elemen dokumen dengan struktur dan sintaksis yang sangat mirip dengan DOM berbasis browser.

Bantuan LibreOffice memiliki tautan untuk memulai dengan LibreOffice Basic.

chaskes
sumber
Jika tidak terlalu banyak masalah, sedikit instruksi tentang bagaimana sebenarnya mengubah kode menjadi makro mungkin bisa membantu. Mengingat semua tangisan tentang Jawa, orang-orang juga harus tahu bahwa JRE diperlukan untuk memungkinkan makro berfungsi. Mari kita berharap bahwa LibreOffice akhirnya bebas dari Java.
Jenius. :) Dan masih berfungsi di LibO Writer 5.1, mungkin perlu ditambahkan.
Dɑvïd
5

Saya berasumsi bahwa teks dokumen diformat dan bahwa menyimpan sebagai teks saja tidak ideal. Dalam hal ini, seseorang bisa mengambil pendekatan agak gondrong:

  • Buat folder sementara.

  • Buka dokumen di LibreOffice secara normal.

  • Pilih Save Asdan di sini pilih HTML Document (Writer) (.html)sebagai format.

    • Juga, tentukan folder sementara untuk tujuan dan berikan file html yang diusulkan nama yang sesuai. Setuju Save as htmldan bukan format odt di layar berikutnya.
  • Tutup LibreOffice.

  • Buka folder sementara yang dibuat di atas. Anda akan melihat satu file html dan banyak gambar.

    • Hapus gambar jika tidak diperlukan lebih lanjut.
  • Kemudian, buka .htmlfile dalam editor teks yang sesuai untuk menghapus tag yang jika tidak, jika dibiarkan, menyebabkan kesenjangan dalam dokumen.

    • Misalnya, di Geany, saya digunakan <IMG SRC="[^>]+>sebagai ekspresi pencarian dan tidak ada dalam kotak "ganti dengan".

geany

  • Simpan file .html. Sekarang, ketika dilihat di browser atau bahkan di LibreOffice, tidak akan ada gambar, tidak ada placeholder, hanya teks yang diformat.

Sunting: Alih-alih menggunakan editor teks berbasis GUI, dengan asumsi satu ada di folder yang relevan dan itu cli.htmladalah nama yang diberikan saat menyimpan ke htmldalam LibreOffice, orang bisa menggunakan baris perintah dengan cara ini:

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

File cadangan cli.html.bak,, dibuat untuk berjaga-jaga ...


sumber