List of usage examples for com.itextpdf.text.pdf PdfReader PdfReader
public PdfReader(final PdfReader reader)
From source file:NPRImpl.java
@Override public boolean saveTransientBillingToPdf(String transientIdnum, String amountPaid, String admin, String controlN, String mode, String remarks) throws RemoteException { try {/*from www .j a v a2 s . c o m*/ // TODO add your handling code here: BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt")); String path = ""; try { StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); sb.append(System.lineSeparator()); line = br.readLine(); } path = sb.toString().trim(); } finally { br.close(); } PreparedStatement preparedStatement = connection .prepareStatement("SELECT * FROM transient WHERE transientIdnum = ?"); preparedStatement.setInt(1, Integer.parseInt(transientIdnum.trim())); ResultSet rs = preparedStatement.executeQuery(); rs.next(); Document doc = new Document(); FileOutputStream fos = new FileOutputStream( path + "\\transientBilling\\" + rs.getString("transientFname") + " " + rs.getString("transientLname") + "CheckoutDetails.pdf"); PdfWriter.getInstance(doc, fos); PdfReader pdfReader = new PdfReader("Payment Remittance.pdf"); PdfStamper pdfStamper = new PdfStamper(pdfReader, fos); for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) { PdfContentByte content = pdfStamper.getOverContent(i); //Text over the existing page BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED); content.beginText(); content.setFontAndSize(bf, 11); content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Control Number: " + controlN, 300, 260, 0); if (mode.equals("cash")) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 346, 218, 0); } else if (mode.equals("cheque")) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 198, 0); } else { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 178, 0); } content.showTextAligned(PdfContentByte.ALIGN_LEFT, remarks, 330, 140, 0); //Date content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), 460, 260, 0); //Resident name content.showTextAligned(PdfContentByte.ALIGN_LEFT, rs.getString("transientFname") + " " + rs.getString("transientLname"), 90, 250, 0); //Purpose of payment content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Transient Checkout", 125, 223, 0); //Room Details content.showTextAligned(PdfContentByte.ALIGN_LEFT, rs.getString("transientReservedRoomNo"), 125, 183, 0); //Amount content.showTextAligned(PdfContentByte.ALIGN_LEFT, amountPaid, 125, 158, 0); //Received By admin name! content.showTextAligned(PdfContentByte.ALIGN_LEFT, admin, 125, 105, 0); content.endText(); } pdfStamper.close(); pdfReader.close(); fos.close(); return true; } catch (DocumentException | SQLException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } catch (FileNotFoundException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } catch (IOException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } }
From source file:NPRImpl.java
@Override public boolean saveStatementOfAccountToPDF(ArrayList<String> info) throws RemoteException { try {// www.jav a 2 s . c o m BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt")); String path = ""; try { StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); sb.append(System.lineSeparator()); line = br.readLine(); } path = sb.toString().trim(); } finally { br.close(); } com.itextpdf.text.Document doc = new com.itextpdf.text.Document(); FileOutputStream fos = new FileOutputStream( path + "\\residentStatementOfAccount\\" + info.get(0) + "statementOfAccounts.pdf"); PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos); PdfReader pdfReader = new PdfReader("statementOfAccounts.pdf"); PdfStamper pdfStamper = new PdfStamper(pdfReader, fos); java.util.Date date = new SimpleDateFormat("yyyy-MM-dd").parse(info.get(6)); for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) { PdfContentByte content = pdfStamper.getOverContent(i); BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED); content.beginText(); content.setFontAndSize(bf, 10); //month content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MMMM").format(date), 205, 625, 0); //name content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0), 125, 610, 0); //roomNumber content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1), 130, 598, 0); //monthly rate content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2), 205, 560, 0); //Shuttle rate content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(3), 205, 545, 0); //gadget rate content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(4), 205, 530, 0); //additional fee content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(5), 205, 518, 0); //total amount Double totalAmount = Double.parseDouble(info.get(2)) + Double.parseDouble(info.get(3)) + Double.parseDouble(info.get(4)); content.showTextAligned(PdfContentByte.ALIGN_LEFT, totalAmount + "", 205, 490, 0); //due date Calendar cal = Calendar.getInstance(); cal.setTime(date); cal.add(Calendar.MONTH, Calendar.MONTH - 1); content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(7), 130, 463, 0); content.endText(); } pdfStamper.close(); pdfReader.close(); fos.close(); pdfWriter.close(); return true; } catch (DocumentException | ParseException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } catch (FileNotFoundException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } catch (IOException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } }
From source file:NPRImpl.java
@Override public boolean savePaymentRemittanceToPDF(ArrayList<String> info) throws RemoteException { try {//from w ww . j a va 2s . c o m // TODO add your handling code here: BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt")); String path = ""; try { StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); sb.append(System.lineSeparator()); line = br.readLine(); } path = sb.toString().trim(); } finally { br.close(); } Document doc = new Document(); FileOutputStream fos = new FileOutputStream( path + "\\residentBilling\\" + info.get(0) + "Payment Remittance.pdf"); PdfWriter.getInstance(doc, fos); PreparedStatement preparedStatement = connection.prepareStatement( "SELECT * FROM billing WHERE residentIdnum = ? AND billingStatus LIKE 'unpaid'"); preparedStatement.setInt(1, Integer.parseInt(info.get(7))); ResultSet rs = preparedStatement.executeQuery(); rs.next(); PdfReader pdfReader = new PdfReader("Payment Remittance.pdf"); PdfStamper pdfStamper = new PdfStamper(pdfReader, fos); for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) { PdfContentByte content = pdfStamper.getOverContent(i); //Text over the existing page BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED); content.beginText(); content.setFontAndSize(bf, 11); content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Control Number: " + info.get(4), 300, 260, 0); if (info.get(5).equals("cash")) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 346, 218, 0); } else if (info.get(5).equals("cheque")) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 198, 0); } else { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 178, 0); } content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(6), 330, 140, 0); //Date content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), 460, 260, 0); //Resident name content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0), 90, 250, 0); //Purpose of payment content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Resident Monthly Billing", 90, 223, 0); //Room Details content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1), 125, 183, 0); //Amount content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2), 125, 158, 0); //Received By admin name! content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(3), 125, 105, 0); content.endText(); } pdfStamper.close(); pdfReader.close(); fos.close(); return true; } catch (DocumentException | SQLException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } catch (FileNotFoundException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } catch (IOException ex) { // Logger.getLogger(NPRImpl.class.getName()).log(Level.SEVERE, null, ex); label.setText(ex.getMessage()); return false; } }
From source file:watermark.java
public static void main(String[] args) { try {/*from www. j a v a 2s .c om*/ PdfReader reader = new PdfReader(args[0]); PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(args[1])); stamp.getWriter().setCompressionLevel(9); // without this code it'll 3 times bigger int bottom_margin = Integer.parseInt(args[2]); String lic = String.format(LIC, args[3]); BaseFont bf = BaseFont.createFont(FONTFILE, BaseFont.IDENTITY_H, BaseFont.EMBEDDED); Chunk c = new Chunk(lic, new Font(bf, 7, Font.NORMAL, TCOLOR)); c.setTextRenderMode(PdfContentByte.TEXT_RENDER_MODE_FILL_STROKE, 1 / 800f, null); Phrase phrase = new Phrase(c); int pages = reader.getNumberOfPages(); int xpos = 90; for (int i = 1; i <= pages; i++) { if (i % 2 == 0) xpos = 160; else xpos = 90; PdfContentByte under = stamp.getUnderContent(i); ColumnText.showTextAligned(under, Element.ALIGN_LEFT, phrase, xpos, bottom_margin, -0); } stamp.setFullCompression(); // without this code it'll 3 times bigger stamp.close(); } catch (Exception e) { e.printStackTrace(); } }
From source file:Billing.java
public boolean savePaymentRemittanceToPDF(ArrayList<String> info) { try {/*from w w w .j a v a2 s . c om*/ // TODO add your handling code here: BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt")); String path = ""; try { StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); sb.append(System.lineSeparator()); line = br.readLine(); } path = sb.toString().trim(); } finally { br.close(); } Document doc = new Document(); FileOutputStream fos = new FileOutputStream( path + "\\residentBilling\\" + info.get(0) + "Payment Remittance.pdf"); PdfWriter.getInstance(doc, fos); PreparedStatement preparedStatement = connection.prepareStatement( "SELECT * FROM billing WHERE residentIdnum = ? AND billingStatus LIKE 'unpaid'"); preparedStatement.setInt(1, Integer.parseInt(info.get(7))); ResultSet rs = preparedStatement.executeQuery(); rs.next(); PdfReader pdfReader = new PdfReader("Payment Remittance.pdf"); PdfStamper pdfStamper = new PdfStamper(pdfReader, fos); for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) { PdfContentByte content = pdfStamper.getOverContent(i); //Text over the existing page BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED); content.beginText(); content.setFontAndSize(bf, 11); content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Control Number: " + info.get(4), 300, 260, 0); if (info.get(5).equals("cash")) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 346, 218, 0); } else if (info.get(5).equals("cheque")) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 198, 0); } else { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "X", 347, 178, 0); } content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(6), 330, 140, 0); //Date content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MM/dd/yyyy") .format(dateLabel.getDateFormat().parse(dateLabel.getText())), 460, 260, 0); //Resident name content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(0), 90, 250, 0); //Purpose of payment content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Resident Monthly Billing", 90, 223, 0); //Room Details content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(1), 125, 183, 0); //Amount content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(2), 125, 158, 0); //Received By admin name! content.showTextAligned(PdfContentByte.ALIGN_LEFT, info.get(3), 125, 105, 0); content.endText(); } pdfStamper.close(); pdfReader.close(); fos.close(); return true; } catch (DocumentException | SQLException | ParseException ex) { // Logger.getLogger(Billing.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } catch (FileNotFoundException ex) { // Logger.getLogger(Billing.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } catch (IOException ex) { // Logger.getLogger(Billing.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } }
From source file:Separator.java
License:Apache License
public static void run(File file) { String name = file.getName(); Object[] options = { "Vertical", "Horizontal", "Cancel" }; String fileName = ""; int answer = JOptionPane.showOptionDialog(null, "Before you begin separating a PDF file, place it in a folder called \"Scan Folder\" \non the desktop. Select the orientation of the " + "first page of " + name + " below.\n\n" + "(Clicking Cancel will stop the process.)", "PDFSeparator", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.WARNING_MESSAGE, null, options, options[2]);//from w w w . jav a2s. co m if (answer == JOptionPane.CANCEL_OPTION || answer == JOptionPane.CLOSED_OPTION) { System.exit(0); } if (answer == JOptionPane.YES_OPTION) { verFlag = true; } if (answer == JOptionPane.NO_OPTION) { verFlag = false; } try { Object[] options2 = { "Single-sided", "Double-sided", "Cancel" }; int answer2 = JOptionPane.showOptionDialog(null, "Is " + name + " single-sided or double-sided?\n" + "(Clicking Cancel will stop the process.)", "PDFSeparator", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options2, options2[2]); if (answer2 == JOptionPane.CANCEL_OPTION || answer == JOptionPane.CLOSED_OPTION) { System.exit(0); } if (answer2 == JOptionPane.YES_OPTION) { doubSided = false; } if (answer2 == JOptionPane.NO_OPTION) { doubSided = true; } fileName = file.getPath(); // Creating main scan File pReader = new PdfReader(fileName); // Creating temp pictures folder File scanPics = new File(scanFolder + "Temp Pictures\\temp.txt"); picsFolder = new File(scanFolder + "Temp Pictures"); File tempFolderFile = new File(scanFolder + "Temp PDFs\\temp2.txt"); tempFolder = new File(scanFolder + "Temp PDFs"); scanPics.getParentFile().mkdirs(); tempFolderFile.getParentFile().mkdirs(); FileWriter writer = new FileWriter(scanPics); FileWriter writer2 = new FileWriter(tempFolderFile); writer.close(); writer2.close(); scanPics.delete(); tempFolderFile.delete(); // config option 1:convert all document to image PDFtoImageArgs = new String[3]; PDFtoImageArgs[0] = "-outputPrefix"; PDFtoImageArgs[1] = System.getProperty("user.home") + "\\Desktop\\Scan Folder\\Temp Pictures\\my_image_"; PDFtoImageArgs[2] = fileName; } catch (Exception e) { JOptionPane.showMessageDialog(null, "Make sure the PDF is in a desktop folder \nnamed" + "\"Scan Folder\", then try again.", "Error!", JOptionPane.OK_OPTION); System.exit(0); } try { PDFToImage.main(PDFtoImageArgs); } catch (Exception e) { JOptionPane.showMessageDialog(null, "There was an error while trying to read\n" + "the PDF pages as images.", "Error!", JOptionPane.OK_OPTION); System.exit(0); } splitPDFFile(fileName); // Clearing Temp Pictures & deleting the folder File[] files = picsFolder.listFiles(); for (File f : files) { f.delete(); } picsFolder.delete(); pReader.close(); }
From source file:Separator.java
License:Apache License
public static void crop(String inFileName, String outFileName, int split, boolean vert) throws Exception { PdfReader reader = new PdfReader(new File(inFileName).getAbsolutePath()); String PDFName = outFileName.substring(outFileName.lastIndexOf("Folder\\") + 7, outFileName.indexOf(".pdf")); File fn = new File(scanFolder + PDFName + "\\" + PDFName + "_split_" + split + ".pdf"); fn.getParentFile().mkdirs();// w w w . j a va2s . co m int count = reader.getNumberOfPages(); Document doc = new Document(); PdfCopy copy = new PdfCopy(doc, new FileOutputStream(fn.getAbsolutePath())); doc.open(); if (vert) { for (int i = 1; i <= count; i++) { reader.getPageN(i).put(PdfName.CROPBOX, new PdfRectangle(PageSize.LETTER)); copy.addPage(copy.getImportedPage(reader, i)); } } else { if (!doubSided) { for (int j = 1; j <= count; j++) { reader.getPageN(j).put(PdfName.CROPBOX, new PdfRectangle((new Rectangle(0, 180, 792, 792)))); PdfDictionary pageDict; int rot = reader.getPageRotation(j); pageDict = reader.getPageN(j); pageDict.put(PdfName.ROTATE, new PdfNumber(rot + 90)); copy.addPage(copy.getImportedPage(reader, j)); } } else { for (int j = 1; j <= count; j++) { reader.getPageN(j).put(PdfName.CROPBOX, new PdfRectangle(new Rectangle(0, 180, 792, 792))); PdfDictionary pageDict; pageDict = reader.getPageN(j); if (j % 2 == 0) { // even pageDict.put(PdfName.ROTATE, new PdfNumber(270)); } else { // odd pageDict.put(PdfName.ROTATE, new PdfNumber(90)); } copy.addPage(copy.getImportedPage(reader, j)); } } } doc.close(); }
From source file:TwoCustPDF.java
public static void createfile(File inputfile, Customer myCust, String SecondCust, Inverter myInvert, ExtraData mydata, Preparer myPrep, Module myMod) throws DocumentException, IOException { String[] LastFirst;//from w w w. j av a 2s . c om LastFirst = myCust.getName().split(" "); String homeDir = System.getProperty("user.home"); String separator = System.getProperty("file.separator"); String INPUTFILENAME = inputfile.getPath(); String inputFileNameShort = inputfile.getName(); inputFileNameShort = inputFileNameShort.substring(0, inputFileNameShort.lastIndexOf('.')); String OUTPUTFILENAME = homeDir + separator + "Dropbox" + separator + "Utility and Permiting" + separator + "1 Utility Submissions" + separator + LastFirst[LastFirst.length - 1] + ", " + LastFirst[0] + " " + "(" + myCust.getState() + ")" + separator + inputFileNameShort + "-" + myCust.getName() + ".pdf"; File outfile = new File(OUTPUTFILENAME); outfile.getParentFile().mkdirs(); if (!outfile.getParentFile().exists()) { boolean mkdirSts = outfile.getParentFile().mkdirs(); GUI.instructions.setText( String.format("%s creating Files for %s", mkdirSts ? "Success" : "Failure", myCust.getName())); } PdfReader reader = new PdfReader(INPUTFILENAME); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(OUTPUTFILENAME)); AcroFields fields = stamper.getAcroFields(); fields.setGenerateAppearances(true); fields.setField("Customer Name", SecondCust); fields.setField("Second Customer Name", myCust.getName()); fields.setField("Account Number", mydata.getAccountNumber()); fields.setField("Customer Street Address", myCust.getStreetAddress()); fields.setField("Customer City", myCust.getCity()); fields.setField("Customer Zip Code", myCust.getZipCode()); fields.setField("Customer Phone", myCust.getCellNumber()); fields.setField("Customer E-mail", myCust.getEmail()); fields.setField("Preparer Name", myPrep.getName()); fields.setField("License Number", myPrep.getLicencenum()); fields.setField("Preparer Street Address", myPrep.getStreetAddress()); fields.setField("Preparer City", myPrep.getCity()); fields.setField("Preparer Zip Code", myPrep.getZipCode()); fields.setField("Preparer Phone#", myPrep.getWorkPhoneNumber()); fields.setField("Preparer E-mail", myPrep.getEmail()); fields.setField("Module Brand", myMod.getBrand()); fields.setField("Module Number", myMod.getNumber()); fields.setField("Module qty", myMod.getQuantityString()); fields.setField("ptc rating", myMod.getptcRating()); fields.setField("Array Azimuth", myMod.getArrayAzimuth()); fields.setField("Inverter Brand", myInvert.getBrand()); fields.setField("Inverter Number", myInvert.getNumber()); fields.setField("Inverter Efficiency", myInvert.getefficiencyString()); fields.setField("DC kiloWatts", myMod.getDCkiloWatts() + "kW DC"); fields.setField("Complete Date", mydata.getCompleteDate()); fields.setField("Rebate Amount", mydata.getRebateAmount()); fields.setField("Customer Address", myCust.getFullAddress()); fields.setField("Array Tilt degrees", myMod.getArrayTilt()); fields.setField("Customer + Customer Address", SecondCust + " " + myCust.getFullAddress()); fields.setField("Preparer Address", myPrep.getFullAddress()); fields.setField("AC kiloWatt", myInvert.getACKiloWatts()); fields.setField("AC Export", mydata.getACExport()); fields.setField("Amperage Rating", myInvert.getAmperage()); fields.setField("Customer City, State, Zip", myCust.getCityStateZip()); fields.setField("Inverter Name + Brand + Quantity", myInvert.getInverterNameBrandQty()); fields.setField("Module Name + Brand + Quantity", myMod.getNumberBrandQty()); fields.setField("Racking", myMod.getRacking()); fields.setField("System Production", mydata.getProduction()); fields.setField("System Cost", mydata.getCost()); fields.setField("Date", mydata.getTodayDate()); fields.setField("Module Watts", myMod.getWatts() + " " + "Watts"); fields.setField("Price Per Watt", mydata.getPricePerWatt()); stamper.close(); }
From source file:ReadmitArchiveFrame.java
private void tabletoPDF1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tabletoPDF1ActionPerformed // TODO add your handling code here: String title = ""; if (jTabbedPane2.getSelectedIndex() == 0) { model = (DefaultTableModel) residentpersonalinfotable.getModel(); title = "PersonalInformation"; } else if (jTabbedPane2.getSelectedIndex() == 1) { model = (DefaultTableModel) residentcontactinfotable.getModel(); title = "ContactInformation"; } else if (jTabbedPane2.getSelectedIndex() == 2) { model = (DefaultTableModel) residentaddresstable.getModel(); title = "AddressInformation"; } else {/* www .j a v a2 s. co m*/ model = (DefaultTableModel) residentstatustable.getModel(); title = "Status"; } Document document = new Document(); try { PdfWriter.getInstance(document, new FileOutputStream(path + "\\PDF\\" + title + "ReadmitArchive.pdf")); PdfReader pdfReader = new PdfReader("ReportGeneration.pdf"); document.open(); PdfPTable tab = new PdfPTable(model.getColumnCount()); for (int i = 0; i < model.getColumnCount(); i++) { tab.addCell(model.getColumnName(i)); } for (int i = 0; i < model.getRowCount(); i++) { for (int j = 0; j < model.getColumnCount(); j++) { if (model.getValueAt(i, j) != null) { tab.addCell(model.getValueAt(i, j).toString()); } else { tab.addCell("-"); } } } document.add(tab); pdfReader.close(); JOptionPane.showMessageDialog(null, "Data saved at " + path + "'\\PDF\\" + title + "ReadmitArchive.pdf' successfully", "Message", JOptionPane.INFORMATION_MESSAGE); document.close(); } catch (FileNotFoundException ex) { new MessageDialog().error(this, ex.getMessage()); } catch (DocumentException | IOException ex) { // Logger.getLogger(ReadmitArchiveFrame.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } }
From source file:Registration_Tenant.java
private void saveToPdf() { try {//from w w w .ja va 2s .c om String gend = ""; Document doc = new Document(); BufferedReader br = new BufferedReader(new FileReader("dir\\defaults.txt")); String path = ""; try { StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line != null) { sb.append(line); sb.append(System.lineSeparator()); line = br.readLine(); } path = sb.toString().trim(); } finally { br.close(); } FileOutputStream fos = new FileOutputStream( path + "\\registration\\" + lastNameTextField.getText().trim() + ", " + firstNameTextField.getText().trim() + "RegistrationResidentForm.pdf"); PdfWriter pdfWriter = PdfWriter.getInstance(doc, fos); PdfReader pdfReader = new PdfReader("RegistrationResidentForm.pdf"); PdfStamper pdfStamper = new PdfStamper(pdfReader, fos); for (int i = 1; i <= pdfReader.getNumberOfPages(); i++) { PdfContentByte content = pdfStamper.getOverContent(i); byte[] cc = null; if (file != null) { File thisFile = new File(file); cc = Files.readAllBytes(thisFile.toPath()); } if (cc != null) { Image image1 = Image.getInstance(cc); image1.scaleAbsolute(95, 105); image1.setAbsolutePosition(465f, 635f); content.addImage(image1); } //Text over the existing page BaseFont bf = BaseFont.createFont(BaseFont.TIMES_ROMAN, BaseFont.WINANSI, BaseFont.EMBEDDED); content.beginText(); content.setFontAndSize(bf, 10); //last name content.showTextAligned(PdfContentByte.ALIGN_LEFT, lastNameTextField.getText().trim(), 175, 610, 0); //first name content.showTextAligned(PdfContentByte.ALIGN_LEFT, firstNameTextField.getText().trim(), 325, 610, 0); //middle name content.showTextAligned(PdfContentByte.ALIGN_LEFT, middleNameTextField.getText().trim(), 470, 610, 0); //college content.showTextAligned(PdfContentByte.ALIGN_LEFT, collegeTextField.getText().trim(), 180, 582, 0); //Course and year content.showTextAligned(PdfContentByte.ALIGN_LEFT, courseTextField.getText().trim() + " - " + yearTextField.getText().trim(), 180, 568, 0); //department content.showTextAligned(PdfContentByte.ALIGN_LEFT, departmentTextField.getText().trim(), 400, 582, 0); String g; if (male.isSelected()) { g = "Male";//6 } else { g = "Female";//6 } //Sex content.showTextAligned(PdfContentByte.ALIGN_LEFT, g, 400, 568, 0); //Home address content.showTextAligned(PdfContentByte.ALIGN_LEFT, homeAddressTextArea.getText(), 110, 540, 0); //resident mobile no1 content.showTextAligned(PdfContentByte.ALIGN_LEFT, MobileNumber1.getText().trim(), 187, 485, 0); //resident mobile no2 content.showTextAligned(PdfContentByte.ALIGN_LEFT, MobileNumber2.getText().trim(), 187, 470, 0); //student email content.showTextAligned(PdfContentByte.ALIGN_LEFT, email.getText().trim(), 397, 485, 0); //fathers name content.showTextAligned(PdfContentByte.ALIGN_LEFT, fatherNameTextField.getText().trim(), 110, 443, 0); //fathers area code content.showTextAligned(PdfContentByte.ALIGN_LEFT, fACodeTextField.getText().trim(), 300, 443, 0); //father landline content.showTextAligned(PdfContentByte.ALIGN_LEFT, fphoneNumberTextField.getText().trim(), 355, 443, 0); //father mobile content.showTextAligned(PdfContentByte.ALIGN_LEFT, fMobileNumberTextField.getText().trim(), 490, 443, 0); //father email content.showTextAligned(PdfContentByte.ALIGN_LEFT, fEmailTextField.getText().trim(), 110, 430, 0); //mother name content.showTextAligned(PdfContentByte.ALIGN_LEFT, motherNameTextField.getText().trim(), 110, 402, 0); //mother area code content.showTextAligned(PdfContentByte.ALIGN_LEFT, mACodeTextField.getText().trim(), 300, 402, 0); //mother landline content.showTextAligned(PdfContentByte.ALIGN_LEFT, mphoneNumberTextField.getText().trim(), 355, 402, 0); //mother mobile content.showTextAligned(PdfContentByte.ALIGN_LEFT, mMobileNumberTextField.getText().trim(), 490, 402, 0); //mother email content.showTextAligned(PdfContentByte.ALIGN_LEFT, mEmailTextField.getText().trim(), 110, 387, 0); //guardian name content.showTextAligned(PdfContentByte.ALIGN_LEFT, guardianNameTextField.getText().trim(), 170, 335, 0); //guardian contact number content.showTextAligned(PdfContentByte.ALIGN_LEFT, gContactNumber1.getText().trim(), 470, 335, 0); //guardian address content.showTextAligned(PdfContentByte.ALIGN_LEFT, guardianAddress.getText().trim(), 125, 322, 0); //guardian relation content.showTextAligned(PdfContentByte.ALIGN_LEFT, relationToGuardian.getText().trim(), 170, 307, 0); content.setFontAndSize(bf, 12); //room details content.showTextAligned(PdfContentByte.ALIGN_LEFT, "Room No.: " + roomNumberTextField.getSelectedItem().toString().trim() + " - " + roomTypeTextField.getText().trim(), 355, 235, 0); content.endText(); } pdfStamper.close(); pdfReader.close(); fos.close(); pdfWriter.close(); } catch (DocumentException ex) { // Logger.getLogger(Registration_Tenant.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } catch (FileNotFoundException ex) { // Logger.getLogger(Registration_Tenant.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } catch (IOException ex) { // Logger.getLogger(Registration_Tenant.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } }