List of usage examples for com.itextpdf.text Document top
public float top()
From source file:windows.wzListWindow.java
private void printDocActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_printDocActionPerformed Document document = new Document(); Footer ft = new Footer(); companyAdress comp = new companyAdress(); try {/*from ww w. j a v a 2 s . c om*/ BaseFont ft1 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED); Font ffont = new Font(ft1, 12); BaseFont ft3 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED); Font bold = new Font(ft1, 12, Font.BOLD); PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("test.pdf")); document.open(); Paragraph pr = new Paragraph(); pr.setFont(ffont); writer.setPageEvent(ft); ContractorEntity contractor = wz .getContractor(Integer.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 2).toString())); pr.add(WZTable.getValueAt(WZTable.getSelectedRow(), 4).toString()); pr.setAlignment(Element.ALIGN_RIGHT); document.add(pr); pr.clear(); if ("SPRZT WYDANY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) { Paragraph nr = new Paragraph("WYADNIE SPRZTU NR ", ffont); String yearSlashnr = WZTable.getValueAt(WZTable.getSelectedRow(), 1).toString(); nr.add(new Chunk(yearSlashnr, bold)); nr.setAlignment(Element.ALIGN_LEFT); document.add(nr); if ("WS".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 12).toString())) { pr.setAlignment(Element.ALIGN_LEFT); DocEntity docPS = wz.getDocument(wz.getPSForWs( Integer.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 0).toString()))); pr.add("DOTYCZY: PS NR " + docPS.getDocNumber()); document.add(pr); pr.clear(); pr.setAlignment(Element.ALIGN_RIGHT); } } if ("SPRZT PRZYJTY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) { int rok = Timestamp.valueOf(WZTable.getValueAt(WZTable.getSelectedRow(), 4).toString()).getYear() + 1900; Paragraph nr = new Paragraph("PRZYJCIE SPRZTU NR ", ffont); String yearSlashnr = rok + "/" + WZTable.getValueAt(WZTable.getSelectedRow(), 1).toString(); nr.add(new Chunk(yearSlashnr, bold)); nr.setAlignment(Element.ALIGN_LEFT); document.add(nr); } pr.clear(); pr.add(Chunk.NEWLINE); pr.add(Chunk.NEWLINE); document.add(pr); pr.clear(); pr.setAlignment(Element.ALIGN_LEFT); pr.add(comp.getName()); pr.add(Chunk.NEWLINE); pr.add("ul. " + comp.getStreet()); pr.add(Chunk.NEWLINE); pr.add(comp.getPostal() + " " + comp.getCity()); pr.add(Chunk.NEWLINE); pr.add("NIP: " + comp.getNip()); pr.add(Chunk.NEWLINE); pr.add("Tel: " + comp.getPhone()); pr.add(Chunk.NEWLINE); pr.add("Fax: " + comp.getFax()); pr.add(Chunk.NEWLINE); pr.add("E-mail: " + comp.getEmail()); pr.add(Chunk.NEWLINE); pr.add(Chunk.NEWLINE); pr.add("KLIENT:"); pr.add(Chunk.NEWLINE); pr.add(contractor.getName()); pr.add(Chunk.NEWLINE); pr.add("ul. " + contractor.getStreet()); pr.add(Chunk.NEWLINE); pr.add(contractor.getPostalCode() + " " + contractor.getCity()); pr.add(Chunk.NEWLINE); pr.add("NIP: " + contractor.getNip()); pr.add(Chunk.NEWLINE); pr.add("Tel: " + contractor.getPhone()); pr.add(Chunk.NEWLINE); pr.add("E-mail: " + contractor.getEmail()); document.add(pr); pr.clear(); pr.add(Chunk.NEWLINE); pr.add(Chunk.NEWLINE); pr.add("PRZYJTE URZDZENIA:"); document.add(pr); //PUT IMAGE FROM DRIVE java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage("C:/GIT/support/logo.jpg"); Image img = com.itextpdf.text.Image.getInstance(awtImage, null); int indentation = 0; float scaler = ((document.getPageSize().getWidth() - document.leftMargin() - document.rightMargin() - indentation) / img.getWidth()) * 20; img.scalePercent(scaler); img.setAbsolutePosition(document.right() - 90, document.top() - 150); document.add(new Paragraph()); document.add(img); //ADD TABLE PdfPTable table = new PdfPTable(7); // 3 columns. table.setWidthPercentage(100); //Width 100% table.setSpacingBefore(10f); //Space before table table.setSpacingAfter(10f); //Space after table //Set Column widths float[] columnWidths = { 1f, 4f, 3f, 2f, 2f, 6f, 6f }; table.setWidths(columnWidths); BaseFont ft2 = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1250, BaseFont.EMBEDDED); Font headerFont = new Font(ft2, 9); Paragraph pos1 = new Paragraph("", headerFont); Paragraph pos2 = new Paragraph("", headerFont); Paragraph pos3 = new Paragraph("", headerFont); Paragraph pos4 = new Paragraph("", headerFont); Paragraph pos5 = new Paragraph("", headerFont); Paragraph pos6 = new Paragraph("", headerFont); Paragraph pos7 = new Paragraph("", headerFont); //FORMATING TABLE pos1.clear(); pos1.add("LP"); PdfPCell cell1 = new PdfPCell(pos1); cell1.setBorderColor(BaseColor.BLACK); cell1.setBackgroundColor(BaseColor.LIGHT_GRAY); cell1.setHorizontalAlignment(Element.ALIGN_CENTER); cell1.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell1); pos2.clear(); pos2.add("NAZWA"); PdfPCell cell2 = new PdfPCell(pos2); cell2.setBorderColor(BaseColor.BLACK); cell2.setBackgroundColor(BaseColor.LIGHT_GRAY); cell2.setHorizontalAlignment(Element.ALIGN_CENTER); cell2.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell2); pos3.clear(); pos3.add("NR SERYJNY"); PdfPCell cell3 = new PdfPCell(pos3); cell3.setBorderColor(BaseColor.BLACK); cell3.setBackgroundColor(BaseColor.LIGHT_GRAY); cell3.setHorizontalAlignment(Element.ALIGN_CENTER); cell3.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell3); pos4.clear(); pos4.add("CENA NETTO"); PdfPCell cell4 = new PdfPCell(pos4); cell4.setBorderColor(BaseColor.BLACK); cell4.setBackgroundColor(BaseColor.LIGHT_GRAY); cell4.setHorizontalAlignment(Element.ALIGN_CENTER); cell4.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell4); pos5.clear(); pos5.add("CENA BRUTTO"); PdfPCell cell5 = new PdfPCell(pos5); cell5.setBorderColor(BaseColor.BLACK); cell5.setBackgroundColor(BaseColor.LIGHT_GRAY); cell5.setHorizontalAlignment(Element.ALIGN_CENTER); cell5.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell5); pos6.clear(); pos6.add("PROBLEM"); PdfPCell cell6 = new PdfPCell(pos6); cell6.setBorderColor(BaseColor.BLACK); cell6.setBackgroundColor(BaseColor.LIGHT_GRAY); cell6.setHorizontalAlignment(Element.ALIGN_CENTER); cell6.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell6); pos7.clear(); pos7.add("NAPRAWA"); PdfPCell cell7 = new PdfPCell(pos7); cell7.setBorderColor(BaseColor.BLACK); cell7.setBackgroundColor(BaseColor.LIGHT_GRAY); cell7.setHorizontalAlignment(Element.ALIGN_CENTER); cell7.setVerticalAlignment(Element.ALIGN_MIDDLE); table.addCell(cell7); cell2.setHorizontalAlignment(Element.ALIGN_LEFT); cell3.setHorizontalAlignment(Element.ALIGN_LEFT); cell4.setHorizontalAlignment(Element.ALIGN_RIGHT); cell5.setHorizontalAlignment(Element.ALIGN_RIGHT); cell6.setHorizontalAlignment(Element.ALIGN_LEFT); cell7.setHorizontalAlignment(Element.ALIGN_LEFT); cell1.setBackgroundColor(BaseColor.WHITE); cell2.setBackgroundColor(BaseColor.WHITE); cell3.setBackgroundColor(BaseColor.WHITE); cell4.setBackgroundColor(BaseColor.WHITE); cell5.setBackgroundColor(BaseColor.WHITE); cell6.setBackgroundColor(BaseColor.WHITE); cell7.setBackgroundColor(BaseColor.WHITE); int counter = 1; for (DocProductEntity prod : productToShow) { //col 1 (LP) table.addCell(createCell("" + counter, Element.ALIGN_CENTER)); counter++; //col 2 (NAME) table.addCell(createCell(prod.getName(), Element.ALIGN_LEFT)); //col 3 (NR SER) table.addCell(createCell(prod.getSerial(), Element.ALIGN_CENTER)); //col 4 (NETTO) table.addCell(createCell(String.valueOf(prod.getPrice()), Element.ALIGN_RIGHT)); //col 5 (BRUTTO) table.addCell(createCell(String.valueOf(prod.getPrice() + (prod.getPrice() * 0.23)), Element.ALIGN_RIGHT)); //col 6 (PROBLEM) table.addCell(createCell(prod.getProblem(), Element.ALIGN_LEFT)); //col 7 (REPAIRS) table.addCell(createCell(prod.getRepair(), Element.ALIGN_LEFT)); } document.add(table); pr.setAlignment(Element.ALIGN_RIGHT); pr.clear(); pr.add("PRZEWIDYWANIY KOSZT NAPRAWY:"); document.add(pr); pr.clear(); pr.add("Razem netto: " + nettoLabel.getText() + " Razem brutto: " + bruttoLabel.getText()); document.add(pr); pr.clear(); pr.add("Sownie: " + amountInWords(Float.valueOf(bruttoLabel.getText().replace(",", ".")))); document.add(pr); pr.clear(); document.add(Chunk.NEWLINE); document.add(Chunk.NEWLINE); document.add(Chunk.NEWLINE); pr.add("................................................."); document.add(pr); pr.clear(); pr.add("Podpis i piecztka pracownika"); document.add(pr); if ("SPRZT WYDANY".equals(WZTable.getValueAt(WZTable.getSelectedRow(), 11).toString())) { pr.clear(); pr.add(Chunk.NEWLINE); pr.add(Chunk.NEWLINE); pr.add("................................................."); document.add(pr); pr.clear(); pr.add("Sprzt odebraem (Podpis klienta)"); document.add(pr); } //CLOSING DOCUMENT document.close(); writer.close(); } catch (DocumentException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } try { StampPageXofY numeration = new StampPageXofY(); tempName = nowTimestamp(); numeration.manipulatePdf("test.pdf", tempName + ".pdf"); } catch (IOException ex) { Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex); } catch (DocumentException ex) { Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex); } //OPEN READY DOCUMENT try { Desktop.getDesktop().open(new File(tempName + ".pdf")); } catch (IOException ex) { Logger.getLogger(MainWindow.class.getName()).log(Level.SEVERE, null, ex); } }