2017-11-17 3 views
1

Die Situation ist ein Handvoll Office-Dokumente in verschiedenen Formaten und mit unterschiedlichen Layouts/Inhalt:Wie Office-Dokumente zusammenführen?

  • {A, B, C} ODT

  • {D, E, F} .doc

  • {G, H, I} .docx

ich keinen guten Weg finden, können alle Dokumente von jedem Format zu fusionieren, weil es keine Option ist Command/tool [0,1,2] oder das Layout wird durcheinander gebracht [3], z. ooo_cat.

Das erwartete Ergebnis sollte eine einzelne Datei sein, die den Inhalt der anderen drei Dateien enthält, ohne das Layout oder andere unerwünschte Nebeneffekte zu beschädigen. Das Zusammenführen der Basis-Template-Dateien zu einer großen Vorlage ist leider keine Option.

Was ist der beste Weg, um mehrere Dokumente programmatisch/Linux Kommandozeile reibungslos zusammenzuführen?

[0] https://ask.libreoffice.org/en/question/19222/how-to-merge-multiple-documents-into-single-merged-document/

[1] https://forum.openoffice.org/en/forum/viewtopic.php?f=7&t=57435

[2] https://support.microsoft.com/en-us/help/2665750/how-to-merge-multiple-word-documents-into-one---eeekb

[3] https://askubuntu.com/questions/482277/how-to-merge-odt-documents-from-the-command-line

Antwort

1
  1. starten Libreoffice mit --headless hören. Verwenden Sie Python interaktiv in einer Shell und starten Sie mit import uno. Oder dies kann mit einem Python-Skript geschehen. Ein gutes Tutorial ist unter http://christopher5106.github.io/office/2015/12/06/openoffice-libreoffice-automate-your-office-tasks-with-python-macros.html.
  2. Basierend auf Link [1] in der Frage, rufen Sie Einfügen -> Dokument wie diesen aufgezeichneten Basiscode.
dim args(1) as new com.sun.star.beans.PropertyValue 
args(0).Name = "Name" 
args(0).Value = "file:///path/to/the_document.odt" 
args(1).Name = "Filter" 
args(1).Value = "writer8" 
dispatcher.executeDispatch(document, ".uno:InsertDoc", "", 0, args())