List of usage examples for com.lowagie.text PageSize A4
Rectangle A4
To view the source code for com.lowagie.text PageSize A4.
Click Source Link
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * export datacollection report// ww w . ja v a 2 s . c om * * @param rtfFormat * @return * @throws Exception */ public ByteArrayOutputStream exportDataCollectionReport(boolean rtfFormat) 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 // =============================== // Crystallographer added only for IFX proposal in case of MXPress // experiment setCrystallographer(document); // Session comments setSessionComments(document); // session title& info setSessionTable(document); // ====================== // Data Collection table // ====================== document.add(new Paragraph(" ")); setDataCollectionTable(document); // ====================== // Energy scans // ====================== document.add(new Paragraph(" ")); setEnergyScansTable(document); // ====================== // XRF Spectra // ====================== document.add(new Paragraph(" ")); setXfrSpectraTable(document); // ====================== // Summary // ====================== setSummary(document); // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * export detailed dataCollection//w ww. j av a 2s .co 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
/** * export detailed dataCollection report: new screening report * /* w w w .j a v a2s . c om*/ * @return * @throws Exception */ public ByteArrayOutputStream exportDetails(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 // ============================= setHeaderForDetails(document); setFooter(document); document.open(); // =============================== // Body // =============================== // Session comments setSessionComments(document); document.add(new Paragraph(" ")); // build the list with the collect and collects group by workflow + // energyScan+ XRFSpectra // this list is sorted by time List<SessionDataObjectInformation> listSessionDataObject = sessionDataObjectList; if (listSessionDataObject.isEmpty()) { document.add(new Paragraph("There is no data in this report", PdfRtfExporter.FONT_DOC)); } else { // for each object, we will display a different table int countTables = 0; for (Iterator<SessionDataObjectInformation> iterator = listSessionDataObject.iterator(); iterator .hasNext();) { SessionDataObjectInformation sessionDataObject = (SessionDataObjectInformation) iterator.next(); if (countTables > 1) { // System.out.println("page break"); document.newPage(); countTables = 0; } setDetailSessionObjectTable(document, sessionDataObject, mRequest); countTables++; } } // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * export ranking dataCollection/* w w w . ja va 2 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 ww w . j a v a 2s .co 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
/** * export the MXPressO /MXpressE report//from ww w . j av a 2 s. c o m * * @param rtfFormat * @param mRequest * @return * @throws Exception */ public ByteArrayOutputStream exportMXPressOWorkflowReport(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 // ============================= setHeaderMXPressO(document); setFooter(document); document.open(); // =============================== // Body // =============================== // For each MXPressO workflow, display snapshot, results and // autoprocessingResults setMXPressO(document, mRequest); // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.client.mx.collection.PdfRtfExporter.java
License:Open Source License
/** * export datacollection report//w ww .j a va 2 s .com * * @param rtfFormat * @return * @throws Exception */ public ByteArrayOutputStream exportNewDataCollectionReport(boolean rtfFormat) 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 // =============================== // Crystallographer added only for IFX proposal in case of MXPress // experiment setCrystallographer(document); // Session comments setSessionComments(document); // session title& info setSessionTable(document); // ====================== // Data Collection table // ====================== document.add(new Paragraph(" ")); setDataCollectionTable2(document); // ====================== // Energy scans // ====================== document.add(new Paragraph(" ")); setEnergyScansTable(document); // ====================== // XRF Spectra // ====================== document.add(new Paragraph(" ")); setXfrSpectraTable(document); // ====================== // Summary // ====================== setSummary(document); // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.client.mx.results.ExportAutoProcAction.java
License:Open Source License
public ByteArrayOutputStream exportAutoProc(boolean exportAsPDF) throws Exception { // create simple doc and write to a ByteArrayOutputStream Document document = new Document(PageSize.A4); ByteArrayOutputStream baos = new ByteArrayOutputStream(); if (exportAsPDF) { PdfWriter.getInstance(document, baos); } else {//from w w w . j av a 2 s . c o m RtfWriter2.getInstance(document, baos); } // ============================= // Header + footer // ============================= setHeader(document); setFooter(document); document.open(); // =============================== // Body // =============================== // dataCollection info setDataCollectionInfo(document); document.add(new Paragraph(" ")); // Session comments setAutoProcInfo(document); // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.common.util.export.ExiPdfRtfExporter.java
License:Open Source License
/** * export datacollection report//from w w w. j a v a 2 s. co m * * @param rtfFormat * @return * @throws Exception */ public ByteArrayOutputStream exportDataCollectionReport(boolean rtfFormat) throws Exception { this.init(); // 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 // =============================== // Crystallographer added only for IFX proposal in case of MXPress // experiment setCrystallographer(document); // Session comments setSessionComments(document); // session title& info setSessionTable(document); // ====================== // Data Collection table // ====================== document.add(new Paragraph(" ")); setDataCollectionTable(document); // ====================== // End of file // ====================== document.close(); return baos; }
From source file:ispyb.common.util.export.PdfExporterSample.java
License:Open Source License
/** * Exports the file for viewSample for shipment * //from w w w .jav a 2s .c o m * @return * @throws Exception */ public ByteArrayOutputStream exportAsPdf() throws Exception { // create simple doc and write to a ByteArrayOutputStream Document document = new Document(PageSize.A4.rotate(), 20, 20, 20, 20); document.addTitle("exportSamplesView"); ByteArrayOutputStream baos = new ByteArrayOutputStream(); PdfWriter.getInstance(document, baos); HeaderFooter header; // header + footer if (viewName != null) header = new HeaderFooter(new Phrase("Samples for Proposal: " + proposalDesc + " --- " + viewName), false); else header = new HeaderFooter(new Phrase("Samples for Proposal: " + proposalDesc), false); header.setAlignment(Element.ALIGN_CENTER); header.setBorderWidth(1); header.getBefore().getFont().setSize(8); HeaderFooter footer = new HeaderFooter(new Phrase("Page n."), true); footer.setAlignment(Element.ALIGN_RIGHT); footer.setBorderWidth(1); footer.getBefore().getFont().setSize(6); document.setHeader(header); document.setFooter(footer); document.open(); if (aList.isEmpty()) { document.add(new Paragraph("There is no samples in this report")); document.close(); return baos; } // Create first table for samples int NumColumns = 19; PdfPTable table = new PdfPTable(NumColumns); int headerwidths[] = { 6, 6, 6, 6, 6, 4, 6, 4, 4, 4, 4, 4, 4, 8, 5, 5, 5, 10, 6 }; // percentage table.setWidths(headerwidths); table.setWidthPercentage(100); // percentage table.getDefaultCell().setPadding(3); table.getDefaultCell().setBorderWidth(1); table.getDefaultCell().setHorizontalAlignment(Element.ALIGN_CENTER); // header PdfPCell cell = new PdfPCell(); table.addCell(new Paragraph("Protein", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Sample name", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Smp code", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Dewar", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Container", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Loc. in cont.", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Space group", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Cell a", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Cell b", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Cell c", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Cell alpha", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Cell beta", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Cell gamma", new Font(Font.HELVETICA, 8))); cell = new PdfPCell(new Paragraph("Crystal comments", new Font(Font.HELVETICA, 8))); table.addCell(cell); table.addCell(new Paragraph("Already observed resol.", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Required resol.", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Min. resol.", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Sample comments", new Font(Font.HELVETICA, 8))); table.addCell(new Paragraph("Sample status", new Font(Font.HELVETICA, 8))); table.setHeaderRows(1); // this is the end of the table header table.getDefaultCell().setBorderWidth(1); DecimalFormat df1 = new DecimalFormat("#####0.0"); DecimalFormat df2 = new DecimalFormat("#####0.00"); Iterator it = aList.iterator(); int i = 1; String currentContainer = "next"; String nextContainer = "next"; while (it.hasNext()) { table.getDefaultCell().setGrayFill(0.99f); if (i % 2 == 1) { table.getDefaultCell().setGrayFill(0.9f); } BLSample3VO samplefv = (BLSample3VO) it.next(); LOG.debug("table of datacollections pdf " + samplefv.getBlSampleId()); if (samplefv.getContainerVO() != null && samplefv.getContainerVO().getCode() != null) nextContainer = samplefv.getContainerVO().getCode(); else nextContainer = "next"; // in the case of view sorted by dewar/container, we add a page break afetr each container if (sortView.equals("2") && !currentContainer.equals(nextContainer)) { document.add(table); table.deleteBodyRows(); document.newPage(); } if (samplefv.getCrystalVO().getProteinVO().getAcronym() != null) table.addCell(new Paragraph(samplefv.getCrystalVO().getProteinVO().getAcronym(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getName() != null) table.addCell(new Paragraph(samplefv.getName(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCode() != null) table.addCell(new Paragraph(samplefv.getCode(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getContainerVO() != null && samplefv.getContainerVO().getDewarVO() != null && samplefv.getContainerVO().getDewarVO().getCode() != null) table.addCell(new Paragraph(samplefv.getContainerVO().getDewarVO().getCode(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getContainerVO() != null && samplefv.getContainerVO().getCode() != null) { currentContainer = samplefv.getContainerVO().getCode(); table.addCell(new Paragraph(currentContainer, new Font(Font.HELVETICA, 8))); } else { currentContainer = "current"; table.addCell(""); } if (samplefv.getLocation() != null) table.addCell(new Paragraph(samplefv.getLocation(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCrystalVO().getSpaceGroup() != null) table.addCell(new Paragraph(samplefv.getCrystalVO().getSpaceGroup(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCrystalVO().getCellA() != null) table.addCell( new Paragraph(df1.format(samplefv.getCrystalVO().getCellA()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCrystalVO().getCellB() != null) table.addCell( new Paragraph(df1.format(samplefv.getCrystalVO().getCellB()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCrystalVO().getCellC() != null) table.addCell( new Paragraph(df1.format(samplefv.getCrystalVO().getCellC()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCrystalVO().getCellAlpha() != null) table.addCell(new Paragraph(df1.format(samplefv.getCrystalVO().getCellAlpha()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCrystalVO().getCellBeta() != null) table.addCell(new Paragraph(df1.format(samplefv.getCrystalVO().getCellBeta()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCrystalVO().getCellGamma() != null) table.addCell(new Paragraph(df1.format(samplefv.getCrystalVO().getCellGamma()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getCrystalVO().getComments() != null) table.addCell(new Paragraph(samplefv.getCrystalVO().getComments(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getDiffractionPlanVO() != null && samplefv.getDiffractionPlanVO().getObservedResolution() != null) { table.addCell(new Paragraph(df2.format(samplefv.getDiffractionPlanVO().getObservedResolution()), new Font(Font.HELVETICA, 8))); } else if (samplefv.getCrystalVO().getDiffractionPlanVO() != null && samplefv.getCrystalVO().getDiffractionPlanVO().getObservedResolution() != null) table.addCell(new Paragraph( df2.format(samplefv.getCrystalVO().getDiffractionPlanVO().getObservedResolution()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getDiffractionPlanVO() != null && samplefv.getDiffractionPlanVO().getRequiredResolution() != null) { table.addCell(new Paragraph(df2.format(samplefv.getDiffractionPlanVO().getRequiredResolution()), new Font(Font.HELVETICA, 8))); } else if (samplefv.getCrystalVO().getDiffractionPlanVO() != null && samplefv.getCrystalVO().getDiffractionPlanVO().getRequiredResolution() != null) table.addCell(new Paragraph( df2.format(samplefv.getCrystalVO().getDiffractionPlanVO().getRequiredResolution()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getDiffractionPlanVO() != null && samplefv.getDiffractionPlanVO().getMinimalResolution() != null) { table.addCell(new Paragraph(df2.format(samplefv.getDiffractionPlanVO().getMinimalResolution()), new Font(Font.HELVETICA, 8))); } else if (samplefv.getCrystalVO().getDiffractionPlanVO() != null && samplefv.getCrystalVO().getDiffractionPlanVO().getMinimalResolution() != null) table.addCell(new Paragraph( df2.format(samplefv.getCrystalVO().getDiffractionPlanVO().getMinimalResolution()), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getComments() != null && samplefv.getComments() != "") table.addCell(new Paragraph(samplefv.getComments(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (samplefv.getBlSampleStatus() != null) table.addCell(new Paragraph(samplefv.getBlSampleStatus(), new Font(Font.HELVETICA, 8))); else table.addCell(""); if (i % 2 == 1) { table.getDefaultCell().setGrayFill(0.0f); } i++; } document.add(table); document.close(); return baos; }