2017-08-21 3 views
0

Ich muss zu * .doc Dateien zusammenführen. Ich kann Python-docx nicht verwenden, da es .doc nicht unterstützt. Ich habe versucht, olefile zu verwenden, aber ich habe diesen Fehler:Python merge zwei * .doc Dateien

write_stream: data must be the same size as the existing stream

import olefile 

ole = olefile.OleFileIO('asd1.doc') 
data = ole.openstream('WordDocument').read() 
ole1 = olefile.OleFileIO('asd.doc') 
data1 = ole.openstream('WordDocument').read() 
data2 = data1 + data 
ole2 = olefile.OleFileIO('test.doc', write_mode=True) 
ole2.write_stream('WordDocument', data2) 
ole.close() 
ole1.close() 
ole2.close() 

Wie bei Linux-Rechner zu * .doc-Dateien fusionieren?

Antwort

0

Pywin32 wird verwendet, um zwei Dokumente zusammenzuführen. Der Code dafür würde die unten gezeigten ähnlich sein:

import win32com.client as win32 

word = win32.gencache.EnsureDispatch('Word.Application') 
word.Visible = False 

output = word.Documents.Add() 

output.Application.Selection.Range.InsertFile('second.doc') 
output.Application.Selection.Range.InsertBreak() 
output.Application.Selection.Range.InsertFile('first.doc') 

output.SaveAs('output.doc') 
output.Close() 
+0

Danke, aber ich kann win32com nicht wegen der Linux-Maschine verwenden. –