private void addMetaData(Document document) { String title = mContext.getString(R.string.brew_shop_recipe_colon) + " " + mRecipe.getName(); String author = mContext.getString(R.string.brew_shop); document.addTitle(title); document.addSubject(title); document.addAuthor(author); document.addCreator(author); }
private void addRecipeInfo(Document document) throws DocumentException { int iconRes = mRecipe.getStyle().getIconDrawable(); Image image = loadDrawable(iconRes, 40); Paragraph namePara = new Paragraph(); namePara.setSpacingBefore(0); namePara.add(new Phrase(mRecipe.getName() + "\n", HEADER_FONT)); namePara.add(new Phrase("\n", new Font(Font.FontFamily.TIMES_ROMAN, 2))); namePara.add(new Phrase(mRecipe.getStyle().getDisplayName(), SMALL_FONT)); PdfPTable table = new PdfPTable(new float[] {50, 400}); table.setHorizontalAlignment(Element.ALIGN_LEFT); PdfPCell cellOne = new PdfPCell(image); cellOne.setBorder(Rectangle.NO_BORDER); PdfPCell cellTwo = new PdfPCell(namePara); cellTwo.setBorder(Rectangle.NO_BORDER); table.addCell(cellOne); table.addCell(cellTwo); document.add(table); addLineSeparator(document); Paragraph setupPara = new Paragraph(); setupPara.add( new Phrase( "Batch Volume: " + mConverter.fromGallonsWithUnits(mRecipe.getBatchVolume(), 1), NORMAL_FONT)); setupPara.add(new Phrase("\n\n", SPACING_FONT)); setupPara.add( new Phrase( "Boil Volume: " + mConverter.fromGallonsWithUnits(mRecipe.getBoilVolume(), 1), NORMAL_FONT)); setupPara.add(new Phrase("\n\n", SPACING_FONT)); setupPara.add( new Phrase( "Boil Time: " + Util.fromDouble(mRecipe.getBoilTime(), 0) + " minutes", NORMAL_FONT)); setupPara.add(new Phrase("\n\n", SPACING_FONT)); setupPara.add( new Phrase( "Efficiency: " + Util.fromDouble(mRecipe.getEfficiency(), 1) + "%", NORMAL_FONT)); Paragraph para = new Paragraph(); String og = ""; switch (mSettings.getExtractUnits()) { case SPECIFIC_GRAVITY: og = Util.fromDouble(mRecipe.getOg(), 3, false); break; case DEGREES_PLATO: og = Util.fromDouble(mRecipe.getOgPlato(), 1, false) + "°P"; break; } para.add(new Phrase("OG: " + og, NORMAL_FONT)); para.add(new Phrase("\n\n", SPACING_FONT)); para.add(new Phrase("IBU: " + Util.fromDouble(mRecipe.getTotalIbu(), 1), NORMAL_FONT)); para.add(new Phrase("\n\n", SPACING_FONT)); para.add(new Phrase("SRM: " + Util.fromDouble(mRecipe.getSrm(), 1), NORMAL_FONT)); para.add(new Phrase("\n\n", SPACING_FONT)); String fg = "n/a"; if (mRecipe.hasYeast()) { switch (mSettings.getExtractUnits()) { case SPECIFIC_GRAVITY: fg = Util.fromDouble(mRecipe.getFg(), 3, false); break; case DEGREES_PLATO: fg = Util.fromDouble(mRecipe.getFgPlato(), 1, false) + "°P"; break; } } para.add(new Phrase("Estimated FG: " + fg, NORMAL_FONT)); para.add(new Phrase("\n\n", SPACING_FONT)); String abv = "n/a"; if (mRecipe.hasYeast()) { abv = Util.fromDouble(mRecipe.getAbv(), 1) + "%"; } para.add(new Phrase("Estimated ABV: " + abv, NORMAL_FONT)); PdfPTable statsTable = new PdfPTable(new float[] {200, 200}); statsTable.setHorizontalAlignment(Element.ALIGN_LEFT); PdfPCell statsCellOne = new PdfPCell(para); statsCellOne.setBorder(Rectangle.NO_BORDER); PdfPCell statsCellTwo = new PdfPCell(setupPara); statsCellTwo.setBorder(Rectangle.NO_BORDER); statsTable.addCell(statsCellOne); statsTable.addCell(statsCellTwo); document.add(statsTable); }