List of usage examples for com.itextpdf.text.pdf PdfPCell disableBorderSide
public void disableBorderSide(final int side)
From source file:com.solidmaps.webapp.report.EnableCompanyRequerimentFederalPDF.java
private void insertCellProtocol(PdfPTable table, LicensePFEntity license) { this.insertHeaderCell(table, "6- CONTROLE DE RECEBIMENTO DO PROCESSO", 4); Paragraph officialPhrase = new Paragraph("USO OFICIAL" + SEPARATOR, FONT_PARAGRAPH); officialPhrase.setAlignment(Element.ALIGN_LEFT); Paragraph protocolPhrase = new Paragraph("ETIQUETA PROTOCOLO" + SEPARATOR_DOUBLE + SEPARATOR_DOUBLE, FONT_PROTOCOL);/* www . j a v a 2 s .co m*/ protocolPhrase.setAlignment(Element.ALIGN_LEFT); Paragraph obsPhrase = new Paragraph(SEPARATOR_DOUBLE + SEPARATOR_DOUBLE + SEPARATOR_DOUBLE + SEPARATOR_DOUBLE + "Observao Importante!" + SEPARATOR, FONT_HEADER); Paragraph obsStringPhrase = new Paragraph("- Etiqueta com data e assinatura." + SEPARATOR + "- Renovao: verificar a data de vencimento da licena." + SEPARATOR + "- Alterao Cadastral: apresentar o Anexo VI." + SEPARATOR_DOUBLE, FONT_PARAGRAPH); Paragraph phraseProtocol = new Paragraph(); phraseProtocol.add(officialPhrase); phraseProtocol.add(protocolPhrase); Paragraph phraseObs = new Paragraph(); phraseObs.add(obsPhrase); phraseObs.add(obsStringPhrase); PdfPCell cellProtocol = new PdfPCell(phraseProtocol); cellProtocol.setColspan(2); cellProtocol.disableBorderSide(Rectangle.RIGHT); PdfPCell cellObs = new PdfPCell(phraseObs); cellObs.setColspan(2); cellObs.disableBorderSide(Rectangle.LEFT); table.addCell(cellProtocol); table.addCell(cellObs); }
From source file:edu.harvard.mcz.precapture.encoder.LabelEncoder.java
License:Open Source License
@SuppressWarnings("hiding") public static boolean printList(ArrayList<ContainerLabel> containers) throws PrintFailedException { log.debug("Invoked printList "); boolean result = false; ContainerLabel label = new ContainerLabel(); if (containers.isEmpty()) { log.debug("No labels to print."); } else {/*w ww .j a v a 2 s .c o m*/ LabelDefinitionType printDefinition = null; LabelDefinitionListType printDefs = PreCaptureSingleton.getInstance().getPrintFormatDefinitionList(); List<LabelDefinitionType> printDefList = printDefs.getLabelDefinition(); Iterator<LabelDefinitionType> il = printDefList.iterator(); while (il.hasNext()) { LabelDefinitionType def = il.next(); if (def.getTitle().equals(PreCaptureSingleton.getInstance().getProperties().getProperties() .getProperty(PreCaptureProperties.KEY_SELECTED_PRINT_DEFINITION))) { printDefinition = def; } } if (printDefinition == null) { log.error("No selected print format defintion found."); //TODO change from message to error handling dialog that allows picking a print format. JOptionPane.showMessageDialog(null, "Unable to print. No print format is selected."); } else { log.debug(printDefinition.getTitle()); log.debug(printDefinition.getTextOrentation().toString()); LabelEncoder encoder = new LabelEncoder(containers.get(0)); try { Image image = encoder.getImage(); Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(PreCaptureSingleton.getInstance() .getProperties().getProperties().getProperty(PreCaptureProperties.KEY_LABELPRINTFILE))); // Convert units in print definition to points (72 points/inch, 28.346456 points/cm) int paperWidthPoints = 612; // 8.5" int paperHeightPoints = 792; // 11" int marginsPoints = 36; // 0.5" int labelWidthPoints = 540; // 7.5" int labelHeightPoints = 720; // 10" int numColumns = 1; // goes with above numColumns = printDefinition.getColumns(); float relWidthTextCell = printDefinition.getRelWidthTextCell(); float relWidthBarcodeCell = printDefinition.getRelWidthBarcodeCell(); log.debug("relWidthTextCell = " + relWidthTextCell); log.debug("relWidthBarcodeCell = " + relWidthBarcodeCell); if (printDefinition.getUnits().toString().toLowerCase().equals("inches")) { paperWidthPoints = (int) Math.floor(printDefinition.getPaperWidth() * 72f); paperHeightPoints = (int) Math.floor(printDefinition.getPaperHeight() * 72f); marginsPoints = (int) Math.floor(printDefinition.getMargins() * 72f); labelWidthPoints = (int) Math.floor(printDefinition.getLabelWidth() * 72f); labelHeightPoints = (int) Math.floor(printDefinition.getLabelHeight() * 72f); } if (printDefinition.getUnits().toString().toLowerCase().equals("cm")) { paperWidthPoints = (int) Math.floor(printDefinition.getPaperWidth() * 28.346456f); paperHeightPoints = (int) Math.floor(printDefinition.getPaperHeight() * 28.346456f); marginsPoints = (int) Math.floor(printDefinition.getMargins() * 28.346456f); labelWidthPoints = (int) Math.floor(printDefinition.getLabelWidth() * 28.346456f); labelHeightPoints = (int) Math.floor(printDefinition.getLabelHeight() * 28.346456f); } if (printDefinition.getUnits().toString().toLowerCase().equals("points")) { paperWidthPoints = (int) Math.floor(printDefinition.getPaperWidth() * 1f); paperHeightPoints = (int) Math.floor(printDefinition.getPaperHeight() * 1f); marginsPoints = (int) Math.floor(printDefinition.getMargins() * 1f); labelWidthPoints = (int) Math.floor(printDefinition.getLabelWidth() * 1f); labelHeightPoints = (int) Math.floor(printDefinition.getLabelHeight() * 1f); } if (paperWidthPoints == 612 && paperHeightPoints == 792) { document.setPageSize(PageSize.LETTER); } else { document.setPageSize(new Rectangle(paperWidthPoints, paperHeightPoints)); } document.setMargins(marginsPoints, marginsPoints, marginsPoints, marginsPoints); document.open(); // Sanity check if (paperWidthPoints <= 0) { paperWidthPoints = 612; } if (paperHeightPoints <= 0) { paperHeightPoints = 792; } if (marginsPoints < 0) { marginsPoints = 0; } if (labelWidthPoints <= 0) { labelWidthPoints = 540; } if (labelHeightPoints <= 0) { labelHeightPoints = 720; } if (paperWidthPoints + (marginsPoints * 2) < labelWidthPoints) { labelWidthPoints = paperWidthPoints + (marginsPoints * 2); log.debug("Adjusting label width to fit printable page width"); } if (paperHeightPoints + (marginsPoints * 2) < labelHeightPoints) { labelHeightPoints = paperHeightPoints + (marginsPoints * 2); log.debug("Adjusting label height to fit printable page height"); } // calculate how many columns will fit on the paper. int columns = (int) Math.floor((paperWidthPoints - (marginsPoints * 2)) / labelWidthPoints); // if specified column count is smaller, use the specified. if (numColumns < columns) { columns = numColumns; log.debug( "Fewer columns specified in definition than will fit on page, using specified column count of " + numColumns); } // define two table cells per column, one for text one for barcode. int subCellColumnCount = columns * 2; // set the table, with an absolute width and relative widths of the cells in the table; PdfPTable table = setupTable(paperWidthPoints, marginsPoints, labelWidthPoints, columns, subCellColumnCount, relWidthTextCell, relWidthBarcodeCell); // figure out the width of the cells containing the barcodes. float ratio = ((float) relWidthBarcodeCell) / (((float) relWidthBarcodeCell) + ((float) relWidthTextCell)); float barcodeCellWidthPoints = (float) Math.floor(labelWidthPoints * ratio); log.debug("Width of barcode cell in points: " + barcodeCellWidthPoints); //Rectangle pageSizeRectangle = new Rectangle(paperWidthPoints, paperHeightPoints); //table.setWidthPercentage(cellWidthsPoints, pageSizeRectangle); //table.setTotalWidth(cellWidthsPoints); // Calculate how many cells fit on a page (two cells per label). int labelsPerColumn = (int) Math .floor((paperHeightPoints - (marginsPoints * 2)) / labelHeightPoints); int cellsPerPage = subCellColumnCount * labelsPerColumn; log.debug("Labels per column = " + labelsPerColumn); log.debug("Cells per page = " + cellsPerPage); Iterator<ContainerLabel> iterLabels = containers.iterator(); int cellCounter = 0; // counts number of cells filled on a page. int counter = 0; // counts number of pre capture label data rows to print (each of which may request more than one copy). // TODO: Doesn't fit on page. while (iterLabels.hasNext()) { // Loop through all of the container labels found to print label = iterLabels.next(); if (label != null) { log.debug(label); log.debug("Label: " + counter + " " + label.toString()); for (int toPrint = 0; toPrint < label.getNumberToPrint(); toPrint++) { // For each container label, loop through the number of requested copies // Generate a text and a barcode cell for each, and add to array for page int toPrintPlus = toPrint + 1; // for pretty counter in log. log.debug("Copy " + toPrintPlus + " of " + label.getNumberToPrint()); PdfPCell cell = label.toPDFCell(printDefinition); cell.setFixedHeight(labelHeightPoints); // Colors to illustrate where the cells are on the layout if (PreCaptureSingleton.getInstance().getProperties().getProperties() .getProperty(PreCaptureProperties.KEY_DEBUGLABEL).equals("true")) { cell.setBackgroundColor(new BaseColor(255, 255, 30)); } PdfPCell cell_barcode = new PdfPCell(); cell_barcode.setBorderColor(BaseColor.LIGHT_GRAY); cell_barcode.disableBorderSide(PdfPCell.LEFT); cell_barcode.setVerticalAlignment(PdfPCell.ALIGN_TOP); cell_barcode.setHorizontalAlignment(Element.ALIGN_RIGHT); cell_barcode.setFixedHeight(labelHeightPoints); if (PreCaptureSingleton.getInstance().getProperties().getProperties() .getProperty(PreCaptureProperties.KEY_DEBUGLABEL).equals("true")) { cell_barcode.setBackgroundColor(new BaseColor(255, 30, 255)); } encoder = new LabelEncoder(label); image = encoder.getImage(); image.setAlignment(Image.ALIGN_TOP); //image.setAlignment(Image.ALIGN_LEFT); image.setAlignment(Image.ALIGN_RIGHT); image.scaleToFit(barcodeCellWidthPoints, labelHeightPoints); cell_barcode.addElement(image); table.addCell(cell); table.addCell(cell_barcode); cellCounter = cellCounter + 2; // we've added two cells to the page (two cells per label). log.debug("Cells " + cellCounter + " of " + cellsPerPage + " cells per page."); // If we have hit a full set of labels for the page, add them to the document // in each column, filling left to right if (cellCounter >= cellsPerPage - 1) { log.debug("Page is full"); log.debug("Table has " + table.getNumberOfColumns() + " columns and " + table.getRows().size() + " rows "); // Reset to begin next page cellCounter = 0; table.setLockedWidth(true); document.add(table); log.debug("Adding new page"); document.newPage(); table = setupTable(paperWidthPoints, marginsPoints, labelWidthPoints, columns, subCellColumnCount, relWidthTextCell, relWidthBarcodeCell); log.debug("Setup new table"); } } // end loop through toPrint (for a taxon/precapture label data row) counter++; // Increment number of pre capture label data rows. } // end if not null label } // end while results has next (for all taxa requested) // get any remaining cells in pairs if (cellCounter > 0) { log.debug("Adding remaining cells in partial page"); if (cellCounter <= cellsPerPage) { for (int i = cellCounter; i <= cellsPerPage; i++) { PdfPCell emptyCell = new PdfPCell(); emptyCell.setBorder(PdfPCell.NO_BORDER); table.addCell(emptyCell); } } log.debug("Table has " + table.getNumberOfColumns() + " columns and " + table.getRows().size() + " rows "); table.setLockedWidth(true); document.add(table); } document.close(); // send to printer PrintingUtility.sendPDFToPrinter(printDefinition, paperWidthPoints, paperHeightPoints); // Check to see if there was content in the document. if (counter == 0) { result = false; } else { // Printed to pdf ok. result = true; } } catch (FileNotFoundException e) { log.debug(e.getMessage(), e); throw new PrintFailedException("File not found."); } catch (DocumentException e) { log.error(e.getMessage(), e); throw new PrintFailedException("Error building/printing PDF document. " + e.getMessage()); } catch (OutOfMemoryError e) { System.out.println("Out of memory error. " + e.getMessage()); System.out.println("Failed. Too many labels."); throw new PrintFailedException("Ran out of memory, too many labels at once."); } catch (BarcodeCreationException e) { System.out.println("BarcodeCreationException. " + e.getMessage()); System.out.println("Failed. Couldn't create barcode."); throw new PrintFailedException( "Unable to create barcode. Probably too many characters to encode. " + e.getMessage()); } } log.debug("printList Done. Success = " + result); } return result; }
From source file:edu.harvard.mcz.precapture.ui.ContainerLabel.java
License:Open Source License
/** * /*from www . j a va2 s .c o m*/ * @return a PDF paragraph cell containing a text encoding of the fields in this set. */ public PdfPCell toPDFCell(LabelDefinitionType printDefinition) { PdfPCell cell = new PdfPCell(); ; if (printDefinition.getTextOrentation().toString().toLowerCase() .equals(TextOrentationType.VERTICAL.toString().toLowerCase())) { log.debug("Print orientation of text is Vertical"); cell.setRotation(90); cell.setHorizontalAlignment(PdfPCell.ALIGN_RIGHT); } cell.setBorderColor(BaseColor.LIGHT_GRAY); cell.setVerticalAlignment(PdfPCell.ALIGN_TOP); cell.disableBorderSide(PdfPCell.RIGHT); cell.setPaddingLeft(3); cell.setNoWrap(false); int leading = (int) (fields.get(0).getField().getFontSize() + printDefinition.getFontDelta()) - 1; Paragraph higher = new Paragraph(leading, "", new Font(Font.FontFamily.TIMES_ROMAN, fields.get(0).getField().getFontSize() + printDefinition.getFontDelta(), Font.NORMAL)); higher.setSpacingBefore(0); higher.setSpacingAfter(0); boolean added = false; boolean hasContent = false; for (int i = 0; i < fields.size(); i++) { log.debug(i); if (fields.get(i).getField().isNewLine() || (i == fields.size() - 1)) { if (!higher.isEmpty()) { log.debug(higher.getContent()); cell.addElement(higher); } leading = (int) (fields.get(i).getField().getFontSize() + printDefinition.getFontDelta()) - 1; higher = new Paragraph(leading, "", new Font(Font.FontFamily.TIMES_ROMAN, fields.get(i).getField().getFontSize() + printDefinition.getFontDelta(), Font.NORMAL)); higher.setSpacingBefore(0); higher.setSpacingAfter(0); added = false; hasContent = false; } log.debug(fields.get(i).getTextField().getText().trim()); Chunk chunk = new Chunk(fields.get(i).getTextField().getText().trim()); if (fields.get(i).getField().isUseItalic()) { chunk.setFont(new Font(Font.FontFamily.TIMES_ROMAN, fields.get(i).getField().getFontSize() + printDefinition.getFontDelta(), Font.ITALIC)); } else { chunk.setFont(new Font(Font.FontFamily.TIMES_ROMAN, fields.get(i).getField().getFontSize() + printDefinition.getFontDelta(), Font.NORMAL)); } if (!chunk.isEmpty()) { hasContent = true; higher.add(chunk); log.debug(fields.get(i).getField().getSuffix()); if (fields.get(i).getField().getSuffix() != null && fields.get(i).getField().getSuffix().length() > 0) { higher.add(new Chunk(fields.get(i).getField().getSuffix())); } if (fields.get(i).getTextField().getText().trim().length() > 0) { // add a trailing space as a separator if there was something to separate. higher.add(new Chunk(" ")); } } } if (!added) { log.debug(higher.getContent()); cell.addElement(higher); } String extraText = PreCaptureSingleton.getInstance().getProperties().getProperties() .getProperty(PreCaptureProperties.KEY_EXTRAHUMANTEXT); if (extraText != null && extraText.length() > 0) { log.debug(extraText); cell.addElement(new Chunk(extraText)); } return cell; }
From source file:gov.nih.nci.firebird.service.registration.AbstractPdfWriterGenerator.java
License:Open Source License
PdfPCell createCell() { PdfPCell cell = new PdfPCell(); cell.setPadding(CELL_PADDING_POINTS); cell.disableBorderSide(Rectangle.BOX); return cell; }
From source file:gov.nih.nci.firebird.service.registration.AbstractPdfWriterGenerator.java
License:Open Source License
PdfPCell createCell(PdfPTable table) { PdfPCell cell = new PdfPCell(table); cell.disableBorderSide(Rectangle.BOX); return cell; }
From source file:gov.nih.nci.firebird.service.registration.CvPdfGenerator.java
License:Open Source License
private void addContactInformationSection() throws DocumentException { contentHelper.addInstructionsHeader(getDocument(), getFromResources("cv.omb.header")); contentHelper.addInstructions(getDocument(), getFromResources("cv.omb.text")); contentHelper.addContactInformationHeader(getDocument()); addSpacerRow();//from w ww. j av a 2s . co m PdfPTable table = createTable(TWO_COLUMNS); contentHelper.addInvestigatorName(table, INVESTIGATOR_NAME_INDEX); contentHelper.addInvestigatorEmail(table, INVESTIGATOR_EMAIL_INDEX); contentHelper.addInvestigatorExternalId(table, INVESTIGATOR_EXTERNAL_ID_INDEX); contentHelper.addInvestigatorPhoneNumber(table, INVESTIGATOR_PHONE_NUMBER_INDEX); contentHelper.addInvestigatorAddress(table, INVESTIGATOR_ADDRESS_INDEX); PdfPTable rightTable = createTable(ONE_COLUMN); contentHelper.addInvestigatorProviderNumber(rightTable, INVESTIGATOR_PROVIDER_NUMBER_INDEX); contentHelper.addInvestigatorCtepId(rightTable, INVESTIGATOR_CTEP_ID_INDEX); PdfPCell tableCell = new PdfPCell(rightTable); tableCell.disableBorderSide(Rectangle.BOX); table.addCell(tableCell); getDocument().add(table); }
From source file:gov.nih.nci.firebird.service.registration.SupplementalInvestigatorDataFormPdfGenerator.java
License:Open Source License
private void addContactInformationSection() throws DocumentException { contentHelper.addContactInformationHeader(getDocument()); addSpacerRow();//from ww w . j a v a 2 s .com PdfPTable table = createTable(TWO_COLUMNS); contentHelper.addInvestigatorName(table, INVESTIGATOR_NAME_INDEX); contentHelper.addInvestigatorEmail(table, INVESTIGATOR_EMAIL_INDEX); contentHelper.addInvestigatorAddress(table, INVESTIGATOR_ADDRESS_INDEX); PdfPTable rightTable = createTable(ONE_COLUMN); contentHelper.addInvestigatorPhoneNumber(rightTable, INVESTIGATOR_PHONE_NUMBER_INDEX); contentHelper.addInvestigatorProviderNumber(rightTable, INVESTIGATOR_PROVIDER_NUMBER_INDEX); contentHelper.addInvestigatorCtepId(rightTable, INVESTIGATOR_CTEP_ID_INDEX); PdfPCell tableCell = new PdfPCell(rightTable); tableCell.disableBorderSide(Rectangle.BOX); table.addCell(tableCell); getDocument().add(table); }
From source file:gov.nih.nci.firebird.service.registration.SupplementalInvestigatorDataFormPdfGenerator.java
License:Open Source License
private int addPrimaryOrganizationSection(int startIndex) throws DocumentException { int index = startIndex; contentHelper.addPrimaryOrganizationHeader(getDocument()); addSpacerRow();/* ww w.j a v a 2 s .c om*/ PdfPTable table = createTable(TWO_COLUMNS); contentHelper.addOrganizationName(table, index++); contentHelper.addOrganizationCtepId(table, index++); contentHelper.addOrganizationAddress(table, index++); PdfPTable rightTable = createTable(ONE_COLUMN); contentHelper.addOrganizationEmail(rightTable, index++); contentHelper.addOrganizationPhoneNumber(rightTable, index++); PdfPCell tableCell = new PdfPCell(rightTable); tableCell.disableBorderSide(Rectangle.BOX); table.addCell(tableCell); getDocument().add(table); return index; }
From source file:it.vige.magazzino.pdf.Format2DocumentReceipt.java
License:Apache License
@Model public void build(Receipt receipt) throws Exception { ResourceBundle bundle = ResourceBundle.getBundle("messages"); Document document = new Document(); ByteArrayOutputStream bytesOS = new ByteArrayOutputStream(); PdfWriter writer = PdfWriter.getInstance(document, bytesOS); document.open();//ww w . j a v a 2 s . c om Font normalFont = new Font(); PdfContentByte canvas = writer.getDirectContentUnder(); List<Data> imagesJar = receipt.getJar().getFiles(); if (imagesJar != null && imagesJar.size() > 0) { Image image1 = Image.getInstance(imagesJar.get(0).getData()); image1.setAbsolutePosition(36, 742); image1.scalePercent(60); document.add(image1); } Phrase phrase1 = new Phrase(bundle.getString("pdf_number_receipt"), normalFont); Phrase phrase2 = new Phrase(receipt.getCodeReceipt() + "", normalFont); Phrase phrase3 = new Phrase(bundle.getString("receipt_date"), normalFont); Phrase phrase4 = new Phrase(receipt.getDate(), normalFont); Phrase phrase5 = new Phrase(receipt.getCause(), normalFont); Phrase phrase6 = new Phrase(receipt.getDescription(), normalFont); Phrase phrase7 = new Phrase(bundle.getString("customer_code") + " " + bundle.getString("customer"), normalFont); Phrase phrase8 = new Phrase("prova 4: prova 4", normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase1, 286, 797, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase2, 386, 797, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase3, 286, 777, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase4, 386, 777, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase5, 286, 757, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase6, 386, 757, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase7, 286, 737, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase8, 386, 737, 0); Phrase phrase9 = new Phrase("prova 4: prova 4", normalFont); Phrase phrase10 = new Phrase("prova 2: prova 2", normalFont); Phrase phrase11 = new Phrase("prova 3: prova 3", normalFont); Phrase phrase12 = new Phrase("prova 4: prova 4", normalFont); Phrase phrase13 = new Phrase(bundle.getString("pdf_tel"), normalFont); Phrase phrase14 = new Phrase("prova 2: prova 2", normalFont); Phrase phrase15 = new Phrase(bundle.getString("pdf_partita_iva_short"), normalFont); Phrase phrase16 = new Phrase("prova 4: prova 4", normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase9, 36, 718, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase10, 136, 718, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase11, 36, 698, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase12, 136, 698, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase13, 36, 678, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase14, 136, 678, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase15, 36, 658, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase16, 136, 658, 0); Phrase phrase17 = new Phrase("Ditta", normalFont); Phrase phrase18 = new Phrase("prova 2: prova 2", normalFont); Phrase phrase19 = new Phrase("prova 3: prova 3", normalFont); Phrase phrase20 = new Phrase("prova 4: prova 4", normalFont); Phrase phrase21 = new Phrase("prova 4: prova 4", normalFont); Phrase phrase22 = new Phrase(bundle.getString("pdf_partita_iva_short"), normalFont); Phrase phrase23 = new Phrase("prova 2: ", normalFont); Phrase phrase24 = new Phrase(bundle.getString("pdf_cod_fisc"), normalFont); Phrase phrase25 = new Phrase("prova 2: ", normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase17, 236, 736, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase18, 236, 708, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase19, 236, 688, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase20, 236, 668, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase21, 386, 668, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase22, 236, 648, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase23, 286, 648, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase24, 356, 648, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase25, 416, 648, 0); Phrase phrase26 = new Phrase(bundle.getString("article_code"), normalFont); Phrase phrase27 = new Phrase(bundle.getString("article_description"), normalFont); Phrase phrase28 = new Phrase(bundle.getString("pdf_number_articles"), normalFont); Phrase phrase29 = new Phrase(bundle.getString("article_prize"), normalFont); Phrase phrase30 = new Phrase(bundle.getString("pdf_reduction"), normalFont); Phrase phrase31 = new Phrase(bundle.getString("pdf_amount"), normalFont); Phrase phrase32 = new Phrase(bundle.getString("pdf_iva"), normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase26, 59, 618, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase27, 146, 618, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase28, 208, 618, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase29, 280, 618, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase30, 353, 618, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase31, 422, 618, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase32, 498, 618, 0); Phrase phrase33 = null; Phrase phrase34 = null; Phrase phrase35 = null; Phrase phrase36 = null; Phrase phrase37 = null; Phrase phrase38 = null; Phrase phrase39 = null; int i = 0; for (i = 0; i < 70; i = i + 15) { phrase33 = new Phrase("dsadasd", normalFont); phrase34 = new Phrase("dgbsbb", normalFont); phrase35 = new Phrase("323232", normalFont); phrase36 = new Phrase("bbgdbdfbdb", normalFont); phrase37 = new Phrase("wefwew", normalFont); phrase38 = new Phrase("ewrew", normalFont); phrase39 = new Phrase("ewr5", normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase33, 59, 598 - i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase34, 136, 598 - i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase35, 196, 598 - i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase36, 266, 598 - i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase37, 351, 598 - i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase38, 416, 598 - i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase39, 496, 598 - i, 0); } int j = 298; if (i - 298 < 0) i = 298; else { j = i; i = 588 - i; } Phrase phrase40 = new Phrase(bundle.getString("pdf_references").toUpperCase(), normalFont); Phrase phrase41 = new Phrase(bundle.getString("pdf_delivery").toUpperCase(), normalFont); Phrase phrase42 = new Phrase(bundle.getString("pdf_payments").toUpperCase(), normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase40, 105, i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase41, 206, i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase42, 316, i, 0); Phrase phrase43 = new Phrase("opoppp", normalFont); Phrase phrase44 = new Phrase("2ws", normalFont); Phrase phrase45 = new Phrase("78900", normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase43, 59, i - 20, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase44, 186, i - 20, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_CENTER, phrase45, 276, i - 20, 0); Phrase phrase46 = new Phrase(bundle.getString("pdf_sign_producer").toUpperCase(), normalFont); Phrase phrase47 = new Phrase(bundle.getString("pdf_sign_receiver").toUpperCase(), normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase46, 154, i - 40, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase47, 321, i - 40, 0); Phrase phrase48 = new Phrase(bundle.getString("article_imponible"), normalFont); Phrase phrase49 = new Phrase("opoppp", normalFont); Phrase phrase50 = new Phrase(bundle.getString("pdf_tax"), normalFont); Phrase phrase51 = new Phrase("78900", normalFont); Phrase phrase52 = new Phrase(bundle.getString("pdf_total_receipt"), normalFont); Phrase phrase53 = new Phrase("2ws", normalFont); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase48, 356, i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase49, 566, i, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase50, 356, i - 25, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase51, 566, i - 25, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_LEFT, phrase52, 356, i - 50, 0); ColumnText.showTextAligned(canvas, Element.ALIGN_RIGHT, phrase53, 566, i - 50, 0); PdfPTable table = new PdfPTable(4); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 47, 18, 18, 17 }); PdfPCell cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.LEFT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.LEFT); cell.enableBorderSide(PdfPCell.BOTTOM); cell.enableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); table.addCell(cell); cell = new PdfPCell(); cell.disableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); document.add(table); table = new PdfPTable(4); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 47, 18, 18, 17 }); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.LEFT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.LEFT); cell.enableBorderSide(PdfPCell.BOTTOM); cell.enableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); table.addCell(cell); cell = new PdfPCell(); cell.disableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); document.add(table); table = new PdfPTable(4); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 47, 18, 18, 17 }); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.LEFT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.LEFT); cell.enableBorderSide(PdfPCell.BOTTOM); cell.enableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); table.addCell(cell); cell = new PdfPCell(); cell.disableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); document.add(table); table = new PdfPTable(4); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 47, 18, 18, 17 }); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.LEFT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.LEFT); cell.enableBorderSide(PdfPCell.BOTTOM); cell.enableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); table.addCell(cell); cell = new PdfPCell(); cell.disableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); document.add(table); table = new PdfPTable(1); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); cell = new PdfPCell(); cell.disableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.LEFT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(3); table.addCell(cell); document.add(table); table = new PdfPTable(3); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 38, 48, 14 }); cell.disableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.LEFT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(40); table.addCell(cell); cell.enableBorderSide(PdfPCell.RIGHT); cell.enableBorderSide(PdfPCell.LEFT); cell.enableBorderSide(PdfPCell.BOTTOM); cell.enableBorderSide(PdfPCell.TOP); table.addCell(cell); cell.disableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.LEFT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); table.addCell(cell); document.add(table); table = new PdfPTable(1); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); cell = new PdfPCell(); cell.disableBorderSide(PdfPCell.RIGHT); cell.disableBorderSide(PdfPCell.LEFT); cell.disableBorderSide(PdfPCell.BOTTOM); cell.disableBorderSide(PdfPCell.TOP); cell.setPadding(3); table.addCell(cell); document.add(table); table = new PdfPTable(7); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 16, 12, 11, 17, 12, 16, 16 }); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.RIGHT); cell.enableBorderSide(PdfPCell.LEFT); cell.enableBorderSide(PdfPCell.BOTTOM); cell.enableBorderSide(PdfPCell.TOP); cell.setPadding(10); table.addCell(cell); table.addCell(cell); table.addCell(cell); table.addCell(cell); table.addCell(cell); table.addCell(cell); table.addCell(cell); document.add(table); table = new PdfPTable(7); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 16, 12, 11, 17, 12, 16, 16 }); cell = new PdfPCell(); cell.enableBorderSide(PdfPCell.RIGHT); cell.enableBorderSide(PdfPCell.LEFT); cell.enableBorderSide(PdfPCell.BOTTOM); cell.enableBorderSide(PdfPCell.TOP); cell.setPadding(j * 8 - 2234); table.addCell(cell); table.addCell(cell); table.addCell(cell); table.addCell(cell); table.addCell(cell); table.addCell(cell); table.addCell(cell); document.add(table); table = new PdfPTable(5); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 20, 20, 20, 20, 20 }); cell = new PdfPCell(); cell.setPadding(20); table.addCell(cell); table.addCell(cell); table.addCell(cell); cell.disableBorderSide(PdfPCell.BOTTOM); table.addCell(cell); table.addCell(cell); document.add(table); table = new PdfPTable(4); table.getDefaultCell().setPadding(50); table.setWidthPercentage(105); table.setWidths(new float[] { 30, 30, 20, 20 }); cell = new PdfPCell(); cell.setPadding(20); table.addCell(cell); table.addCell(cell); cell.disableBorderSide(PdfPCell.TOP); table.addCell(cell); table.addCell(cell); document.add(table); document.close(); HttpServletResponse response = (HttpServletResponse) extCtx.getResponse(); response.setContentType("application/pdf"); response.addHeader("Content-disposition", "attachment; filename=\"" + bundle.getString("receipt") + "-" + receipt.getDate() + ".pdf\""); ServletOutputStream os = response.getOutputStream(); os.write(bytesOS.toByteArray()); os.flush(); os.close(); facesContext.responseComplete(); }
From source file:org.openscience.cdk.applications.taverna.renderer.DrawPDF.java
License:Open Source License
public static void drawMoleculesAsPDF(List<IAtomContainer> molecules, File file) throws Exception { Document pdf = new Document(); PdfWriter writer = PdfWriter.getInstance(pdf, new FileOutputStream(file)); pdf.open();/*w w w . j av a2 s.c o m*/ Paragraph para = new Paragraph(); Font font = FontFactory.getFont(FontFactory.HELVETICA, 24); para.setFont(font); para.setAlignment(Element.ALIGN_CENTER); para.add("CDK-Taverna 2.0"); pdf.add(para); para = new Paragraph(); font = FontFactory.getFont(FontFactory.HELVETICA, 12); para.setFont(font); para.setAlignment(Element.ALIGN_CENTER); para.add("The open-source chemo-/bioinformatics workflow solution\n\n\n"); pdf.add(para); PdfPTable table = new PdfPTable(ncol); for (IAtomContainer molecule : molecules) { PdfPCell cell = new PdfPCell(); cell.disableBorderSide(PdfPCell.BOTTOM | PdfPCell.LEFT | PdfPCell.RIGHT | PdfPCell.TOP); BufferedImage image = Draw2DStructure.drawMolecule(molecule, (int) pdf.getPageSize().getWidth(), height, 0.95); java.awt.Image awtImage = Toolkit.getDefaultToolkit().createImage(image.getSource()); cell.addElement(Image.getInstance(awtImage, null)); table.addCell(cell); cell = new PdfPCell(); cell.disableBorderSide(PdfPCell.LEFT | PdfPCell.RIGHT | PdfPCell.TOP); para = new Paragraph(); font = FontFactory.getFont(FontFactory.HELVETICA, 12); para.setFont(font); para.add("\n"); for (Entry<Object, Object> entry : molecule.getProperties().entrySet()) { try { String key = String.valueOf(entry.getKey()); String value = String.valueOf(entry.getValue()); para.add(key + ":\n" + value + "\n\n"); } catch (Exception e) { // Not a String entry --> skip } } cell.addElement(para); table.addCell(cell); } pdf.add(table); pdf.close(); }