使用Itext进行word转pdf失真 ,而poi的word转pdf就不失真。求教itext怎么不失真

图片说明
如图,这是itext的word转pdf

代码如下:

XWPFDocument doc = new XWPFDocument(new FileInputStream(file));
// 以下几行代码是把这个word文件转化成pdf文件
File pdfFile = getPdfFile(FILE_TYPE_PDF);
fileOutputStream = new FileOutputStream(pdfFile);
PdfConverter.getInstance().convert(doc, fileOutputStream, PdfOptions.create());

下面这个是poi的word转pdf:
图片说明
代码如下:

Document doc = new Document(new FileInputStream(file));
File pdfFile = getPdfFile(FILE_TYPE_PDF);
fileOutputStream = new FileOutputStream(pdfFile);
doc.save(fileOutputStream, SaveFormat.PDF);

itext的转完以后,文字紧贴着线,而poi的文字在中间!
求教。有没有遇到过同样的问题的?

楼主也可以试用下Spire.doc for Java控件哦,转换效果也很好,代码操作简单。产品包可在其官网上获取,代码示例如下:

```java
import com.spire.doc.*;

public class WordtoPDF {
    public static void main(String[] args) {

        //加载word示例文档
        Document document = new Document();
        document.loadFromFile("Sample.docx");


        //保存结果文件
        document.saveToFile("out/toPDF.pdf", FileFormat.PDF);

    }
}

```

将word文件转pdf文件,并且替换占位符,可以使用预制模板,使用word制作html模板,将动态值制作成占位符,然后通过java代码将业务数据替换成占位符,然后生成pdf。 这种制成的模板优点是不会失真,格式不会变形,生成出来的pdf和html模板一模一样。 具体可以参考:https://download.csdn.net/download/gongjin28_csdn/85118467