如何将图像和文本放在iText Android表中的1个单元格内?

时间:2013-09-10 09:21:13

标签: android itext

如何将图像和文字置于其上方/上方?

我尝试了以下代码,但我只能看到“测试1”和“测试3”

private void createTable(Paragraph paragraph, Document document){
    PdfPTable table = new PdfPTable(2);

    PdfPCell c1 = new PdfPCell(new Phrase("Question"));
    c1.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(c1);

    c1 = new PdfPCell(new Phrase("Answer"));
    c1.setHorizontalAlignment(Element.ALIGN_CENTER);
    table.addCell(c1);

    table.setHeaderRows(1);

    HierarchyElement formElement;
    FormController formController = Collect.getInstance().getFormController();
    Image imageAnswer = null;

    for(int i = 0; i < mFormList.size(); i++){
        formElement = mFormList.get(i);

        table.addCell(formElement.getPrimaryText());

        String imageName = getImageNameOfSelectedAnswer(formController, formElement);
        if(imageName != null){
            imageAnswer = Image.getInstance(imageName);
            imageAnswer.scalePercent((float) 0.1);
        }

        PdfPCell cell = new PdfPCell();
        cell.addElement(new Paragraph("Test 1"));
        cell.addElement(new Chunk(imageAnswer, 0, 0, true));
        cell.addElement(new Paragraph("Test 3"));
        table.addCell(cell);
    }

    paragraph.add(table);
    document.add(paragraph);
}

1 个答案:

答案 0 :(得分:4)

你应该试试这个:

PdfPTable table = new PdfPTable(2);  
PdfPCell cell = new PdfPCell();
Paragraph paragraph1 = new Paragraph();
paragraph1.add(textAnswer);
cell.addElement(paragraph1);
cell.addElement(new Paragraph("Test 1"));
cell.addElement(imageAnswer);
cell.addElement(new Paragraph("Test 3"));
table.addCell(cell);

如果这不起作用,请提供一个用Java重现问题的SSCCE。