List of usage examples for com.itextpdf.text.pdf PdfStamper close
public void close() throws DocumentException, IOException
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;/* w w w . jav a 2 s. 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:Registration_Tenant.java
private void saveToPdf() { try {// w ww . jav a 2 s.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()); } }
From source file:Registration_Transient.java
private void saveToPdf() { try {/*from w ww . j a v a 2 s .c o m*/ com.itextpdf.text.Document doc = new com.itextpdf.text.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 + "\\transient\\" + lastNameTextField.getText().trim() + ", " + firstNameTextField.getText().trim() + "TransientForm.pdf"); PdfWriter.getInstance(doc, fos); PdfReader pdfReader = new PdfReader("TransientForm.pdf"); PdfStamper pdfStamper = new PdfStamper(pdfReader, fos); //doc.open(); //doc.add(new Paragraph(contents.getText().trim() + "-markram")); float varPosition = 0; 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, 10); varPosition = 15; //last name content.showTextAligned(PdfContentByte.ALIGN_LEFT, lastNameTextField.getText().trim() + ", " + firstNameTextField.getText().trim(), 100, 661 + varPosition, 0); //first name content.showTextAligned(PdfContentByte.ALIGN_LEFT, new SimpleDateFormat("MM/dd/yyyy").format(Calendar.getInstance().getTime()), 400, 661 + varPosition, 0); if (residentNameCheckBox.isSelected()) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, residentComboBox.getSelectedItem().toString(), 125, 633 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, residentComboBox.getSelectedItem().toString(), 470, 633 + varPosition, 0); } else { content.showTextAligned(PdfContentByte.ALIGN_LEFT, "N / A", 125, 633 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, "N / A", 470, 633 + varPosition, 0); } content.showTextAligned(PdfContentByte.ALIGN_LEFT, mobileNoTextField.getText(), 135, 590 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, emailTextField.getText(), 400, 590 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, addressTextField.getText(), 175, 577 + varPosition, 0); varPosition = 35; content.showTextAligned(PdfContentByte.ALIGN_LEFT, roomReservedTextField.getText(), 135, 507 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, dateArrivalChooserCombo.getText(), 135, 493 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, dateDepartureChooserCombo.getText(), 435, 493 + varPosition, 0); content.showTextAligned(PdfContentByte.ALIGN_LEFT, guestSpinner.getValue().toString(), 180, 478 + varPosition, 0); for (int count = 0; count < guestTable.getRowCount(); count++) { float x = 50; if (count <= 3) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, guestTable.getValueAt(count, 0).toString(), x, 435 + varPosition, 0); varPosition -= 13; if (count == 3) { varPosition = 35; } } else if (count >= 4 & count <= 7) { content.showTextAligned(PdfContentByte.ALIGN_LEFT, guestTable.getValueAt(count, 0).toString(), x + 200, 435 + varPosition, 0); varPosition -= 13; if (count == 7) { varPosition = 35; } } else { content.showTextAligned(PdfContentByte.ALIGN_LEFT, guestTable.getValueAt(count, 0).toString(), x + 400, 435 + varPosition, 0); varPosition -= 13; } } content.endText(); } pdfStamper.close(); pdfReader.close(); } catch (DocumentException ex) { // Logger.getLogger(Registration_Transient.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } catch (FileNotFoundException ex) { // Logger.getLogger(Registration_Transient.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } catch (IOException ex) { // Logger.getLogger(Registration_Transient.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); } }
From source file:PDFHandler.java
public static void createfile(File inputfile, Customer myCust, Inverter myInvert, ExtraData mydata, Preparer myPrep, Module myMod) throws DocumentException, IOException { String[] LastFirst;/*from ww w. j a v a 2 s . com*/ LastFirst = myCust.getName().split(" "); String homeDir = System.getProperty("user.home"); String separator = System.getProperty("file.separator"); String INPUTFILENAME = inputfile.getPath(); String inputFileNameShort = inputfile.getName(); String OUTPUTFILENAME; inputFileNameShort = inputFileNameShort.substring(0, inputFileNameShort.lastIndexOf('.')); if (myCust.getName().contains("Offer"))//some error handling for offerpad customers. { OUTPUTFILENAME = homeDir + separator + "Dropbox" + separator + "Utility and Permiting" + separator + "Multi File" + separator + myCust.getStreetAddress() + " " + "(" + myCust.getState() + ")" + separator + inputFileNameShort + ".pdf"; } else { OUTPUTFILENAME = homeDir + separator + "Dropbox (Elevation Solar)" + 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); if (!outfile.getParentFile().exists())//make sure the directories exist. { boolean mkdirSts = outfile.getParentFile().mkdirs(); GUI.instructions.setText( String.format("%s creating Files for %s", mkdirSts ? "Success" : "Failure", myCust.getName())); } //The stamper basically copies the reader's contents into a new pdf. //then, thanks to itext, I can easily fill the formfields with what i need. //The string literals are all the names in the pdf forms that need filled. PdfReader reader = new PdfReader(INPUTFILENAME); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(OUTPUTFILENAME)); AcroFields fields = stamper.getAcroFields(); fields.setGenerateAppearances(true); fields.setField("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", myCust.getCustomerAdd()); 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:Servlet3.java
/** * Handles the HTTP <code>GET</code> method. * * @param request servlet request/* w w w. j av a 2 s . c o m*/ * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { System.out.println("inside servlet"); String a = request.getParameter("countryf"); String c = request.getParameter("submit"); String b = request.getParameter("paramf"); //code added by Murugappan String CurentUID = request.getParameter("UIDvalue2f"); String URLRequest = request.getRequestURL().append('?').append(request.getQueryString()).toString(); Calendar cal = Calendar.getInstance(); cal.add(Calendar.DATE, 1); SimpleDateFormat format1 = new SimpleDateFormat("EEE MMM dd hh:mm:ss yyyy"); String date1 = cal.getTime().toString(); System.out.println("inside servlet"); Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:server"); //iserting data to UserActivity table Statement sthistoryinsert3 = con.createStatement(); String insertstring = "Insert into UserActivity values('" + CurentUID + "','" + date1 + "','Future Data Forecast','" + a + "','" + b + "','" + URLRequest + "')"; sthistoryinsert3.executeUpdate(insertstring); sthistoryinsert3.close(); System.out.println("\n Step 1"); Statement st = con.createStatement(); // Statement st2 = con.createStatement(); XYSeriesCollection dataset = new XYSeriesCollection(); XYSeries series = new XYSeries(b); String query = "SELECT [2000],[2012] FROM country where CountryName='" + a + "' AND SeriesName='" + b + "'"; System.out.println(query); ResultSet rs = st.executeQuery(query); if (rs == null) System.out.println("\n no rows "); else System.out.println("Rows present "); rs.next(); Double start = Double.parseDouble(rs.getString(1)); Double end = Double.parseDouble(rs.getString(2)); Double period = 13.0; Double growth = Math.pow((end / start), (1 / period)) - 1; System.out.println("growth percentage =" + growth); rs.close(); String query2 = "select [2011],[2012] from country where CountryName='" + a + "' AND SeriesName='" + b + "'"; rs = st.executeQuery(query2); rs.next(); series.add(2011, Double.parseDouble(rs.getString(1))); Double second = Double.parseDouble(rs.getString(2)); series.add(2012, second); Double growthvalue = second + (second * growth); series.add(2013, growthvalue); for (int i = 2014; i <= 2016; i++) { System.out.println("actual growth value = " + growthvalue); series.add((i++), (growthvalue + growthvalue * growth)); growthvalue = growthvalue + growthvalue * growth; } rs.close(); dataset.addSeries(series); DecimalFormat format_2Places = new DecimalFormat("0.00"); growth = growth * 100; growth = Double.valueOf(format_2Places.format(growth)); JFreeChart chart = ChartFactory.createXYLineChart( "Energy forecasting for " + a + " based on " + b + " with growth value estimated at " + growth + "% ", "Year", "Energy consumed in millions", dataset, PlotOrientation.VERTICAL, true, true, false); // JFreeChart chart1=ChartFactory.createLineChart("World population Growth","Year","population in millions",dataSet1,PlotOrientation.VERTICAL,true,true,false); ByteArrayOutputStream bos = new ByteArrayOutputStream(); chart.setBackgroundPaint(Color.white); final XYPlot plot = chart.getXYPlot(); plot.setBackgroundPaint(Color.white); plot.setDomainGridlinesVisible(true); plot.setRangeGridlinesVisible(true); plot.setDomainGridlinePaint(Color.black); plot.setRangeGridlinePaint(Color.black); final XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(); renderer.setSeriesLinesVisible(2, false); renderer.setSeriesShapesVisible(2, false); plot.setRenderer(renderer); /* We have to insert this colored Pie Chart into the PDF file using iText now */ if (c.equals("View Graph in Browser")) { ChartUtilities.writeChartAsPNG(bos, chart, 700, 500); response.setContentType("image/png"); OutputStream out = new BufferedOutputStream(response.getOutputStream()); out.write(bos.toByteArray()); out.flush(); out.close(); } else { int width = 640; /* Width of our chart */ int height = 480; /* Height of our chart */ Document PieChart = new Document(new com.itextpdf.text.Rectangle(width, height)); java.util.Date date = new java.util.Date(); String chartname = "My_Colored_Chart" + date.getTime() + ".pdf"; PdfWriter writer = PdfWriter.getInstance(PieChart, new FileOutputStream(chartname)); PieChart.open(); /* Add some Metadata to identify document later */ PieChart.addTitle("How to color your Pie Chart and embed in a PDF file using iText"); PieChart.addAuthor("Thinktibits"); PieChart.addKeywords("iText,Color PieChart,JFreeChart,PDF,Example Tutorial"); PdfContentByte Add_Chart_Content = writer.getDirectContent(); PdfTemplate template_Chart_Holder = Add_Chart_Content.createTemplate(width, height); Graphics2D Graphics_Chart = template_Chart_Holder.createGraphics(width, height, new DefaultFontMapper()); Rectangle2D Chart_Region = new Rectangle2D.Double(0, 0, 540, 380); chart.draw(Graphics_Chart, Chart_Region); Graphics_Chart.dispose(); Add_Chart_Content.addTemplate(template_Chart_Holder, 0, 0); PieChart.close(); //PrintWriter out = response.getWriter(); //out.println("<!DOCTYPE html> <html> <body> <a href =file:///C:/apache-tomcat-8.0.12/bin/"+chartname+" download=newFileName> Download your file here </a> </body></html>"); PdfReader reader = new PdfReader(chartname); PdfStamper stamper = null; try { stamper = new PdfStamper(reader, bos); } catch (DocumentException e) { e.printStackTrace(); } try { stamper.close(); } catch (DocumentException e) { e.printStackTrace(); } // set some response headers response.setHeader("Expires", "0"); response.setHeader("Cache-Control", "must-revalidate, post-check=0, pre-check=0"); response.setHeader("Pragma", "public"); response.setContentType("application/pdf"); response.setContentLength(bos.size()); OutputStream os = response.getOutputStream(); bos.writeTo(os); os.flush(); os.close(); } } catch (Exception i) { i.printStackTrace(); } }
From source file:Billing_v2.java
public boolean saveStatementOfAccountToPDF(ArrayList<String> info) { try {//ww w .j a v a2 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(Billing_v2.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } catch (FileNotFoundException ex) { // Logger.getLogger(Billing_v2.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } catch (IOException ex) { // Logger.getLogger(Billing_v2.class.getName()).log(Level.SEVERE, null, ex); new MessageDialog().error(this, ex.getMessage()); return false; } }
From source file:adams.flow.transformer.PDFStamp.java
License:Open Source License
/** * Executes the flow item./*from w w w .j ava 2s. c o m*/ * * @return null if everything is fine, otherwise error message */ @Override protected String doExecute() { String result; PlaceholderFile file; PdfReader reader; PdfStamper stamper; FileOutputStream fos; result = null; // get files if (m_InputToken.getPayload() instanceof String) file = new PlaceholderFile((String) m_InputToken.getPayload()); else file = new PlaceholderFile((File) m_InputToken.getPayload()); reader = null; stamper = null; fos = null; try { reader = new PdfReader(file.getAbsolutePath()); fos = new FileOutputStream(m_Output.getAbsolutePath()); stamper = new PdfStamper(reader, fos); m_Stamper.stamp(stamper); } catch (Exception e) { result = handleException("Failed to stamp PDF file: " + file, e); } finally { try { if (stamper != null) stamper.close(); } catch (Exception e) { // ignored } try { if (reader != null) reader.close(); } catch (Exception e) { // ignored } FileUtils.closeQuietly(fos); } if (result == null) m_OutputToken = new Token(m_Output.getAbsolutePath()); return result; }
From source file:aero.m_click.mcpdf.Main.java
License:Open Source License
public static void execute(Config config) throws IOException, DocumentException { PdfReader reader = new PdfReader(config.pdfInputStream); PdfStamper stamper = new PdfStamper(reader, config.pdfOutputStream, '\0'); if (config.formInputStream != null) { if (config.isFdf) { stamper.getAcroFields().setFields(new FdfReader(config.formInputStream)); } else {/*from w w w .j a va2s .co m*/ stamper.getAcroFields().setFields(new XfdfReader(config.formInputStream)); } } stamper.setFormFlattening(config.flatten); stamper.close(); }
From source file:Almacen.Responsiva.java
private void b_imprimirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_b_imprimirActionPerformed // TODO add your handling code here: Session session = HibernateUtil.getSessionFactory().openSession(); try {/*w ww. ja v a 2 s. c o m*/ String empleado = ""; String puesto = ""; if (t_datos.getRowCount() > 0) { //consulta Query q = session.createSQLQuery( "select empleado.nombre as empleado, puestos.nombre as puesto from empleado inner join puestos on puestos.id_puestos=empleado.id_puesto where empleado.id_empleado=" + t_id_empleado.getText() + ";"); q.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); List lista = q.list(); for (int i = 0; i < lista.size(); i++) { java.util.HashMap map = (java.util.HashMap) lista.get(i); empleado = (String) map.get("empleado"); puesto = (String) map.get("puesto"); } Date fecha = new Date(); DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyyHH-mm-ss");//YYYY-MM-DD HH:MM:SS String Mes[] = { "Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre" }; Calendar fecha1 = new GregorianCalendar(); int anio = fecha1.get(Calendar.YEAR); int mes = fecha1.get(Calendar.MONTH); int dia = fecha1.get(Calendar.DAY_OF_MONTH); //DateFormat dateFormat1 = new SimpleDateFormat("dd-MM-yyyy");//YYYY-MM-DD HH:MM:SS String valor = dateFormat.format(fecha); File folder = new File("reportes/Responsivas"); folder.mkdirs(); PdfReader reader = new PdfReader("imagenes/CartaResponsiva.pdf"); PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("reportes/Responsivas/" + valor + "CartaResponsiva.pdf")); PdfContentByte cb = stamp.getUnderContent(1); PdfContentByte cb2 = stamp.getUnderContent(2); AcroFields fdfDoc = stamp.getAcroFields(); // Creo una fuente BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.EMBEDDED); cb.beginText(); //dia try { if (dia < 9) fdfDoc.setField("Dia", "0" + String.valueOf(dia)); else fdfDoc.setField("Dia", String.valueOf(dia)); } catch (Exception e) { fdfDoc.setField("Dia", "error"); } //mes try { fdfDoc.setField("Mes", Mes[mes]); } catch (Exception e) { fdfDoc.setField("Mes", ""); } //ao try { fdfDoc.setField("Anio", String.valueOf(anio)); } catch (Exception e) { fdfDoc.setField("Anio", ""); } //nombre try { fdfDoc.setField("Nombre", empleado); } catch (Exception e) { fdfDoc.setField("Nombre", ""); } //puesto try { fdfDoc.setField("Puesto", puesto); } catch (Exception e) { fdfDoc.setField("Puesto", ""); } //tabla de herramientas float tam[] = new float[] { 250, 50, 180 }; Font font = new Font(Font.FontFamily.HELVETICA, 7, Font.BOLD); PDF reporte = new PDF(); PdfPTable tabla = reporte.crearTabla(3, tam, 100, Element.ALIGN_LEFT); tabla.setTotalWidth(tam); BaseColor cabecera = BaseColor.GRAY; BaseColor contenido = BaseColor.WHITE; int centro = Element.ALIGN_CENTER; int izquierda = Element.ALIGN_LEFT; int derecha = Element.ALIGN_RIGHT; tabla.addCell(reporte.celda("HERRAMIENTA", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("CANTIDAD", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda("NOTAS", font, cabecera, centro, 0, 1, Rectangle.RECTANGLE)); for (int i = 0; i < t_datos.getRowCount(); i++) { tabla.addCell(reporte.celda(t_datos.getValueAt(i, 1).toString(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); tabla.addCell(reporte.celda(String.valueOf((double) t_datos.getValueAt(i, 2)), font, contenido, centro, 0, 1, Rectangle.RECTANGLE)); if (t_datos.getValueAt(i, 3) != null) tabla.addCell(reporte.celda(t_datos.getValueAt(i, 3).toString(), font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); else tabla.addCell(reporte.celda("", font, contenido, izquierda, 0, 1, Rectangle.RECTANGLE)); } tabla.completeRow(); tabla.writeSelectedRows(0, -1, 70, 720, cb2); cb.endText(); stamp.close(); reporte.cerrar(); reporte.visualizar("reportes/Responsivas/" + valor + "CartaResponsiva.pdf"); } else { JOptionPane.showMessageDialog(this, "No Existe Ninguna Responsiva"); } } catch (Exception e) { System.out.println(e); JOptionPane.showMessageDialog(this, "No se pudo realizar el reporte si el archivo esta abierto"); } if (session != null) { if (session.isOpen()) { session.close(); } } }
From source file:app.App.java
private void clonePDF() throws DocumentException, FileNotFoundException, IOException, ClassNotFoundException { PdfReader reader = new PdfReader(INPUT); PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(OUTPUT)); stamper.setRotateContents(false);/*from w ww . j av a 2s. c o m*/ int n = reader.getNumberOfPages(); for (int i = 0; i < n; i++) { setLink(i, stamper); } stamper.close(); reader.close(); }