In this article, I will introduce how to replace an image
with a new image and how to replace an image with text in a Word document
programmatically in Java.
The required library:
The example Word document:
Imported namespace:
import com.spire.doc.Document; import com.spire.doc.DocumentObject; import com.spire.doc.FileFormat; import com.spire.doc.Section; import com.spire.doc.documents.Paragraph; import com.spire.doc.fields.DocPicture; import com.spire.doc.fields.TextRange;
Replace image with
new image
//load Word document
Document doc = new Document();
doc.loadFromFile("Images.docx");
doc.loadFromFile("Images.docx");
//get the first section Section section = doc.getSections().get(0);
//loop through the paragraphs in the section for (int i=0;i< section.getParagraphs().getCount();i++) { Paragraph para=section.getParagraphs().get(i);
//loop through the child objects in the paragraph for (int j=0;j<para.getChildObjects().getCount();j++) { DocumentObject obj =para.getChildObjects().get(j);
//find the image if(obj instanceof DocPicture){
//replace the image with a new image DocPicture pic = (DocPicture)obj; pic.loadImage("Hydrangeas.jpg"); } } }
//save the resultant document doc.saveToFile("ReplaceWithImage.docx", FileFormat.Docx_2013);
Replace image with
text
//load Word document
Document doc = new Document(); doc.loadFromFile("Images.docx");
//get the first section Section section = doc.getSections().get(0); //loop through the paragraphs in the section
for (int i=0;i< section.getParagraphs().getCount();i++) { Paragraph para=section.getParagraphs().get(i);
//loop through the child objects in the paragraph for (int j=0;j<para.getChildObjects().getCount();j++) { DocumentObject obj =para.getChildObjects().get(j);
//find the image if(obj instanceof DocPicture){
//replace the image with text DocPicture pic = (DocPicture)obj; TextRange text = new TextRange(doc); text.setText("Text"); int index = para.getIndex(pic); para.getChildObjects().insert(index, text); para.getChildObjects().remove(pic); } } }
//save the resultant document doc.saveToFile("ReplaceWithText.docx", FileFormat.Docx_2013);
Comments
Post a Comment