List of usage examples for com.itextpdf.text Document close
boolean close
To view the source code for com.itextpdf.text Document close.
Click Source Link
From source file:com.tommontom.pdfsplitter.PdfMerge.java
public static void doMerge(java.util.List<InputStream> list, String[] imageList, String[] listWordExcels, OutputStream outputStream) throws DocumentException, IOException { Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); PdfWriter writer = PdfWriter.getInstance(document, outputStream); writer.setFullCompression();// w ww . ja v a 2s. c o m document.open(); PdfContentByte cb = writer.getDirectContent(); Image img; for (InputStream in : list) { PdfReader reader = new PdfReader(in); for (int i = 1; i <= reader.getNumberOfPages(); i++) { document.newPage(); //import the page from source pdf PdfImportedPage page = writer.getImportedPage(reader, i); //add the page to the destination pdf cb.addTemplate(page, 0, 0); } } for (int i = 0; i < imageList.length; i++) { document.newPage(); if (imageList[i] != null) { img = Image.getInstance(String.format("%s", imageList[i])); Rectangle one = new Rectangle(img.getPlainWidth(), img.getPlainHeight()); document.setPageSize(one); if (img.getScaledWidth() > img.getScaledHeight()) { img.rotate(); } if (img.getScaledWidth() > 792 || img.getScaledHeight() > 792) { img.scaleToFit(792, 792); } img.setDpi(150, 150); document.add(img); } } for (int i = 0; i < listWordExcels.length; i++) { if (imageList[i] != null) { File input = new File(listWordExcels[i]); File output = new File(listWordExcels[i] + ".pdf"); String outputS = listWordExcels[i] + ".pdf"; OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100); connection.connect(); DocumentConverter converter = new OpenOfficeDocumentConverter(connection); converter.convert(input, output); PdfReader readerWord = new PdfReader(outputS); PdfImportedPage page = writer.getImportedPage(readerWord, readerWord.getNumberOfPages()); cb.addTemplate(page, 0, 0); } } outputStream.flush(); document.close(); outputStream.close(); }
From source file:com.tommontom.pdfsplitter.PdfSplit.java
public void pdfSplit(String path) throws IOException, DocumentException, InterruptedException { // TODO Instead of hard code path, pass in as argument File folder = new File(path); FileNameFilter FileFilter = new FileNameFilter(); File[] listOfFiles = folder.listFiles(FileFilter); /* Stores the listing of the files */ for (int i = 0; i < listOfFiles.length; i++) { File file = listOfFiles[i]; if (!file.isFile()) { continue; }/*w w w. j a va 2 s . com*/ // Split the source filename into its 2 parts String fileName = file.getName(); String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf(".")); PdfReader pdfFileReader = new PdfReader(file.getPath()); Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); /* instantiates a new document to be made */ int k = 0; int numPages = pdfFileReader.getNumberOfPages(); // Split on a space '\s' // Determine number of pages by difference of lot numbers // Read in the source document // Example file name: 16034-212234 16034-212236.pdf > 16034-212234.pdf, 16034-212235.pdf, 16034-212236.pdf // Create a copy of the orignal source file. We will pick specific pages out below for (int j = 1; j < numPages + 1; j++) { String FileName = (fileNameWithoutExt); /* Dynamic file name */ PdfCopy copy = new PdfCopy(document, new FileOutputStream(path + "\\" + FileName + "(" + j + ")" + ".pdf")); document.open(); copy.addPage(copy.getImportedPage(pdfFileReader, j)); /* Import pages from original document */ deleteFile[k] = path + "\\" + FileName + "(" + j + 1 + ")" + ".pdf"; k++; if (j == 1) { newFileListing = ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } else if (j > 1) { newFileListing += ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } document.close(); } System.out.println("Number of Documents Created:" + numPages); pdfFileReader.close(); } }
From source file:com.tommontom.pdfsplitter.PdfSplit.java
public void pdfSplitCopy(String path) throws IOException, DocumentException { // TODO Instead of hard code path, pass in as argument File folder = new File(path); FileNameFilter FileFilter = new FileNameFilter(); File[] listOfFiles = folder.listFiles(FileFilter); /* Stores the listing of the files */ for (int i = 0; i < listOfFiles.length; i++) { File file = listOfFiles[i]; if (!file.isFile()) { continue; }//from w w w. j av a 2 s . co m // Split the source filename into its 2 parts String fileName = file.getName(); String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf(".")); PdfReader pdfFileReader = new PdfReader(file.getPath()); Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); /* instantiates a new document to be made */ String[] fileNameNum = fileNameWithoutExt.split("-"); int fileNameNumOne = Integer.getInteger(fileNameNum[0]); int fileNameNumTwo = Integer.getInteger(fileNameNum[1]); int constant = 1; int k = 0; int numPages = fileNameNumTwo - fileNameNumOne; // Split on a space '\s' // Determine number of pages by difference of lot numbers // Read in the source document // Example file name: 16034-212234 16034-212236.pdf > 16034-212234.pdf, 16034-212235.pdf, 16034-212236.pdf // Create a copy of the orignal source file. We will pick specific pages out below document.open(); for (int j = 0; j < numPages + 1; j++) { String FileName = (fileNameWithoutExt); /* Dynamic file name */ PdfCopy copy = new PdfCopy(document, new FileOutputStream(path + "\\" + FileName + "(" + j + 1 + ")" + ".pdf")); deleteFile[k] = (path + "\\" + FileName + "(" + j + 1 + ")" + ".pdf"); k++; document.open(); copy.addPage( copy.getImportedPage(pdfFileReader, constant)); /* Import pages from original document */ if (j == 1) { newFileListing = ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } else if (j > 1) { newFileListing += ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } document.close(); copy.close(); } System.out.println("Number of Documents Created:" + numPages); pdfFileReader.close(); } }
From source file:com.tommontom.pdfsplitter.PdfSplit.java
public void pdfSplitSupplierDoc(String path) throws IOException, DocumentException { // TODO Instead of hard code path, pass in as argument File folder = new File(path); FileNameFilter FileFilter = new FileNameFilter(); File[] listOfFiles = folder.listFiles(FileFilter); /* Stores the listing of the files */ for (int i = 0; i < listOfFiles.length; i++) { File file = listOfFiles[i]; if (!file.isFile()) { continue; }//from www . j av a 2 s.c o m // Split the source filename into its 2 parts String fileName = file.getName(); String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf(".")); PdfReader pdfFileReader = new PdfReader(file.getPath()); Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); /* instantiates a new document to be made */ String[] fileNames = fileNameWithoutExt.split("-"); /* * if (fileNames.length != 2) { throw new RuntimeException("File name format is not in right format"); } */ String fileNameFirst = fileNames[1]; String fileNameSecond = fileNames[2]; System.out.println("First lot number: " + fileNameFirst + " Second lot number: " + fileNameSecond); // Project num is always the 1st part String projectNum = fileNames[0]; if (!projectNum.equals(fileNames[0])) { throw new RuntimeException("Filename needs to have a project number"); } // Strip off the first and second lot number, parse into integers int firstLotNum; int secondLotNum; firstLotNum = Integer.parseInt(fileNames[1]); secondLotNum = Integer.parseInt(fileNames[2].substring(0, fileNames[2].lastIndexOf("."))); // Create a copy of the orignal source file. We will pick specific pages out below document.open(); int numPages = secondLotNum - firstLotNum; for (int j = 1; j < numPages + 1; j++) { String FileName = projectNum + "-" + (firstLotNum) + ".pdf"; /* Dynamic file name */ firstLotNum++; document = new Document(PageSize.LETTER, 0, 0, 0, 0); PdfCopy copy = new PdfCopy(document, new FileOutputStream(path + "\\" + FileName)); document.open(); copy.addPage(copy.getImportedPage(pdfFileReader, j)); /* Import pages from original document */ document.close(); copy.close(); } pdfFileReader.close(); } }
From source file:com.tommontom.pdfsplitter.PdfSplit.java
public void pdfSplitDrop(File[] files) throws IOException, DocumentException, InterruptedException { // TODO Instead of hard code path, pass in as argument String path;/*from w w w . java 2 s . c o m*/ if (directoryField.getText().isEmpty() || directoryField.getText().equals(example)) { path = files[0].getParent(); } else { path = directoryField.getText(); } File[] listOfFiles = files; /* Stores the listing of the files */ for (int i = 0; i < listOfFiles.length; i++) { File file = listOfFiles[i]; if (!file.isFile()) { continue; } // Split the source filename into its 2 parts String fileName = file.getName(); String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf(".")); PdfReader pdfFileReader = new PdfReader(file.getPath()); Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); /* instantiates a new document to be made */ int numPages = pdfFileReader.getNumberOfPages(); // Determine number of pages by difference of lot numbers // Read in the source document // Example file name: 16034-212234 16034-212236.pdf > 16034-212234.pdf, 16034-212235.pdf, 16034-212236.pdf // Create a copy of the orignal source file. We will pick specific pages out below int k = 0; for (int j = 1; j < numPages + 1; j++) { String FileName = fileNameWithoutExt; /* Dynamic file name */ PdfCopy copy = new PdfCopy(document, new FileOutputStream(path + "\\" + FileName + "(" + j + ")" + ".pdf")); document.open(); copy.addPage(copy.getImportedPage(pdfFileReader, j)); /* Import pages from original document */ deleteFile[k] += path + "\\" + FileName + "(" + j + ")" + ".pdf"; k++; if (j == 1) { newFileListing = ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } else if (j > 1) { newFileListing += ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } document.close(); copy.close(); } pdfFileReader.close(); } }
From source file:com.tommontom.pdfsplitter.PdfSplit.java
public void pdfSplitDropCopy(File[] files) throws IOException, DocumentException { // TODO Instead of hard code path, pass in as argument String path;/* w w w. j a v a2 s . c o m*/ path = files[0].getParent(); File[] listOfFiles = files; /* Stores the listing of the files */ System.out.println(directoryField); for (int i = 0; i < listOfFiles.length; i++) { File file = listOfFiles[i]; if (!file.isFile()) { continue; } // Split the source filename into its 2 parts String fileName = file.getName(); String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf(".")); String[] fileNameNum = fileNameWithoutExt.split("-"); int fileNameNumOne = Integer.parseInt(fileNameNum[0]); int fileNameNumTwo = Integer.parseInt(fileNameNum[1]); int constant = 1; int numPages = fileNameNumTwo - fileNameNumOne; PdfReader pdfFileReader = new PdfReader(file.getPath()); Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); ; /* instantiates a new document to be made */ // Determine number of pages by difference of lot numbers // Read in the source document // Example file name: 16034-212234 16034-212236.pdf > 16034-212234.pdf, 16034-212235.pdf, 16034-212236.pdf // Create a copy of the orignal source file. We will pick specific pages out below for (int j = 0; j < numPages + 1; j++) { String FileName = fileNameWithoutExt; /* Dynamic file name */ PdfCopy copy = new PdfCopy(document, new FileOutputStream(path + "\\" + FileName + "(" + j + 1 + ")" + ".pdf")); document.open(); copy.addPage( copy.getImportedPage(pdfFileReader, constant)); /* Import pages from original document */ if (j == 1) { newFileListing = ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } else if (j > 1) { newFileListing += ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } document.close(); } pdfFileReader.close(); } }
From source file:com.tommontom.pdfsplitter.PdfSplit.java
public void pdfSplitDropSupplierDoc(File[] files) throws IOException, DocumentException { // TODO Instead of hard code path, pass in as argument String path;/*from www.j a v a 2 s .c o m*/ if (directoryField.getText().isEmpty() || directoryField.getText().equals(example)) { path = files[0].getParent(); } else { path = directoryField.getText(); } File[] listOfFiles = files; /* Stores the listing of the files */ for (int i = 0; i < listOfFiles.length; i++) { File file = listOfFiles[i]; if (!file.isFile()) { continue; } // Split the source filename into its 2 parts String fileName = file.getName(); String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf(".")); System.out.println(fileNameWithoutExt); PdfReader pdfFileReader = new PdfReader(file.getPath()); Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); /* instantiates a new document to be made */ // Determine number of pages by difference of lot numbers // Read in the source document // Example file name: 16034-212234 16034-212236.pdf > 16034-212234.pdf, 16034-212235.pdf, 16034-212236.pdf // Create a copy of the orignal source file. We will pick specific pages out below // Split on a space '\s' String[] fileNames = fileNameWithoutExt.split("-"); String fileNameFirst = fileNames[1]; String fileNameSecond = fileNames[2]; System.out.println("First lot number: " + fileNameFirst + " Second lot number: " + fileNameSecond); // Project num is always the 1st part String projectNum = fileNames[0]; if (!projectNum.equals(fileNames[0])) { throw new RuntimeException("Filename needs to be renamed to the correct format"); } // Strip off the first and second lot number, parse into integers int firstLotNum; int secondLotNum; firstLotNum = Integer.parseInt(fileNameFirst); secondLotNum = Integer.parseInt(fileNameSecond); int numPages = secondLotNum - firstLotNum; // Create a copy of the orignal source file. We will pick specific pages out below document.open(); for (int j = 1; j < numPages + 1; j++) { String FileName = projectNum + "-" + (firstLotNum) + ".pdf"; /* Dynamic file name */ firstLotNum++; document = new Document(PageSize.LETTER, 0, 0, 0, 0); PdfCopy copy = new PdfCopy(document, new FileOutputStream(path + "\\" + FileName)); document.open(); copy.addPage(copy.getImportedPage(pdfFileReader, j)); /* Import pages from original document */ if (j == 1) { newFileListing = ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } else if (j > 1) { newFileListing += ("Created File:" + path + FileName + "(" + j + ")" + ".pdf" + "\n"); } document.close(); } } }
From source file:com.tommontom.pdfsplitter.PdfSplit.java
public void pdfEven(String path) throws IOException, DocumentException { String DEFAULT_PATH = path; // TODO Instead of hard code path, pass in as argument File folder = new File(DEFAULT_PATH); FileNameFilter FileFilter = new FileNameFilter(); File[] listOfFiles = folder.listFiles(FileFilter); /* Stores the listing of the files */ for (int i = 0; i < listOfFiles.length; i++) { File file = listOfFiles[i]; if (!file.isFile()) { continue; }// w w w .j a v a2 s. c om // Split the source filename into its 2 parts String fileName = file.getName(); String fileNameWithoutExt = fileName.substring(0, fileName.lastIndexOf(".")); // Split on a space '\s' String[] fileNames = fileNameWithoutExt.split("\\s"); if (fileNames.length != 2) { throw new RuntimeException("File name format is not in right format"); } String fileNameFirst = fileNames[0]; String fileNameSecond = fileNames[1]; System.out.println("First lot number: " + fileNameFirst + " Second lot number: " + fileNameSecond); String[] fileNameFirstParts = fileNameFirst.split("-"); String[] fileNameSecondParts = fileNameSecond.split("-"); // Project num is always the 1st part String projectNum = fileNameFirstParts[0]; if (!projectNum.equals(fileNameSecondParts[0])) { throw new RuntimeException("Filename needs to be renamed to the correct format"); } // Strip off the first and second lot number, parse into integers int firstLotNum; int secondLotNum; firstLotNum = Integer.parseInt(fileNameFirstParts[1]); secondLotNum = Integer.parseInt(fileNameSecondParts[1]); // Determine number of pages by difference of lot numbers // Read in the source document // Example file name: 16034-212234 16034-212236.pdf > 16034-212234.pdf, 16034-212235.pdf, 16034-212236.pdf PdfReader pdfFileReader = new PdfReader(file.getPath()); int mod = pdfFileReader.getNumberOfPages() % 2; if (pdfFileReader.equals(mod)) { throw new RuntimeException("File is not an even number of pages"); } Document document = new Document(PageSize.LETTER, 0, 0, 0, 0); /* instantiates a new document to be made */ int numPages = secondLotNum - firstLotNum + 1; int p = 0; int j = 1; // Create a copy of the orignal source file. We will pick specific pages out below document.open(); while (j < numPages) { j++; if (j % 2 == 1) { j += 1; } firstLotNum++; String FileName = projectNum + "-" + (firstLotNum - 1) + ".pdf"; /* Dynamic file name */ document = new Document(PageSize.LETTER, 0, 0, 0, 0); PdfCopy copy = new PdfCopy(document, new FileOutputStream(DEFAULT_PATH + "//" + FileName)); if (j == 1) { newFileListing = ("Created File:" + DEFAULT_PATH + "//" + FileName + "\n"); } else if (j > 1) { newFileListing += ("Created File:" + DEFAULT_PATH + "//" + FileName + "\n"); } document.open(); p += 2; copy.addPage(copy.getImportedPage(pdfFileReader, j)); /* Import pages from original document */ copy.addPage(copy.getImportedPage(pdfFileReader, p)); document.close(); } System.out.println("Number of Documents Created:" + numPages); System.out.println("Number of Documents Created:" + listOfFiles[i]); } }
From source file:com.unicauca.coordinacionpis.managedbean.RegistroFormatoAController.java
public void agregarMetadatos() { // create document and writer Document document = new Document(PageSize.A4); PdfWriter writer;/*from ww w . j a v a 2 s . co m*/ try { writer = PdfWriter.getInstance(document, new FileOutputStream("D:\\aguaabril2016.pdf")); // add meta-data to pdf document.addAuthor("Memorynotfound"); document.addCreationDate(); document.addCreator("Memorynotfound.com"); document.addTitle("Add meta data to PDF"); document.addSubject("how to add meta data to pdf using itext"); document.addKeywords(metadatosAnteproyectos.getTitulo() + "," + metadatosAnteproyectos.getProfesor()); document.addLanguage(Locale.ENGLISH.getLanguage()); document.addHeader("type", "tutorial, example"); // add xmp meta data writer.createXmpMetadata(); document.open(); document.add(new Paragraph("Add meta-data to PDF using iText")); document.close(); } catch (FileNotFoundException ex) { Logger.getLogger(RegistroOfertaAcademicaController.class.getName()).log(Level.SEVERE, null, ex); } catch (DocumentException ex) { Logger.getLogger(RegistroOfertaAcademicaController.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:com.VanLesh.macsv10.macs.Models.Pdf.java
License:GNU General Public License
public static void maker(Calculation calc) { try {//from www . j av a 2 s .co m File pdfFile = new File(Environment.getExternalStorageDirectory().getPath() + "/Report.pdf"); Document doc = new Document(); PdfWriter.getInstance(doc, new FileOutputStream(pdfFile)); doc.open(); addMetaData(doc, calc); addContent(doc, calc); doc.close(); } catch (Exception e) { e.printStackTrace(); } }