coldfusion将docx转换为pdf

coldfusion将docx转换为pdf,pdf,coldfusion,docx,docx4j,cfdocument,Pdf,Coldfusion,Docx,Docx4j,Cfdocument,我在一个项目中工作,我真的很想通过coldfusion将docx文件(放在服务器上)转换为pdf。服务器上安装了lucee。我尝试过很多,任何事情,但我希望有人知道答案。(我对coldfusion也是新手,所以这让它变得更难) 到目前为止,我尝试了什么? 我们已经使用了一个名为docx4j的插件来自动填写word文档并通过cf保存它们。这非常有效,因此该插件也可以正常工作。但如果我尝试运行以下代码: pdffile = createObject("java", "java.io.File

我在一个项目中工作,我真的很想通过coldfusion将docx文件(放在服务器上)转换为pdf。服务器上安装了lucee。我尝试过很多,任何事情,但我希望有人知道答案。(我对coldfusion也是新手,所以这让它变得更难)

到目前为止,我尝试了什么?

我们已经使用了一个名为docx4j的插件来自动填写word文档并通过cf保存它们。这非常有效,因此该插件也可以正常工作。但如果我尝试运行以下代码:

    pdffile = createObject("java", "java.io.File").init(Path_en_bestand_doel_pdf);
    os = null;
    document = createObject("java","org.docx4j.openpackaging.packages.WordprocessingMLPackage").load(createObject("java", "java.io.File").init(Path_en_bestand_oorsprong));
    Docx4J = createObject("java", "org.docx4j.Docx4J");
    fo = Docx4J.createFOSettings();
    fo.setFoDumpFile(createObject("java", "java.io.File").init(Path_en_bestand_oorsprong & ".fo"));
    fo.setWmlPackage(document);
    os = createObject("java", "java.io.FileOutputStream").init(pdffile);
    Docx4J.toFO(fo, os, Docx4J.FLAG_EXPORT_PREFER_XSL);
它给出了一个错误“异常导出包”。我已经尝试了我在网上找到的每一个例子的组合。我尝试了多个旧版本。但是没有运气。(最困难的部分是,除了java,没有人试图用javascript实现这一点)

所以在网上搜索之后,我还找到了coldfusion选项cfdocument。在文档中,应该可以将doc(我希望是docx)转换为pdf。这是我运行的代码

<cfdocument 
    format="pdf" 
    srcfile="#Path_en_bestand_oorsprong#" 
    filename="#Path_en_bestand_doel_pdf#"
    overwrite=true
    pagetype="a4"
    fontembed="true"></cfdocument>
在回答了下面给出的问题后,我发现了一个关于字体的新错误。(无法初始化类org.docx4j.fonts.microsoft.MicrosoftFontsRegistry)我将尝试一些操作,但这是全部错误:

Could not initialize class org.docx4j.fonts.microsoft.MicrosoftFontsRegistry
at org.docx4j.fonts.PhysicalFonts.getBoldForm(PhysicalFonts.java:480):480
at org.docx4j.fonts.Mapper.getBoldForm(Mapper.java:276):276
at org.docx4j.fonts.fop.util.FopConfigUtil.declareFonts(FopConfigUtil.java:138):138
at org.docx4j.fonts.fop.util.FopConfigUtil.createDefaultConfiguration(FopConfigUtil.java:88):88
at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.setupApacheFopConfiguration(FORendererApacheFOP.java:168):168
at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.render(FORendererApacheFOP.java:111):111
at org.docx4j.convert.out.fo.AbstractFOExporter.postprocess(AbstractFOExporter.java:139):139
at org.docx4j.convert.out.fo.AbstractFOExporter.postprocess(AbstractFOExporter.java:47):47
at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:82):82
at org.docx4j.Docx4J.toFO(Docx4J.java:466):466
at org.docx4j.convert.out.fo.FOPAreaTreeHelper.getAreaTreeViaFOP(FOPAreaTreeHelper.java:193):193
at org.docx4j.convert.out.fo.LayoutMasterSetBuilder.fixExtents(LayoutMasterSetBuilder.java:136):136
at org.docx4j.convert.out.fo.LayoutMasterSetBuilder.appendLayoutMasterSetFragment(LayoutMasterSetBuilder.java:178):178
at org.docx4j.convert.out.fo.FOExporterVisitorDelegate.appendDocumentHeader(FOExporterVisitorDelegate.java:50):50
at org.docx4j.convert.out.fo.FOExporterVisitorDelegate.appendDocumentHeader(FOExporterVisitorDelegate.java:34):34
at org.docx4j.convert.out.common.AbstractVisitorExporterDelegate.process(AbstractVisitorExporterDelegate.java:82):82
at org.docx4j.convert.out.common.AbstractWmlExporter.process(AbstractWmlExporter.java:63):63
at org.docx4j.convert.out.common.AbstractWmlExporter.process(AbstractWmlExporter.java:32):32
at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:79):79
at org.docx4j.Docx4J.toFO(Docx4J.java:466):466

ResourceUtils.getResource表示找不到XSLT文件。你可以试试Docx4J.FLAG\u EXPORT\u preference\u NON\u XSLHey,谢谢你的回答。我想你的意思是“标记、导出、首选、非XSL”。我想我一开始就试过了,但现在我又犯了一个错误!错误在于缺少字体。我将把全部错误放在原问题中。再次感谢!ResourceUtils.getResource表示找不到XSLT文件。你可以试试Docx4J.FLAG\u EXPORT\u preference\u NON\u XSLHey,谢谢你的回答。我想你的意思是“标记、导出、首选、非XSL”。我想我一开始就试过了,但现在我又犯了一个错误!错误在于缺少字体。我将把全部错误放在原问题中。再次感谢!
Could not initialize class org.docx4j.fonts.microsoft.MicrosoftFontsRegistry
at org.docx4j.fonts.PhysicalFonts.getBoldForm(PhysicalFonts.java:480):480
at org.docx4j.fonts.Mapper.getBoldForm(Mapper.java:276):276
at org.docx4j.fonts.fop.util.FopConfigUtil.declareFonts(FopConfigUtil.java:138):138
at org.docx4j.fonts.fop.util.FopConfigUtil.createDefaultConfiguration(FopConfigUtil.java:88):88
at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.setupApacheFopConfiguration(FORendererApacheFOP.java:168):168
at org.docx4j.convert.out.fo.renderers.FORendererApacheFOP.render(FORendererApacheFOP.java:111):111
at org.docx4j.convert.out.fo.AbstractFOExporter.postprocess(AbstractFOExporter.java:139):139
at org.docx4j.convert.out.fo.AbstractFOExporter.postprocess(AbstractFOExporter.java:47):47
at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:82):82
at org.docx4j.Docx4J.toFO(Docx4J.java:466):466
at org.docx4j.convert.out.fo.FOPAreaTreeHelper.getAreaTreeViaFOP(FOPAreaTreeHelper.java:193):193
at org.docx4j.convert.out.fo.LayoutMasterSetBuilder.fixExtents(LayoutMasterSetBuilder.java:136):136
at org.docx4j.convert.out.fo.LayoutMasterSetBuilder.appendLayoutMasterSetFragment(LayoutMasterSetBuilder.java:178):178
at org.docx4j.convert.out.fo.FOExporterVisitorDelegate.appendDocumentHeader(FOExporterVisitorDelegate.java:50):50
at org.docx4j.convert.out.fo.FOExporterVisitorDelegate.appendDocumentHeader(FOExporterVisitorDelegate.java:34):34
at org.docx4j.convert.out.common.AbstractVisitorExporterDelegate.process(AbstractVisitorExporterDelegate.java:82):82
at org.docx4j.convert.out.common.AbstractWmlExporter.process(AbstractWmlExporter.java:63):63
at org.docx4j.convert.out.common.AbstractWmlExporter.process(AbstractWmlExporter.java:32):32
at org.docx4j.convert.out.common.AbstractExporter.export(AbstractExporter.java:79):79
at org.docx4j.Docx4J.toFO(Docx4J.java:466):466