List of usage examples for com.lowagie.text Table Table
public Table(Table t)
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set the summary - IFX proposal//from w w w . j a v a 2s. c om * * @param document * @throws Exception */ private void setSummary(Document document) throws Exception { if (proposalCode.toLowerCase().equals(Constants.PROPOSAL_CODE_FX) && name == null) { document.add(new Paragraph(" ")); document.add(new Paragraph("Summary:", FONT_TITLE)); document.add(new Paragraph(" ")); int NumColumnsCC = 2; Table tableCC = new Table(NumColumnsCC); int headerwidthsCC[] = { 30, 15 }; // percentage tableCC.setWidths(headerwidthsCC); tableCC.setWidth(50); // percentage tableCC.setPadding(3); tableCC.setCellsFitPage(true); tableCC.getDefaultCell().setBorderWidth(1); tableCC.getDefaultCell().setGrayFill(GREY_FILL_HEADER); tableCC.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); tableCC.addCell(new Paragraph("Crystal class", FONT_DOC_BOLD)); tableCC.addCell(new Paragraph("Number of crystals", FONT_DOC_BOLD)); tableCC.getDefaultCell().setGrayFill(GREY_FILL_DATA); int nbCC = listOfCrystalClass.size(); for (int cc = 0; cc < nbCC; cc++) { if (listOfNbCrystalPerClass.get(cc) > 0) { tableCC.addCell(new Paragraph(listOfCrystalClass.get(cc).getCrystalClassName() + " (" + listOfCrystalClass.get(cc).getCrystalClassCode() + ")", FONT_DOC)); tableCC.addCell(new Paragraph(listOfNbCrystalPerClass.get(cc).toString(), FONT_DOC)); } LOG.debug("classe " + listOfCrystalClass.get(cc).getCrystalClassCode() + ": " + listOfNbCrystalPerClass.get(cc).toString()); } document.add(tableCC); // total // int nbPuckScreen = nbCrystal3; // int nbTotal = nbCrystal1 + nbCrystal2 + nbCrystalT; int nbPuckScreen = listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "PS")); // nbTotal = C+CR+T+SC+SCR int nbTotal = listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "C")) + listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "SC")) + listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "T")) + listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "CR")) + listOfNbCrystalPerClass.get(getCrystalClassIndex(listOfCrystalClass, "SCR")); document.add(new Paragraph(" ")); document.add(new Paragraph("Total number of tests: " + new String(new Integer(nbTotal).toString()), FONT_DOC)); document.add(new Paragraph("Nb of puck screens: " + new String(new Integer(nbPuckScreen).toString()), FONT_DOC)); document.add(new Paragraph( "Total number of samples: " + new String(new Integer(nbTotal + (nbPuckScreen * 10)).toString()), FONT_DOC)); } }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * export detailed dataCollection//from www. j av a 2 s . c o m * * @return * @throws Exception */ public ByteArrayOutputStream exportScreeningAsPDF(boolean rtfFormat, HttpServletRequest mRequest) throws Exception { // create simple doc and write to a ByteArrayOutputStream Document document = new Document(PageSize.A4.rotate(), 20, 20, 20, 20); ByteArrayOutputStream baos = new ByteArrayOutputStream(); if (!rtfFormat) { PdfWriter.getInstance(document, baos); } else { RtfWriter2.getInstance(document, baos); } // ============================= // Header + footer // ============================= setHeader(document); setFooter(document); document.open(); // =============================== // Body // =============================== // Session comments setSessionComments(document); document.add(new Paragraph(" ")); if (dataCollectionList.isEmpty()) { document.add(new Paragraph("There is no data collection in this report", PdfRtfExporter.FONT_DOC)); } else { Iterator<DataCollection3VO> it = dataCollectionList.iterator(); Session3Service sessionService = (Session3Service) ejb3ServiceLocator .getLocalService(Session3Service.class); AutoProc3VO[] autoProcs = wrapper.getAutoProcs(); AutoProcScalingStatistics3VO[] autoProcsOverall = wrapper.getScalingStatsOverall(); AutoProcScalingStatistics3VO[] autoProcsInner = wrapper.getScalingStatsInner(); AutoProcScalingStatistics3VO[] autoProcsOuter = wrapper.getScalingStatsOuter(); int i = 0; // int mNbDataCollectionOnPage = 0; boolean firstPage = true; while (it.hasNext()) { if (firstPage) { firstPage = false; } else { document.newPage(); } DataCollection3VO dcValue = it.next(); DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode, proposalNumber, mRequest); DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dcValue, getSampleRankingVO(dcValue.getDataCollectionId()), getAutoProcRankingVO(dcValue.getDataCollectionId())); // dataCollection general info: Date, screen/Collect, indexing // status setDataCollectionGeneralInfo(document, dcValue, dcInfo); Table table = new Table(NB_COL_DATACOLLECTION); table.setCellsFitPage(true); // dataCollection table - one row table = setDataCollectionHeader(document, table, true); setDataCollectionData(document, table, dcValue, sessionService, autoProcs[i], autoProcsOverall[i], autoProcsInner[i], autoProcsOuter[i], true, false, null, null); document.add(table); i++; document.add(new Paragraph(" ", VERY_SMALL_FONT)); // Images setImagesTable(document, dcInfo); setEDNATable(document, dcInfo); setStrategyTable(document, dcInfo); // End of the page? // mNbDataCollectionOnPage++; // if (mNbDataCollectionOnPage == // NB_DATA_COLLECTION_PER_PAGE){// New Page // document.newPage(); // mNbDataCollectionOnPage = 0; // } else{ // Same Page // document.add(new Paragraph(" ", VERY_SMALL_FONT)); // } } } // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set a table for a sessionDataObject// ww w . java 2 s . c o m * * @param document * @param sessionDataObject * @param mRequest */ private void setDetailSessionObjectTable(Document document, SessionDataObjectInformation sessionDataObject, HttpServletRequest mRequest) { try { int nbCol = 6; int nbRows = 5; List<Param> listParam = sessionDataObject.getListParameters(); int idParam = 0; int nbParam = listParam.size(); nbRows = Math.max(nbRows, nbParam); boolean secondGraph = sessionDataObject.getGraph2Path() != null && !sessionDataObject.getGraph2Path().isEmpty(); if (secondGraph) nbCol += 1; Table table = new Table(nbCol); int l = 0; int[] headersWidth = new int[nbCol]; headersWidth[l++] = 10; // def headersWidth[l++] = 6; // parameters title headersWidth[l++] = 6; // parameters value headersWidth[l++] = 12; // Thumbnail headersWidth[l++] = 12; // Snapshot headersWidth[l++] = 22; // Graph if (secondGraph) headersWidth[l++] = 22; // Graph2 table.setWidths(headersWidth); table.setWidth(100); // percentage table.setPadding(1); table.setCellsFitPage(true); table.setTableFitsPage(true); table.setBorderWidth(1); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // no header // first Row // firstCell: def : date SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss"); String collectTime = formatter.format(sessionDataObject.getDataTime()); Cell c = getCellValue(collectTime); c.setBorderWidthBottom(0); table.addCell(c); // second Cell param setCellParam(table, listParam, idParam++, 1); // third Cell : thumbnail Cell cellThumbnail = getCellImage(sessionDataObject.getImageThumbnailPath()); cellThumbnail.setRowspan(nbRows); cellThumbnail.setBorderWidth(0); table.addCell(cellThumbnail); // 4 Cell : snapshot Cell cellSnapshot = getCellImage(sessionDataObject.getCrystalSnapshotPath()); cellSnapshot.setRowspan(nbRows); cellSnapshot.setBorderWidth(0); table.addCell(cellSnapshot); // 5 Cell : graph Cell cellGraph = getCellGraph(sessionDataObject); cellGraph.setRowspan(nbRows); cellGraph.setBorderWidth(0); table.addCell(cellGraph); // 6 Cell : graph2 if (secondGraph) { Cell cellGraph2 = getCellImage(sessionDataObject.getGraph2Path()); cellGraph2.setRowspan(nbRows); cellGraph2.setBorderWidth(0); table.addCell(cellGraph2); } // second row Cell c2 = getCellValue(sessionDataObject.getImagePrefix() + " " + sessionDataObject.getRunNumber()); c2.setBorderWidth(0); table.addCell(c2); // param2 setCellParam(table, listParam, idParam++, 1); // third row Cell c3 = getCellValue(sessionDataObject.getExperimentType()); c3.setBorderWidth(0); table.addCell(c3); // param3 setCellParam(table, listParam, idParam++, 1); // 4 row Cell c4 = getCellValue(sessionDataObject.getSampleNameProtein()); c4.setBorderWidth(0); table.addCell(c4); // param4 setCellParam(table, listParam, idParam++, 1); // 5 row Cell c5 = new Cell(); c5.setHorizontalAlignment(Element.ALIGN_LEFT); c5.add(new Paragraph(sessionDataObject.getComments(), FONT_DOC_ITALIC)); c5.setBorderWidth(0); c5.setRowspan(nbRows - 4); table.addCell(c5); // param4 setCellParam(table, listParam, idParam++, 1); for (int i = 5; i < nbRows; i++) { setCellParam(table, listParam, idParam++, 1); } // results // workflow result status if (sessionDataObject.isWorkflow()) { Cell resultCell = getWorkflowResult(sessionDataObject.getWorkflow(), mRequest); resultCell.setHorizontalAlignment(Element.ALIGN_LEFT); resultCell.setColspan(nbCol); table.addCell(resultCell); } // collect OSC if ((sessionDataObject.isDataCollection() && !sessionDataObject.getDataCollection().getDataCollectionGroupVO().getExperimentType() .equals(Constants.EXPERIMENT_TYPE_CHARACTERIZATION))) { DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode, proposalNumber, mRequest); DataCollection3VO dataCollection = sessionDataObject.getDataCollection(); DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection, getSampleRankingVO(dataCollection.getDataCollectionId()), getAutoProcRankingVO(dataCollection.getDataCollectionId())); Cell resultCell = getAutoProcResultStatus(dcInfo); resultCell.setColspan(nbCol); resultCell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(resultCell); document.add(table); document.add(new Paragraph(" ", VERY_SMALL_FONT)); setAutoProcResultsTable(document, dcInfo); } else if (sessionDataObject.isWorkflow() && sessionDataObject.getWorkflow().isMXPressEOIA()) { // MXPRESS // wf DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode, proposalNumber, mRequest); DataCollection3VO dataCollection = sessionDataObject.getListDataCollection().get(0); DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection, getSampleRankingVO(dataCollection.getDataCollectionId()), getAutoProcRankingVO(dataCollection.getDataCollectionId())); Cell resultCell = getAutoProcResultStatus(dcInfo); resultCell.setHorizontalAlignment(Element.ALIGN_LEFT); resultCell.setColspan(nbCol); table.addCell(resultCell); document.add(table); document.add(new Paragraph(" ", VERY_SMALL_FONT)); setAutoProcResultsTable(document, dcInfo); } else if ((sessionDataObject.isDataCollection() && sessionDataObject.getDataCollection().getDataCollectionGroupVO().getExperimentType() .equals(Constants.EXPERIMENT_TYPE_CHARACTERIZATION))) { // Characterization DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode, proposalNumber, mRequest); DataCollection3VO dataCollection = sessionDataObject.getDataCollection(); DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dataCollection, getSampleRankingVO(dataCollection.getDataCollectionId()), getAutoProcRankingVO(dataCollection.getDataCollectionId())); Cell resultCell = getCharacterizationResultStatus(dcInfo, mRequest); resultCell.setColspan(nbCol); resultCell.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(resultCell); document.add(table); document.add(new Paragraph(" ", VERY_SMALL_FONT)); setStrategyTable2(document, dcInfo); } else { List<Param> listResults = sessionDataObject.getListResults(); if (listResults != null) { int nbResults = listResults.size(); for (int j = 0; j < nbResults; j++) { setCellParam(table, listResults, j, 2); Cell eCell = getEmptyCell(nbCol - 3); eCell.setBorderWidth(0); table.addCell(eCell); } } document.add(table); document.add(new Paragraph(" ", FONT_SPACE)); } } catch (Exception e) { e.printStackTrace(); } }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * export ranking dataCollection/*from w w w.jav a2 s. com*/ * * @return * @throws Exception */ public ByteArrayOutputStream exportRankingAsPDF(boolean rtfFormat, HttpServletRequest mRequest) throws Exception { // create simple doc and write to a ByteArrayOutputStream Document document = new Document(PageSize.A4.rotate(), 20, 20, 20, 20); // Document document = new Document(PageSize.A4); ByteArrayOutputStream baos = new ByteArrayOutputStream(); if (!rtfFormat) { PdfWriter.getInstance(document, baos); } else { RtfWriter2.getInstance(document, baos); } // ============================= // Header + footer // ============================= setHeader(document); setFooter(document); document.open(); // =============================== // Body // =============================== // Session comments setSessionComments(document); document.add(new Paragraph(" ")); if (dataCollectionList.isEmpty()) { document.add(new Paragraph("There is no data collection in this report", PdfRtfExporter.FONT_DOC)); } else { Iterator<DataCollection3VO> it = dataCollectionList.iterator(); Session3Service sessionService = (Session3Service) ejb3ServiceLocator .getLocalService(Session3Service.class); AutoProc3VO[] autoProcs = wrapper.getAutoProcs(); AutoProcScalingStatistics3VO[] autoProcsOverall = wrapper.getScalingStatsOverall(); AutoProcScalingStatistics3VO[] autoProcsInner = wrapper.getScalingStatsInner(); AutoProcScalingStatistics3VO[] autoProcsOuter = wrapper.getScalingStatsOuter(); int i = 0; boolean firstPage = true; while (it.hasNext()) { if (firstPage) { firstPage = false; } else { document.newPage(); } DataCollection3VO dcValue = it.next(); DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode, proposalNumber, mRequest); DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dcValue, getSampleRankingVO(dcValue.getDataCollectionId()), getAutoProcRankingVO(dcValue.getDataCollectionId())); // dataCollection general info: Date, screen/Collect, indexing // status setDataCollectionGeneralInfo(document, dcValue, dcInfo); Table table = new Table(NB_COL_DATACOLLECTION); table.setCellsFitPage(true); // dataCollection table - one row table = setDataCollectionHeader(document, table, false); setDataCollectionData(document, table, dcValue, sessionService, autoProcs[i], autoProcsOverall[i], autoProcsInner[i], autoProcsOuter[i], false, false, null, null); document.add(table); i++; document.add(new Paragraph(" ", VERY_SMALL_FONT)); setRankingTable(document, dcInfo); // Images setImagesTable(document, dcInfo); setEDNATable(document, dcInfo); setStrategyTable(document, dcInfo); } } // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * export auto proc ranking dataCollection * /*from w w w . j a v a 2 s. c o m*/ * @return * @throws Exception */ public ByteArrayOutputStream exportAutoProcRankingAsPDF(boolean rtfFormat, HttpServletRequest mRequest) throws Exception { // create simple doc and write to a ByteArrayOutputStream Document document = new Document(PageSize.A4.rotate(), 20, 20, 20, 20); // Document document = new Document(PageSize.A4); ByteArrayOutputStream baos = new ByteArrayOutputStream(); if (!rtfFormat) { PdfWriter.getInstance(document, baos); } else { RtfWriter2.getInstance(document, baos); } // ============================= // Header + footer // ============================= setHeader(document); setFooter(document); document.open(); // =============================== // Body // =============================== // Session comments setSessionComments(document); document.add(new Paragraph(" ")); if (dataCollectionList.isEmpty()) { document.add(new Paragraph("There is no data collection in this report", PdfRtfExporter.FONT_DOC)); } else { Iterator<DataCollection3VO> it = dataCollectionList.iterator(); Session3Service sessionService = (Session3Service) ejb3ServiceLocator .getLocalService(Session3Service.class); AutoProc3VO[] autoProcs = wrapper.getAutoProcs(); AutoProcScalingStatistics3VO[] autoProcsOverall = wrapper.getScalingStatsOverall(); AutoProcScalingStatistics3VO[] autoProcsInner = wrapper.getScalingStatsInner(); AutoProcScalingStatistics3VO[] autoProcsOuter = wrapper.getScalingStatsOuter(); int i = 0; boolean firstPage = true; while (it.hasNext()) { if (firstPage) { firstPage = false; } else { document.newPage(); } DataCollection3VO dcValue = it.next(); DataCollectionExporter dcExporter = new DataCollectionExporter(df2, df3, proposalCode, proposalNumber, mRequest); DataCollectionInformation dcInfo = dcExporter.getDataCollectionInformation(dcValue, getSampleRankingVO(dcValue.getDataCollectionId()), getAutoProcRankingVO(dcValue.getDataCollectionId())); // dataCollection general info: Date, screen/Collect, indexing // status setDataCollectionGeneralInfo(document, dcValue, dcInfo); Table table = new Table(NB_COL_DATACOLLECTION); table.setCellsFitPage(true); // dataCollection table - one row table = setDataCollectionHeader(document, table, false); setDataCollectionData(document, table, dcValue, sessionService, autoProcs[i], autoProcsOverall[i], autoProcsInner[i], autoProcsOuter[i], false, false, null, null); document.add(table); i++; document.add(new Paragraph(" ", VERY_SMALL_FONT)); setAutoProcRankingTable(document, dcInfo); // Images setImagesTable(document, dcInfo); setEDNATable(document, dcInfo); setStrategyTable(document, dcInfo); } } // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * sets the date and if it is a SCREEN or a COLLECT and indexing status * //ww w .j a v a 2 s .c o m * @param document * @param dcValue * @param date * @throws Exception */ private void setDataCollectionGeneralInfo(Document document, DataCollection3VO dcValue, DataCollectionInformation dcInfo) throws Exception { String collect = "Collect"; if (DataCollectionExporter.isDataCollectionScreening(dcValue)) { collect = "Screen"; } String date = dcInfo.getDataCollectionDate(); String screeningSuccess = dcInfo.getScreeningSuccess(); String screeningFailure = dcInfo.getScreeningFailure(); String screeningNotDone = dcInfo.getScreeningNotDone(); Table aTable = new Table(3); aTable.setWidth(100); // percentage aTable.setPadding(3); aTable.setCellsFitPage(true); aTable.getDefaultCell().setBorderWidth(0); aTable.setBorderWidth(0); aTable.getDefaultCell().setHorizontalAlignment(Element.ALIGN_LEFT); aTable.addCell(new Paragraph(date, FONT_DOC)); aTable.addCell(new Paragraph(collect, FONT_DOC)); // no indexing availabe if (screeningNotDone != null && !screeningNotDone.equals("")) { aTable.addCell(new Paragraph(screeningNotDone, FONT_INDEXING_NOTDONE)); } else if (screeningFailure != null && !screeningFailure.equals("")) { // indexing // failed aTable.addCell(new Paragraph(screeningFailure, FONT_INDEXING_FAILED)); } else if (screeningSuccess != null && !screeningSuccess.equals("")) { // indexing // successful aTable.addCell(new Paragraph(screeningSuccess, FONT_INDEXING_SUCCESS)); } else { aTable.addCell(new Paragraph(" ")); } document.add(aTable); document.add(new Paragraph(" ", VERY_SMALL_FONT)); }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set the EDNA Table//from w ww . ja v a 2s .co m * * @param document * @param dcInfo * @throws Exception */ private void setEDNATable(Document document, DataCollectionInformation dcInfo) throws Exception { if (dcInfo.getSpacegroup() != "") { int noCol = 4; Table tableEDNA = new Table(noCol); int headerEDNA[] = { 10, 10, 10, 10 }; // percentage tableEDNA.setWidths(headerEDNA); tableEDNA.setWidth(70); // percentage tableEDNA.setPadding(3); tableEDNA.setCellsFitPage(true); tableEDNA.setTableFitsPage(true); // tableEDNA.getDefaultCell().setBorderWidth(1); tableEDNA.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // EDNA Header tableEDNA.getDefaultCell().setBackgroundColor(BLUE_COLOR); tableEDNA.addCell(new Paragraph("Space Group", FONT_DOC_BOLD)); tableEDNA.addCell(new Paragraph("Unit Cell", FONT_DOC_BOLD)); tableEDNA.addCell(new Paragraph("Mosaicity\n(" + Constants.ANGSTROM + ")", FONT_DOC_BOLD)); tableEDNA.addCell(new Paragraph("Ranking Resolution\n(" + Constants.ANGSTROM + ")", FONT_DOC_BOLD)); tableEDNA.getDefaultCell().setBorderWidth(1); tableEDNA.getDefaultCell().setBackgroundColor(WHITE_COLOR); // EDNA data String unitCell = dcInfo.getCellA() + " (" + dcInfo.getCellAlpha() + ")\n" + dcInfo.getCellB() + " (" + dcInfo.getCellBeta() + ")\n" + dcInfo.getCellC() + " (" + dcInfo.getCellGamma() + ")"; tableEDNA.addCell(new Paragraph(dcInfo.getSpacegroup(), FONT_DOC)); tableEDNA.addCell(new Paragraph(unitCell, FONT_DOC)); tableEDNA.addCell(new Paragraph(dcInfo.getMosaicity(), FONT_DOC)); tableEDNA.addCell(new Paragraph(dcInfo.getResObserved(), FONT_DOC)); // document.add(tableEDNA); document.add(new Paragraph(" ", VERY_SMALL_FONT)); } }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
private void setEDNATable2(Document document, DataCollectionInformation dcInfo) throws Exception { if (dcInfo.getSpacegroup() != "") { int noCol = 4; Table tableEDNA = new Table(noCol); int headerEDNA[] = { 10, 10, 10, 10 }; // percentage tableEDNA.setWidths(headerEDNA); tableEDNA.setWidth(100); // percentage tableEDNA.setPadding(3);/* ww w . ja v a 2 s . c o m*/ tableEDNA.setCellsFitPage(true); tableEDNA.setTableFitsPage(true); // tableEDNA.getDefaultCell().setBorderWidth(1); tableEDNA.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // EDNA Header tableEDNA.getDefaultCell().setGrayFill(GREY_FILL_HEADER); tableEDNA.addCell(new Paragraph("Space Group", FONT_DOC_BOLD)); tableEDNA.addCell(new Paragraph("Unit Cell (a, b, c, alpha, beta, gamma)", FONT_DOC_BOLD)); tableEDNA.addCell(new Paragraph("Mosaicity (" + Constants.DEGREE + ")", FONT_DOC_BOLD)); tableEDNA.addCell(new Paragraph("Ranking Resolution (" + Constants.ANGSTROM + ")", FONT_DOC_BOLD)); tableEDNA.getDefaultCell().setBorderWidth(1); tableEDNA.getDefaultCell().setBackgroundColor(WHITE_COLOR); // EDNA data String unitCell = dcInfo.getCellA() + ", " + dcInfo.getCellB() + ", " + dcInfo.getCellC() + "\n" + dcInfo.getCellAlpha() + ", " + dcInfo.getCellBeta() + ", " + dcInfo.getCellGamma(); tableEDNA.addCell(new Paragraph(dcInfo.getSpacegroup(), FONT_DOC)); tableEDNA.addCell(new Paragraph(unitCell, FONT_DOC)); tableEDNA.addCell(new Paragraph(dcInfo.getMosaicity(), FONT_DOC)); tableEDNA.addCell(new Paragraph(dcInfo.getResObserved(), FONT_DOC)); // document.add(tableEDNA); document.add(new Paragraph(" ", VERY_SMALL_FONT)); } }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
private void setImagesTable(Document document, DataCollectionInformation dcInfo) throws Exception { String imgCrystal = dcInfo.getPathjpgCrystal(); String imgDiff1 = dcInfo.getPathDiffractionImg1(); String imgDiff2 = dcInfo.getPathDiffractionImg2(); int nbCol = 0; if (imgCrystal != null && !imgCrystal.equals("")) { nbCol++;/* w ww . j av a 2 s .c om*/ } if (imgDiff1 != null && !imgDiff1.equals("")) { nbCol++; } if (imgDiff2 != null && !imgDiff2.equals("")) { nbCol++; } if (nbCol > 0) { Table tableImage = new Table(nbCol); tableImage.setCellsFitPage(true); tableImage.setWidth(100); // percentage tableImage.getDefaultCell().setBorderWidth(0); tableImage.setBorderWidth(0); tableImage.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // ------------------------------------- Insert crystal image // ---------------------------- if (imgCrystal != null && !imgCrystal.equals("")) { try { Image jpgCrystal = Image.getInstance(imgCrystal); jpgCrystal.scaleAbsolute(CRYSTAL_IMAGE_WIDTH, CRYSTAL_IMAGE_HEIGHT); Cell cellCrystalImage = new Cell(jpgCrystal); cellCrystalImage.setLeading(0); cellCrystalImage.setBorderWidth(0); cellCrystalImage.setHorizontalAlignment(Element.ALIGN_CENTER); tableImage.addCell(cellCrystalImage); } catch (IOException e) { tableImage.addCell(new Paragraph(imgCrystal + " not found", FONT_DOC)); } } // --- Image 1 if (imgDiff1 != null && !imgDiff1.equals("")) { try { Image jpg1 = Image.getInstance(imgDiff1); jpg1.scaleAbsolute(DIFF_IMAGE_WIDTH, DIFF_IMAGE_HEIGHT); Cell cellDiffractionThumbnail1 = new Cell(jpg1); cellDiffractionThumbnail1.setLeading(0); cellDiffractionThumbnail1.setBorderWidth(0); cellDiffractionThumbnail1.setHorizontalAlignment(Element.ALIGN_CENTER); tableImage.addCell(cellDiffractionThumbnail1); } catch (IOException e) { tableImage.addCell(new Paragraph(imgDiff1 + " not found", FONT_DOC)); } } // --- Image 2 if (imgDiff2 != null && !imgDiff2.equals("")) { try { Image jpg2 = Image.getInstance(imgDiff2); jpg2.scaleAbsolute(DIFF_IMAGE_WIDTH, DIFF_IMAGE_HEIGHT); Cell cellDiffractionThumbnail2 = new Cell(jpg2); cellDiffractionThumbnail2.setLeading(0); cellDiffractionThumbnail2.setBorderWidth(0); cellDiffractionThumbnail2.setHorizontalAlignment(Element.ALIGN_CENTER); tableImage.addCell(cellDiffractionThumbnail2); } catch (IOException e) { tableImage.addCell(new Paragraph(imgDiff2 + " not found", FONT_DOC)); } } // document.add(tableImage); document.add(new Paragraph(" ", VERY_SMALL_FONT)); } }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * set the strategy table and wedge & subwedge strategy tables * /* w ww .j a v a2s . c o m*/ * @param document * @param dcInfo * @throws Exception */ private void setStrategyTable(Document document, DataCollectionInformation dcInfo) throws Exception { // ------------------------------------------- Strategy Wedge // ------------------------------------------------ List<StrategyWedgeInformation> strategyWedgeInformationList = dcInfo.getListStrategyWedgeInformation(); for (Iterator<StrategyWedgeInformation> i = strategyWedgeInformationList.iterator(); i.hasNext();) { document.add(new Paragraph(" ", VERY_SMALL_FONT)); StrategyWedgeInformation swi = i.next(); Table strategyWedgeTable = new Table(10); int headerStrategyWedge[] = { 8, 10, 10, 10, 10, 10, 10, 10, 10, 20 }; // percentage strategyWedgeTable.setWidths(headerStrategyWedge); strategyWedgeTable.setWidth(100); strategyWedgeTable.setCellsFitPage(true); strategyWedgeTable.setTableFitsPage(true); strategyWedgeTable.setPadding(0); strategyWedgeTable.getDefaultCell().setBorderWidth(0); strategyWedgeTable.setBorderWidth(0); strategyWedgeTable.getDefaultCell().setBackgroundColor(WEDGE_COLOR); strategyWedgeTable.addCell(new Paragraph("Wedge number", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Resolution\n(" + Constants.ANGSTROM + ")", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Completeness", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Multiplicity", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Total dose", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Number of Images", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Phi\n(" + Constants.DEGREE + ")", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Kappa\n(" + Constants.DEGREE + ")", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Wavelength", FONT_DOC_BOLD)); strategyWedgeTable.addCell(new Paragraph("Comments", FONT_DOC_BOLD)); strategyWedgeTable.getDefaultCell().setBackgroundColor(WHITE_COLOR); // rows strategyWedgeTable.addCell(new Paragraph(swi.getWedgeNumber(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getResolution(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getCompleteness(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getMultiplicity(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getDoseTotal(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getNumberOfImages(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getPhi(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getKappa(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getWavelength(), FONT_DOC)); strategyWedgeTable.addCell(new Paragraph(swi.getComments(), FONT_DOC)); document.add(strategyWedgeTable); // --- strategy sub wedge if (swi.getListStrategySubWedgeInformation().size() > 0) { document.add(new Paragraph(" ", VERY_SMALL_FONT)); Table strategySubWedgeTable = new Table(12); int headerStrategySubWedge[] = { 8, 15, 10, 10, 10, 10, 10, 10, 10, 8, 8, 20 }; // percentage strategySubWedgeTable.setWidths(headerStrategySubWedge); strategySubWedgeTable.setWidth(80); strategySubWedgeTable.setCellsFitPage(true); strategySubWedgeTable.setTableFitsPage(true); strategySubWedgeTable.setPadding(0); strategySubWedgeTable.getDefaultCell().setBorderWidth(0); strategySubWedgeTable.setBorderWidth(0); strategySubWedgeTable.getDefaultCell().setBackgroundColor(SUBWEDGE_COLOR); strategySubWedgeTable.addCell(new Paragraph("Sub Wedge number", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Rotation axis", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Axis start", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Axis end", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Exposure time", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Transmission", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Oscillation Range", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Completeness", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Multiplicity", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Total dose", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Number of images", FONT_DOC_BOLD)); strategySubWedgeTable.addCell(new Paragraph("Comments", FONT_DOC_BOLD)); strategySubWedgeTable.getDefaultCell().setBackgroundColor(WHITE_COLOR); // rows for (Iterator<StrategySubWedgeInformation> s = swi.getListStrategySubWedgeInformation() .iterator(); s.hasNext();) { StrategySubWedgeInformation sswi = s.next(); strategySubWedgeTable.addCell(new Paragraph(sswi.getSubWedgeNumber(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getRotationAxis(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getAxisStart(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getAxisEnd(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getExposureTime(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getTransmission(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getOscillationRange(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getCompleteness(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getMultiplicity(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getDoseTotal(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getNumberOfImages(), FONT_DOC)); strategySubWedgeTable.addCell(new Paragraph(sswi.getComments(), FONT_DOC)); } document.add(strategySubWedgeTable); } } document.add(new Paragraph(" ", VERY_SMALL_FONT)); }