使用iText在PDF上无法正确打印数据

这是我的XHTML:

       
Type Custodian Name Relationship to Owner Percent Minor Name For the State of
UTMA/UGMA QQQQQQQQQQQQQQQQQQQQQQQQQ MMMMMMMMMMMMMMMMMMMMMMMMMM Common Law Husband 15% RRRRRRRRRRRRRRRRRRRRRRRR BBBBBBBBBBBBBBBBBBBBBB DC

当我尝试使用此代码将其转换为PDF时:

  import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStream; import org.xhtmlrenderer.pdf.ITextRenderer; import com.lowagie.text.DocumentException; public class Practice { public static void main(String[] args) throws IOException, DocumentException { String inputFile = "sample.xhtml"; String url = new File(inputFile).toURI().toURL().toString(); String outputFile = "firstdoc.pdf"; OutputStream os = new FileOutputStream(outputFile); ITextRenderer renderer = new ITextRenderer(); renderer.setDocument(url); renderer.layout(); renderer.createPDF(os); os.close(); } } 

它给了我这个输出:

在此处输入图像描述

但是当我在浏览器中打开XHTML时,它是这样的:

在此处输入图像描述

我没有遇到问题。 我的主要目标是打破那个特定空间的话语。 我使用iText 2.0.8,我不能使用其他API,因为我的公司不允许这样做。 任何建议都会有很多帮助。

您使用的是几年前的iText版本。 为什么不使用当前版本并查看问题是否得到了解决? 在此期间,他们已经完成了大量的工作,将HTML和XML转换为PDF(反之亦然)。 事实上,我会说,这是他们所做的主要事情。

您正在使用Flying Saucer(org.xhtmlrenderer.pdf.ITextRenderer),这是一个将XHTML + CSS转换为PDF的库。 它使用iText进行PDF生成。

如果您的问题出在CSS支持中,您应该关注Flying Saucer。 在使用iText将呈现的内容转换为PDF之前完成XHTML和CSS呈现。