Hi,
I want to remove a specific watermark present in document. The found following code on aspose forum, which works fine if I don’t put check to compare watermark text.
==============================================================
Document doc = new Document(“C:\watermark.doc”);
NodeCollection nodes = doc.getChildNodes(NodeType.SHAPE, true, false);
if(nodes == null || nodes.getCount() <1 ){
return;
}
Node[] shapes = nodes.toArray();
int count = shapes.length;
for (int i = 0; i < count; i++)
{
Shape shape = (Shape)shapes[i];
String t = shape.getText();
System.out.println("wwww "+t);
// if (shape.getText().equalsIgnoreCase(“DRAFT”))
{
shape.remove();
}
}
doc.save(“C:\Temp\out.doc”);
==============================================================
Is there any way to compare watermark text. I always get empty text for this shape object.
I am attaching sample file which I am using with this example.
I am using Aspose Word for Java 2.4
Thanks for your help.
Hi<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Thanks for your request. In your case watermark is a WordArt shape. You should use TextPath.Text property to get text of this shape. Please try using the following code:
Document doc = new Document("C:\\Temp\\watermark.doc");
NodeCollection nodes = doc.getChildNodes(NodeType.SHAPE, true, false);
if(nodes == null || nodes.getCount() <1 ){
return;
}
Node[] shapes = nodes.toArray();
int count = shapes.length;
for (int i = 0; i < count; i++)
{
Shape shape = (Shape)shapes[i];
String t = shape.getTextPath().getText();
System.out.println("wwww " + t);
if (shape.getTextPath().getText().equalsIgnoreCase("SUN"))
{
shape.remove();
}
}
doc.save("C:\\Temp\\out.doc");
Hope this helps.
Best regards.