Java iText-PDF不好

Java iText-PDF不好,java,itext,Java,Itext,我有以下HTML: <div align='center' style='height:50px'> <H1>A Simple Sample Web Page</H1> <IMG SRC='http://sheldonbrown.com/images/scb_eagle_contact.jpeg'> <H4>By Sheldon Brown</H4> <H2>Demonstrati

我有以下HTML:

<div align='center' style='height:50px'>
    <H1>A Simple Sample Web Page</H1>
    <IMG SRC='http://sheldonbrown.com/images/scb_eagle_contact.jpeg'>
    <H4>By Sheldon Brown</H4>
    <H2>Demonstrating a few HTML features</H2>
</div>
HTML is really a very simple language. '
<P>
'command, which will insert a blank line.If you would like to make a link or 
bookmark to this page, the URL is:
<BR> 
http://sheldonbrown.com/web_sample1.html
</center>

一个简单的示例网页
谢尔顿·布朗
演示一些HTML特性
HTML实际上是一种非常简单的语言

'命令,该命令将插入一个空行。如果要创建链接或 将书签添加到此页面,URL为:
http://sheldonbrown.com/web_sample1.html

但是图像显示在文本后面而不是下面

怎么了

如果iText无法处理它-哪个库更好

这是我的代码:

// step 1
        Document document = new Document();

        // step 2
        PdfWriter.getInstance(document, new FileOutputStream("C:\\hello-world.pdf"));

        document.open();
        String content = "<div align='center' style='height:50px'><H1>A Simple Sample Web Page</H1><IMG SRC='http://sheldonbrown.com/images/scb_eagle_contact.jpeg'><H4>By Sheldon Brown</H4><H2>Demonstrating a few HTML features</H2></div>HTML is really a very simple language. '<P>' command, which will insert a blank line.If you would like to make a link or bookmark to this page, the URL is:<BR> http://sheldonbrown.com/web_sample1.html</center>";

        // use the snippet for the PDF document
        List<Element> objects = HTMLWorker.parseToList(new StringReader(content), null);
        for (Element element : objects)
            document.add(element);
        document.close();
//步骤1
文档=新文档();
//步骤2
getInstance(文档,新文件输出流(“C:\\hello world.pdf”);
document.open();
String content=“Sheldon Brown提供的简单示例网页演示了一些HTML功能HTML实际上是一种非常简单的语言。”

“命令,它将插入一个空行。如果您想创建指向此页面的链接或书签,URL为:
http://sheldonbrown.com/web_sample1.html"; //使用PDF文档的代码段 List objects=HTMLWorker.parsetList(新的StringReader(内容),null); 用于(元素:对象) 文件。添加(元素); document.close();


您是否有任何css应用于此HTML?您是否已通过浏览器以任何其他方式查看此HTML(哪种方式)?它的呈现方式与您在此处描述的相同:

可能要删除该
上的“高度样式”属性?它看起来像是在中间渲染,但实际上是在距顶部50像素处渲染。请看另一把没有
高度
样式的小提琴:


另外,请记住,问题在于我使用的是旧版本


我切换到最后一个-5.1.2,它工作了

您是否尝试过搜索iText邮件列表?这里有一面镜子:也许你应该把你的文本和图像放在不同的div标签中。@Stephan我试着把它放在两个不同的标签中,但仍然不起作用!是的-我试图删除高度(正如您在第二个示例中提到的)-但仍然不起作用!我对iText不太熟悉。不过,我已经用过了,效果很好。它在幕后使用iText。考虑到它将要求您的文档是XHTML