int userChoice=current_selection.display(currentGUI.getFrame(),Messages.getMessage("PdfViewerRotation.text"));
//get parameters and call if YES
if (userChoice == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.rotate(commonValues.getPageCount(),currentPageData,current_selection);
open(commonValues.getSelectedFile());
}
}
}else{
}
break;
case SETCROP:
if(args==null){
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
//get values from user
CropPDFPages cropPage = new CropPDFPages(commonValues.getInputDir(), commonValues.getPageCount(), commonValues.getCurrentPage());
int cropPageChoice=cropPage.display(currentGUI.getFrame(),Messages.getMessage("PdfViewerTooltip.PDFCropPages"));
//get parameters and call if YES
if (cropPageChoice == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.setCrop(commonValues.getPageCount(),currentPageData,cropPage);
open(commonValues.getSelectedFile());
}
}
}else{
}
break;
case NUP:
if(args==null){
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
// get values from user
ExtractPDFPagesNup nup = new ExtractPDFPagesNup(commonValues.getInputDir(), commonValues.getPageCount(), commonValues.getCurrentPage());
int nupChoice=nup.display(currentGUI.getFrame(),Messages.getMessage("PdfViewerNUP.titlebar"));
//get parameters and call if YES
if (nupChoice == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
//decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.nup(commonValues.getPageCount(),currentPageData,nup);
//open(commonValues.getSelectedFile());
}
}
}else{
}
break;
case HANDOUTS:
if(args==null){
if(fileIsURL)
currentGUI.showMessageDialog(Messages.getMessage("PdfViewerMessage.CannotExportFromURL"));
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
if(!fileIsURL){//ensure file choose not displayed if opened from URL
JFileChooser chooser1 = new JFileChooser();
chooser1.setFileSelectionMode(JFileChooser.FILES_ONLY);
int approved1=chooser1.showSaveDialog(null);
if(approved1==JFileChooser.APPROVE_OPTION){
File file = chooser1.getSelectedFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.handouts(file.getAbsolutePath());
}
}
}
}else{
}
break;
case SIGN:
if(args==null) {
if(fileIsURL) {
currentGUI.showMessageDialog(Messages.getMessage("PdfViewerMessage.CannotExportFromURL"));
}
else if (commonValues.getSelectedFile()==null) {
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}
else if(!decode_pdf.isExtractionAllowed())
{
currentGUI.showMessageDialog(Messages.getMessage("PdfViewerMessage.ExtractionNotAllowed"));
}
else {
SignData signData=new SignData();
SignWizardModel signer = new SignWizardModel(signData, commonValues.getSelectedFile(), commonValues.getInputDir());
Wizard signWizard = new Wizard((Frame) currentGUI.getFrame(), signer);
if(signWizard.showModalDialog()!= JOptionPane.OK_OPTION) break;
if(!signData.validate()) {
currentGUI.showMessageDialog(signData.toString());
break;
}
int response = JOptionPane.showConfirmDialog(currentGUI.getFrame(),
signData.toString(),
Messages.getMessage("PdfViewerGeneral.IsThisCorrect"),
JOptionPane.OK_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE);
if(response==JOptionPane.OK_OPTION) {
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.Sign(signData);
}
else {
JOptionPane.showMessageDialog(currentGUI.getFrame(),
Messages.getMessage("PdfViewerMessage.SigningOperationCancelled"),
Messages.getMessage("PdfViewerGeneral.Warning"),
JOptionPane.WARNING_MESSAGE);
}
}
}
break;
case DELETE:
if(args==null){
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
//get values from user
DeletePDFPages deletedPages = new DeletePDFPages(commonValues.getInputDir(), commonValues.getPageCount(), commonValues.getCurrentPage());
int deletedPagesChoice=deletedPages.display(currentGUI.getFrame(),Messages.getMessage("PdfViewerDelete.text"));
//get parameters and call if YES
if (deletedPagesChoice == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.delete(commonValues.getPageCount(),currentPageData,deletedPages);
open(commonValues.getSelectedFile());
}
}
}else{
}
break;
case ADDHEADERFOOTER:
if(args==null){
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
//get values from user
AddHeaderFooterToPDFPages addHeaderFooter = new AddHeaderFooterToPDFPages(commonValues.getInputDir(), commonValues.getPageCount(), commonValues.getCurrentPage());
int headerFooterPagesChoice=addHeaderFooter.display(currentGUI.getFrame(),Messages.getMessage("PdfViewerTitle.AddHeaderAndFooters"));
//get parameters and call if YES
if (headerFooterPagesChoice == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.addHeaderFooter(commonValues.getPageCount(),currentPageData,addHeaderFooter);
open(commonValues.getSelectedFile());
}
}
}else{
}
break;
case STAMPTEXT:
if(args==null){
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
//get values from user
StampTextToPDFPages stampText = new StampTextToPDFPages(commonValues.getInputDir(), commonValues.getPageCount(), commonValues.getCurrentPage());
int stampTextChoice=stampText.display(currentGUI.getFrame(),Messages.getMessage("PdfViewerStampText.text"));
//get parameters and call if YES
if (stampTextChoice == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.stampText(commonValues.getPageCount(),currentPageData,stampText);
open(commonValues.getSelectedFile());
}
}
}else{
}
break;
case STAMPIMAGE:
if(args==null){
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
//get values from user
StampImageToPDFPages stampImage = new StampImageToPDFPages(commonValues.getInputDir(), commonValues.getPageCount(), commonValues.getCurrentPage());
int stampImageChoice=stampImage.display(currentGUI.getFrame(),Messages.getMessage("PdfViewerStampImage.text"));
//get parameters and call if YES
if (stampImageChoice == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.stampImage(commonValues.getPageCount(),currentPageData,stampImage);
open(commonValues.getSelectedFile());
}
}
}else{
}
break;
case ADD:
if(args==null){
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
//get values from user
InsertBlankPDFPage addPage = new InsertBlankPDFPage(commonValues.getInputDir(), commonValues.getPageCount(), commonValues.getCurrentPage());
int positionToAdd=addPage.display(currentGUI.getFrame(),Messages.getMessage("PdfViewer.BlankPage"));
//get parameters and call if YES
if (positionToAdd == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.add(commonValues.getPageCount(),currentPageData,addPage);
open(commonValues.getSelectedFile());
}
}
}else{
}
break;
case SECURITY:
if(args==null){
if(commonValues.getSelectedFile()==null){
currentGUI.showMessageDialog(Messages.getMessage("PdfViewer.NoFile"));
}else{
//get values from user
EncryptPDFDocument encryptPage = new EncryptPDFDocument(commonValues.getInputDir(), commonValues.getPageCount(), commonValues.getCurrentPage());
int encrypt=encryptPage.display(currentGUI.getFrame(),"Standard Security");
//get parameters and call if YES
if (encrypt == JOptionPane.OK_OPTION){
PdfPageData currentPageData=decode_pdf.getPdfPageData();
decode_pdf.closePdfFile();
ItextFunctions itextFunctions=new ItextFunctions(currentGUI,commonValues.getSelectedFile(),decode_pdf);
itextFunctions.encrypt(commonValues.getPageCount(),currentPageData,encryptPage);
open(commonValues.getSelectedFile());