Itextpdf:在文本中间设置图像

时间:2015-10-02 08:37:37

标签: java itext itextpdf

我在段落中有一段文字我希望在文本中间设置一个图像:

public void createPdf(String dest, String imgSource) throws IOException, DocumentException {
    Document doc = new Document ();
    PdfWriter writer = PdfWriter.getInstance(doc, new FileOutputStream(dest));
    doc.open ();
    Paragraph p = new Paragraph();
    Image image1 = Image.getInstance(imgSource);
    p.add(new Chunk("This is my photo : "));
    p.add (image1);
    p.add(new Chunk(" so beautifull :)"));
    doc.add(p);
    doc.close();
}

它是一个小图像(宽度= 100,高度= 50),但我的图像位于第二行。有可能这样设置:“这是我的照片:[IMAGE] so beautifull :)”

2 个答案:

答案 0 :(得分:5)

如果将Image对象包装在Chunk中,则可以将其用作内联元素:

Paragraph p = new Paragraph();
Image image1 = Image.getInstance(imgSource);
p.add(new Chunk("This is my photo : "));
p.add (new Chunk(image1, 0, 0, true));
p.add(new Chunk(" so beautifull :)"));

该Chunk构造函数的第2和第3个参数可用于水平和垂直偏移图像。

答案 1 :(得分:1)

您是否更好地设置HTML输出并将此HTML转换为PDF。就我而言,这是iText的一个选项

有关如何执行此操作的详细信息,请参阅其网站: http://itextpdf.com/product/xml_worker