当我在项目中导入docx4j库后出现此错误时,我正在构建我的android项目.我该怎么做才能摆脱这种异常.
错误:任务':app:dexDebug'的执行失败.> com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'命令'/ usr/lib/jvm/java-7-openjdk-amd64/bin/java''用非结束 - 零退出值2
您认为哪个更好用于将docx文档作为java对象读取?为什么?
换一种说法.哪个库支持大多数单词标签?
我刚刚在docx4j 2.8.1 的VariableReplace示例中遵循No 2方法,它所做的一切就是删除变量标记$ {}.
我做的步骤:
我只期望'TEST',并且在输出文档中没有标记的情况下获得'变量'.
docx4j的"入门"文档包含将docx写入pdf的示例代码:
// Set up converter
org.docx4j.convert.out.pdf.PdfConversion c =
new org.docx4j.convert.out.pdf.viaXSLFO.Conversion(wordMLPackage);
Run Code Online (Sandbox Code Playgroud)
但是,从docx4j 3.0开始,整个PdfConversion工具似乎已被弃用,但没有通知现在如何执行转换.那么使用docx4j 3.0将docx转换为pdf的非弃用方法是什么?
我目前尝试在WebLogic Server 12c中运行Docx4j.WebLogic Server 12c随EclipseLink 2.3.2一起提供.
有一个类似的帖子描述了情况,遗憾的是没有答案.
Docx4j不适用于EclipseLink 2.3.2中的JAXB(MOXy)实现.我使用EclipseLink 2.5让Docx4j独立运行.所以我非常有信心将EclipseLink 2.5与Weblogic Server 12c一起使用将解决Docx4j的问题.
如何使用EclipseLink Version 2.5替换运行WebLogic Server 12c的EclipseLink Vesion 2.3.2?
使用docx4j解析某些XSL XML文件时,我不断收到此错误:
'元素类型"img"必须由匹配的结束标记终止
"</img>".Docx4JException中的异常错误'
我已经尝试了各种各样的组合来解决这个问题,但除了在img标签之间添加一些文本之外似乎没什么用处.我不希望文本显示.还有什么可以做的吗?
这是导致错误的xsl片段:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:prettyprint="http://xml.apache.org/xslt" xmlns:xalan="http://xml.apache.org/xalan" version="1.0">
<xsl:output method="html" />
<!-- Main entry template -->
<xsl:template match="Email">
<html>
<body>
<img width="100" height="100" src="http://thumbs.dreamstime.com/x/sun-logo-6350903.jpg" border="0" class="MyImage" />
<div style="font-family:Verdana, Arial; font-size:9.5pt; font-weight:normal">
<xsl:variable name="PTPTotalAmt" select="Issue_PTPTotalAmount_C" />
<xsl:variable name="LetterDate" select="LetterDate" />
<xsl:variable name="LtrDate" select="substring($LetterDate, 1, 11)" />
<br>
<xsl:text />
</br>
<xsl:value-of select="Contact_Title_R" />
<xsl:text />
<xsl:value-of select="Contact_LastName_X" />
<br>
<xsl:text />
</br>
<xsl:value-of select="Contact_DispAddrLine1_X" />
<br>
<xsl:text />
</br>
<xsl:value-of select="Contact_DispAddrLine3_X" …Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用示例FieldMailMerge和VariableReplace, 但似乎无法运行本地测试用例.我基本上试图从一个docx模板文档开始,让它从一个模板创建x docx文档,并替换变量.
在下面的代码中docx4jReplaceSimpleTest()尝试替换单个变量但未能这样做.模板文件中的$ {}值将作为处理的一部分被删除,因此我相信它正在找到它们但不会因某些原因替换它们.我理解这可能是由于格式化,如示例代码的注释中所解释的那样,但为了解决问题只是为了使某些工作正在进行中我正在尝试它.
在下面的代码中docx4jReplaceTwoPeopleTest(),我想要工作的那个,我试图用我认为正确的方式来做,但那不是找到或替换任何东西.它甚至没有从docx文件中删除$ {}.
public static void main(String[] args) throws Exception
{
docx4jReplaceTwoPeopleTest();
docx4jReplaceSimpleTest();
}
private static void docx4jReplaceTwoPeopleTest() throws Exception
{
String docxFile = "C:/temp/template.docx";
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(docxFile));
List<Map<DataFieldName, String>> data = new ArrayList<Map<DataFieldName, String>>();
Map<DataFieldName, String> map1 = new HashMap<DataFieldName, String>();
map1.put(new DataFieldName("Person.Firstname"), "myFirstname");
map1.put(new DataFieldName("Person.Lastname"), "myLastname");
data.add(map1);
Map<DataFieldName, String> map2 = new HashMap<DataFieldName, String>();
map2.put(new DataFieldName("Person.Firstname"), "myFriendsFirstname");
map2.put(new DataFieldName("Person.Lastname"), "myFriendsLastname");
data.add(map2);
org.docx4j.model.fields.merge.MailMerger.setMERGEFIELDInOutput(OutputField.KEEP_MERGEFIELD);
int x=0;
for(Map<DataFieldName, …Run Code Online (Sandbox Code Playgroud) 我有一段文字,我想在文件的中心出现.我怎么能在docx4j中这样做?我目前正在使用:
PPr paragraphProperties = factory.createPPr();
//creating the alignment
TextAlignment align = new TextAlignment();
align.setVal("center");
paragraphProperties.setTextAlignment(align);
//centering the paragraph
paragraph.setPPr(paragraphProperties);
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我有一个表,我需要向其中添加多行,而不是您在图像中看到的变量。我正在使用 docx4j。
我改变这样的变量:
HashMap mappings = new HashMap();
VariablePrepare.prepare(template);
mappings.put("example", "example");
template.getMainDocumentPart().variableReplace(mappings);
Run Code Online (Sandbox Code Playgroud) 我能够使用 docx4j ( http://www.docx4java.org )成功创建一个简单的项目。这个简单的项目成功地创建并写入了 .docx 文档。现在我试图在一个更大的项目中完成同样的事情。这个更大的项目是一个在 JBoss AS 7.1 中运行的 web 应用程序。但是,在我的第一个与 docx4j 相关的代码行中:
WordprocessingMLPackage wmlp = WordprocessingMLPackage.createPackage();
Run Code Online (Sandbox Code Playgroud)
它遇到了一个错误:
java.lang.NoClassDefFoundError: Could not initialize class org.docx4j.jaxb.Context
at org.docx4j.openpackaging.parts.JaxbXmlPart.<init>(JaxbXmlPart.java:79) [docx4j-2.8.1.jar:]
at org.docx4j.openpackaging.parts.JaxbXmlPartXPathAware.<init>(JaxbXmlPartXPathAware.java:64) [docx4j-2.8.1.jar:]
at org.docx4j.openpackaging.parts.WordprocessingML.DocumentPart.<init>(DocumentPart.java:157) [docx4j-2.8.1.jar:]
at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.<init>(MainDocumentPart.java:76) [docx4j-2.8.1.jar:]
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage(WordprocessingMLPackage.java:432) [docx4j-2.8.1.jar:]
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.createPackage(WordprocessingMLPackage.java:421) [docx4j-2.8.1.jar:]
at foo.servlets.bar.DocxServlet.doGet(DocxServlet.java:101) [classes:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at foo.includes.other.ServletNameSetFilter.doFilter(ServletNameSetFilter.java:83) [fooClasses.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at foo.includes.other.HtmlEscapeFilter.doFilter(HtmlEscapeFilter.java:67) [fooClasses.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at foo.includes.other.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:64) [fooClasses.jar:] …Run Code Online (Sandbox Code Playgroud) docx4j ×10
java ×4
docx ×2
android ×1
apache-poi ×1
eclipselink ×1
jboss7.x ×1
moxy ×1
openxml ×1
pdf ×1
weblogic12c ×1
xml ×1
xslt ×1
xslt-1.0 ×1