Java 为什么文件转换为PDF时格式会改变?

Java 为什么文件转换为PDF时格式会改变?,java,itext,flying-saucer,Java,Itext,Flying Saucer,我想将HTML页面转换为pdf。为此,我使用了flying-discer-pdf-itext5。添加了flying-discer-pdf-itext5和flying-discer核心依赖项,但当生成pdf文件时,其格式会发生更改,一些CSS不会应用于pdf文件。 我的代码如下: String xHtml = convertToXhtml(htmlContent); ITextRenderer renderer = new ITextRenderer();

我想将HTML页面转换为pdf。为此,我使用了flying-discer-pdf-itext5。添加了flying-discer-pdf-itext5和flying-discer核心依赖项,但当生成pdf文件时,其格式会发生更改,一些CSS不会应用于pdf文件。 我的代码如下:

        String xHtml = convertToXhtml(htmlContent);
        ITextRenderer renderer = new ITextRenderer();
        renderer.setDocumentFromString(xHtml);
        renderer.setScaleToFit(true);
        renderer.layout();
        final File pdfFile = new File("fileName.pdf");
        OutputStream outputStream = new FileOutputStream(pdfFile);
        renderer.createPDF(outputStream);
        outputStream.close();
要将Html转换为XHTML,我编写以下代码:

            Tidy tidy = new Tidy();
            tidy.setInputEncoding(UTF-8);
            tidy.setOutputEncoding(UTF-8);
            tidy.setXHTML(true);
            ByteArrayInputStream inputStream = new 
            ByteArrayInputStream(htmlContent.getBytes(UTF-8));
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
            tidy.parseDOM(inputStream, outputStream);
pom.xml是:

<dependency>
           <groupId>org.xhtmlrenderer</groupId>
           <artifactId>flying-saucer-core</artifactId>
           <version>9.1.6</version>
           <scope>compile</scope>
   </dependency>
   <dependency>
           <groupId>org.xhtmlrenderer</groupId>
           <artifactId>flying-saucer-pdf-itext5</artifactId>
           <version>9.1.6</version>
           <scope>compile</scope>
   </dependency>

org.xhtmlender
飞碟核心
9.1.6
编译
org.xhtmlender
飞碟-pdf-itext5
9.1.6
编译

您需要更加具体:请说明您正在做什么,并说明未应用的CSS类型。一般来说,我不希望
iText
能够完美地表示所有CSS。添加飞碟标签是有意义的,对吗?您还可以提供PDF(或一些示例)来说明该行为吗?