¿Puede alguien señalarme en la dirección correcta sobre cómo insertar una imagen en un documento de Word en Java?Insertar una imagen en un documento de Word en Java
Respuesta
¿Qué formato es el archivo de palabras que desea modificar? (OLE2, WordML, docx?)
En general, la biblioteca más utilizada para la modificación de archivos de MSOffice es Apache POI.
También this tutorial probablemente sea útil en su caso actual.
Sólo una idea:
Al principio tendrá que descargar el WordAPI, que se puede descargar la derecha here. Para crear documentos de Word con JAVA, hay una clase que hace todo lo que necesita. La clase se llama WordProcessing.
Aquí hay un pequeño avance de los métodos implementados en esa clase:
- createNewDocumentFromTemplate (String nombre_plantilla)
- createNewDocumentFromTemplateToSelectByUser()
- setNoteNotMatchingBookmarks (noteNotMatchingBookmarks booleanos)
- typeTextAtBookmark (String marcador, Cadena textToType)
- typeTextAtBookmark (String bookmark, String [] linesToType)
- changeDocumentDirectory (String DocumentDirectory)
- saveDocumentAs (cadena DocumentName)
- saveDocumentAsAndClose (String DocumentName)
- CloseDocument()
- printAndForget()
- printToPrinterToSelectByUserAndForget()
- printAndForget (String NombreImpresora)
- executeMacro (String macroName) < ---- Interesante para usted
- quitApplication()
- exec()
Como se puede ver hay una gran cantidad de funciones útiles para crear el documento.
Ahora puede insertar una imagen llamando a la función executeMacro.
La macro podría tener este aspecto:
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
Suponiendo docx está bien, podría utilizar docx4j. La muestra incluye AddImage:
org.docx4j.wml.P p = newImage(wordMLPackage, bytes,
filenameHint, altText,
id1, id2);
// Now add our p to the document
wordMLPackage.getMainDocumentPart().addObject(p);
hay necesidad de ser candidato a la Palabra docx4j para trabajar.
ps Dado que su pregunta está etiquetada como "swing", es posible que desee buscar en Google "docx4all" para obtener un procesador de textos docx implementado con Swing, que muestra imágenes.
intenté esto, pero no he tenido éxito con esto. ¿Para qué sirve el archivo AddImage.java? Revisé el código, pero no tengo una idea clara. ¿Podrían explicarme el uso de este código? – jcrshankar
- 1. Guardar un documento de Word como una imagen
- 2. Número de páginas en un documento de Word en java
- 3. Insertar HTML en documento de Word OpenXML (.Net)
- 4. ¿Cómo insertar una imagen en un documento de escritor de OpenOffice con java?
- 5. ¿Completa un documento de Word en asp.net?
- 6. Cómo cambiar el tamaño de una imagen después de insertarla en un documento de Word
- 7. Renderizar un documento de Microsoft Word en una página web
- 8. ¿Cómo abrir y manipular documento/plantilla de Word en Java?
- 9. ¿Cómo insertar comentarios mediante programación en un documento de Microsoft Word?
- 10. ¿Cómo se puede editar un documento de Word con Java
- 11. Convertir un documento de Word en HTML utilizable en PHP
- 12. Documento de Word en Sharepoint - VSTO
- 13. Insertar una imagen en ggplot2
- 14. generando javadoc como un documento de Word
- 15. Resaltado de sintaxis en el documento de MS Word
- 16. Identificar encabezado en un documento de ms word usando C#
- 17. ¿Cómo convierto un documento de Latex en Microsoft Word 2003?
- 18. Reemplazar las balas con guiones en un documento de Word
- 19. CouchDB: insertar una nueva matriz en un documento
- 20. Extrayendo tablas de un documento DOCX Word en python
- 21. cómo agregar una imagen a un documento .docx con Apache POI XWPF en java
- 22. Crear documento de Word 2010 mediante programación
- 23. Insertar imagen en openpyxl
- 24. cómo insertar una imagen en un cuadro de texto
- 25. Leer/analizar/modificar documento de MS Word en Delphi sin Word Automation
- 26. Word 2007, Open XML: incrustación de una imagen
- 27. Agregue una imagen a documento de Word y escale utilizando VBA
- 28. Insertar código de programación en un documento de Lyx
- 29. ¿Cómo cargar una imagen en un documento activo? (Photoshop Scripting)
- 30. UIWebView, documento de Word Office y paginación
Es el argumento macroname, debe contener el código de macro, si no, ¿cómo podemos pasarlo? –