【问题标题】:PDF conversion lose format when is converted by Docx4jDocx4j转换PDF转换时会丢失格式
【发布时间】:2016-12-30 21:04:15
【问题描述】:

将文件从 .docx 传递到 pdf 时出现问题。

我用的是docx4j 3.2.2,转换代码:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

import org.docx4j.Docx4J;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;

public class PDFConverter {

    public static void main(String[] args) {
        createPDF();
    }

    private static void createPDF() {
        try {
            long start = System.currentTimeMillis();
            InputStream is = new FileInputStream(new File("docxFile"));
            WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(is);
            OutputStream out = new FileOutputStream(new File("pdfFile"));
            Docx4J.toPDF(wordMLPackage, out);
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }
}

实现了转换,但是pdf丢失了格式,这里是原docx和pdf的转换

Original

Conversion

这是因为需要一些配置吗?

问候。

【问题讨论】:

  • 我不能使用其他版本的 docx4j,是一个便便,但那是
  • apache poi 也是如此
  • 您需要将原始 docx 放在某个地方供我们查看。
  • 这是我的文档示例。 link 终于可以保留格式了,但完全不行
  • 附加信息:我可以更改 de 版本,现在使用 docx4j 3.3.0

标签: java pdf docx docx4j


【解决方案1】:
package com.xxx.ecm.converter

import com.xxx.ecm.api.object.model.BaseContent
import org.docx4j.Docx4J
import org.docx4j.openpackaging.packages.WordprocessingMLPackage

class Docx2PdfConverter extends Converter 
{
    InputStream convert(BaseContent content) {
        try {
            byte[] bytes = content.inputStream.bytes
            InputStream is = new ByteArrayInputStream(bytes)
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream(bytes.size())
            WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(is)
            Docx4J.toPDF(wordMLPackage, outputStream);
            new ByteArrayInputStream(outputStream.toByteArray())
        } catch (Exception e) {
          throw e
        }
    }
}

【讨论】:

  • 你能给初学者解释一下吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-05
  • 2017-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多