Просто идея:
Сначала вам нужно скачать WordAPI, который можно скачать прямо здесь . Чтобы создавать текстовые документы с помощью JAVA, есть класс, который делает все, что вам нужно. Класс называется WordProcessing .
Вот краткий предварительный просмотр методов, реализованных в этом классе:
- createNewDocumentFromTemplate (String templateName)
- createNewDocumentFromTemplateToSelectByUser ()
- setNoteNotMatchingBookmarks (логическая заметкаNotMatchingBookmarks)
- typeTextAtBookmark (строковая закладка, String textToType)
- typeTextAtBookmark (строковая закладка, String [] linesToType)
- changeDocumentDirectory (String documentDirectory)
- saveDocumentAs (String documentName)
- saveDocumentAsAndClose (String documentName)
- closeDocument ()
- printAndForget ()
- printToPrinterToSelectByUserAndForget ()
- printAndForget (String printerName)
- executeMacro (String macroName) <---- Вам интересно </li>
- quitApplication ()
- Exec ()
Как видите, существует множество полезных функций для создания вашего документа.
Теперь вы можете вставить изображение, вызвав функцию executeMacro.
Макрос может выглядеть так:
Option Explicit
Sub InsertPicture()
Dim sPath As String
Dim sBildPfad As String
Dim lRes As Long
'The path of your picture
sBildPfad = "C:\temp"
'remember the current path of the picture
sPath = Options.DefaultFilePath(Path:=wdPicturesPath)
'changing the path
Options.DefaultFilePath(Path:=wdPicturesPath) = sBildPfad
'open dialog
lRes = Application.Dialogs(wdDialogInsertPicture).Show
'reset path
Options.DefaultFilePath(Path:=wdPicturesPath) = sPath
If lRes <> 0 And ActiveDocument.InlineShapes.Count > 0 Then
'if inserted, changing the size
Call PicSize(ActiveDocument.InlineShapes(ActiveDocument.InlineShapes.Count))
End If
End Sub
Sub PicSize(oPic As InlineShape)
Dim iScale As Single
Dim iWidth As Single
iWidth = 200 ' (pixel)
oPic.LockAspectRatio = msoTrue
' scaling
iScale = (iWidth / oPic.Width) * 100
oPic.ScaleWidth = iScale
oPic.ScaleHeight = iScale
End Sub