首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache DOCX到PDF转换

Apache DOCX到PDF转换
EN

Stack Overflow用户
提问于 2020-08-24 17:19:56
回答 1查看 6.4K关注 0票数 1

我正试图使用POI将docx文件转换为pdf文件。跟踪错误。使用poi-3.17,

代码语言:javascript
复制
  import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import org.apache.poi.xwpf.converter.pdf.PdfConverter;
    import org.apache.poi.xwpf.converter.pdf.PdfOptions;
    import org.apache.poi.xwpf.usermodel.XWPFDocument;
    
    public class WordToPDF {
    
        public static void main(String[] args) {
            WordToPDF cwoWord = new WordToPDF();
            System.out.println("Start");
            cwoWord.ConvertToPDF("D:\\2067536.docx", "D:\\2067536.pdf");
        }
    
        public void ConvertToPDF(String docPath, String pdfPath) {
            try {
                InputStream doc = new FileInputStream(new File(docPath));
                XWPFDocument document = new XWPFDocument(doc);
                document.createStyles();
                PdfOptions options = PdfOptions.create();
                OutputStream out = new FileOutputStream(new File(pdfPath));
                PdfConverter.getInstance().convert(document, out, options);
                System.out.println("Done");
            } catch (FileNotFoundException ex) {
                System.out.println(ex.getMessage());
            } catch (IOException ex) {
    
                System.out.println(ex.getMessage());
            }
        }
    
    }

这是发生的错误

代码语言:javascript
复制
Exception in thread "main" org.apache.poi.xwpf.converter.core.XWPFConverterException: java.lang.NullPointerException
        at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:70)
        at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:38)
        at org.apache.poi.xwpf.converter.core.AbstractXWPFConverter.convert(AbstractXWPFConverter.java:45)
        at WordToPDF.ConvertToPDF(WordToPDF.java:27)
        at WordToPDF.main(WordToPDF.java:17)
Caused by: java.lang.NullPointerException
        at org.apache.poi.xwpf.converter.pdf.internal.PdfMapper.visitHeader(PdfMapper.java:178)
        at org.apache.poi.xwpf.converter.pdf.internal.PdfMapper.visitHeader(PdfMapper.java:111)
        at org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.visitHeaderRef(XWPFDocumentVisitor.java:1142)
        at org.apache.poi.xwpf.converter.core.MasterPageManager.visitHeadersFooters(MasterPageManager.java:213)
        at org.apache.poi.xwpf.converter.core.MasterPageManager.addSection(MasterPageManager.java:180)
        at org.apache.poi.xwpf.converter.core.MasterPageManager.compute(MasterPageManager.java:127)
        at org.apache.poi.xwpf.converter.core.MasterPageManager.initialize(MasterPageManager.java:90)
        at org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.visitBodyElements(XWPFDocumentVisitor.java:232)
        at org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.start(XWPFDocumentVisitor.java:199)
        at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:56)
        ... 4 more

由于这是一个空指针错误,我无法理解确切的问题可能是什么,任何帮助都是非常感谢的。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-08 02:51:59

Libre拯救了我的生命,简单的命令docx到pdf转换就像一种魅力。

详细答案在这里

Command libreoffice --headless --convert-to pdf test.docx --outdir /pdf is not working

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63565786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档