2015-10-02 4 views
2

У меня есть текст в пункте Я хочу установить изображение в середине текста: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 :)»

ответ

4

Если вы заключаете объект изображения в куске, вы может использовать его в качестве встроенного элемента:

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 :)")); 

2-я и 3-й параметр этого Chunk конструктора может использоваться для смещения изображения по горизонтали и по вертикали.

+0

спасибо, это лучше ваше решение – Valeriane

1

Не лучше ли вам установить вывод HTML и преобразовать этот HTML в PDF. Насколько я обеспокоен тем, что вариант с IText

Для получения дополнительной информации о том, как это сделать, пожалуйста, обратитесь к их веб-сайт: http://itextpdf.com/product/xml_worker

+0

Itextpdf не поддерживает html – Valeriane

+0

http://itextpdf.com/product/xml_worker попробуйте эту ссылку – creulcat

Смежные вопросы