Java (481)
Java protect presentation slides by setting the property with mark as final
2019-11-19 08:25:39 Written by KoohjiMark as Final means that the presentation slide is final edition and the author doesn’t want any changes on the document. With Spire.Presentation for Java, we can protect the presentation slides by setting the password. This article demonstrates how to mark a presentation as final by setting the document property MarkAsFinal as true.
import com.spire.presentation.FileFormat;
import com.spire.presentation.Presentation;
public class MarkAsFinal {
public static void main(String[] args) throws Exception {
//Create a PPT document and load file
Presentation presentation = new Presentation();
presentation.loadFromFile("Sample.pptx");
//Set the document property MarkAsFinal as true
presentation.getDocumentProperty().set("_MarkAsFinal", true);
//Save the document to file
presentation.saveToFile("output/MarkasFinal.pptx", FileFormat.PPTX_2010);
}
}
Effective screenshot after mark as final for presentation:

This article demonstrates how to add or delete rows and columns in a PowerPoint table using Spire.Presentation for Java.
Here is a screenshot of the sample PowerPoint file:

Add a row and a column
import com.spire.presentation.*;
public class AddRowAndColumn {
public static void main(String[] args) throws Exception {
//load the sample PowerPoint file
Presentation presentation = new Presentation();
presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\input.pptx");
//get the table in the document
ITable table = null;
for (Object shape : presentation.getSlides().get(0).getShapes()) {
if (shape instanceof ITable) {
table = (ITable) shape;
//add the last row to the end of the table as a new row
int rowCount = table.getTableRows().getCount();
TableRow row = table.getTableRows().get(rowCount - 1);
table.getTableRows().append(row);
//get the new row and set the text for each cell
rowCount = table.getTableRows().getCount();
row = table.getTableRows().get(rowCount - 1);
row.get(0).getTextFrame().setText("America");
row.get(1).getTextFrame().setText("Washington");
row.get(2).getTextFrame().setText("North America");
row.get(3).getTextFrame().setText("9372610");
//add the last column to the end of the table as a new column
int colCount = table.getColumnsList().getCount();
TableColumn column =table.getColumnsList().get(colCount-1);
table.getColumnsList().add(column);
//get the new column and set the text for each cell
colCount = table.getColumnsList().getCount();
column = table.getColumnsList().get(colCount-1);
column.get(0).getTextFrame().setText("Population");
column.get(1).getTextFrame().setText("32370000");
column.get(2).getTextFrame().setText("7350000");
column.get(3).getTextFrame().setText("15040000");
column.get(4).getTextFrame().setText("26500000");
column.get(5).getTextFrame().setText("329740000");
}
}
//save the document
presentation.saveToFile("output/AddRowAndColumn.pptx", FileFormat.PPTX_2013);
}
}

Delete a row and a column
import com.spire.presentation.FileFormat;
import com.spire.presentation.ITable;
import com.spire.presentation.Presentation;
public class DeleteRowAndColumn {
public static void main(String[] args) throws Exception {
//load the sample PowerPoint file
Presentation presentation = new Presentation();
presentation.loadFromFile("C:\\Users\\Administrator\\Desktop\\input.pptx");
//get the table in the document
ITable table = null;
for (Object shape : presentation.getSlides().get(0).getShapes()) {
if (shape instanceof ITable) {
table = (ITable) shape;
//delete the second column
table.getColumnsList().removeAt(1, false);
//delete the second row
table.getTableRows().removeAt(1, false);
}
}
//save the document
presentation.saveToFile("output/DeleteRowAndColumn.pptx", FileFormat.PPTX_2013);
}
}

This article demonstrates how to modify hyperlinks in Word including modifying hyperlink address and display text using Spire.Doc for Java.
Below is the sample Word document we used for demonstration:

import com.spire.doc.*;
import com.spire.doc.documents.*;
import com.spire.doc.fields.Field;
import java.util.ArrayList;
import java.util.List;
public class ModifyHyperlink {
public static void main(String[] args) {
//Load Word document
Document doc = new Document();
doc.loadFromFile("Hyperlink.docx");
List<Field> hyperlinks = new ArrayList<>();
//Loop through the section in the document
for (Section section : (Iterable<Section>) doc.getSections()
) {
//Loop through the section in the document
for (Paragraph para : (Iterable<Paragraph>) section.getParagraphs()
) {
for (DocumentObject obj:(Iterable<DocumentObject>) para.getChildObjects()
) {
if (obj.getDocumentObjectType().equals(DocumentObjectType.Field)) {
Field field = (Field) obj;
if (field.getType().equals(FieldType.Field_Hyperlink)) {
hyperlinks.add(field);
}
}
}
}
}
hyperlinks.get(0).setCode("HYPERLINK \"http://www.google.com\"");
hyperlinks.get(0).setFieldText("www.google.com");
doc.saveToFile("EditHyperlink.docx", FileFormat.Docx_2013);
}
}
Output:
