import java.io.File;
import java.io.IOException;
import java.util.Random;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.font.PDType1Font;
public class AddRemovePDFPages {
public static void main(String[] args) {
try {
//Creating PDF document object
String myPDF = "docs/my_doc.pdf";
PDDocument document = new PDDocument();
//Add Random number of Pages in your document
Random generator = new Random();
int myCount = generator.nextInt(20) + 1;
for(int i=0; i < myCount; i++){
PDPage page = new PDPage(PDRectangle.LETTER);
document.addPage(page);
addText(document,page,i+1);
}
//Saving the document
document.save(myPDF);
//Closing the document
document.close();
//Let load the PDF for manipulation now
File file = new File(myPDF);
PDDocument doc = PDDocument.load(file);
//Let's get rid of a Random page
int pageNo = generator.nextInt(myCount) + 1;
doc.removePage(pageNo);
//Saving the document
doc.save(myPDF);
//Closing the document
doc.close();
//It fun time now lets see what happened,
//how many pages were added and which one got deleted!
} catch (IOException e) {
e.printStackTrace();
}
}
private static void addText(PDDocument document, PDPage page, int pageNo) {
try {
PDPageContentStream contentStream = new PDPageContentStream(document, page, PDPageContentStream.AppendMode.APPEND, true);
contentStream.beginText();
contentStream.setFont(PDType1Font.HELVETICA, 12);
contentStream.newLineAtOffset(25,750);
contentStream.showText("This is Page No: " + pageNo);
contentStream.endText();
contentStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
All one can think and do in a short time is to think what one already knows and to do as one has always done!
No comments:
Post a Comment
NO JUNK, Please try to keep this clean and related to the topic at hand.
Comments are for users to ask questions, collaborate or improve on existing.