2016-08-26 12 views
-1

これらのメッセージはすべてDocx4j経由でPDFに変換されたファイルにあります。JavaFXでDocx4jメッセージを非表示にする

.viaXSLFO

fororg.docx4j.convert.out.pdfのlog4jデバッグレベルのログをオフに、これらのメッセージを非表示にするには、それを非表示にすることが可能ですか?私はスタック上でいくつかの解決策を見つけましたが、私のアプリケーションが単純なので、それは私を助けませんでした。私はこのコードを使って自分のアプリケーションに入れました。

long start = System.currentTimeMillis(); 

    // 1) Load DOCX into WordprocessingMLPackage 
File file = new File(sFiles.getAbsolutePath()); 

InputStream is = new FileInputStream(file); 
String name=file.getName(); 
String destination= file.getAbsolutePath(); 
String outDestination=file.getParent(); 
String fileType=FilenameUtils.getExtension(destination); 
     String name1=name.replaceAll(fileType, ""); 

WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage 
       .load(is); 

System.out.println(name); 
// 2) Prepare Pdf settings 
PdfSettings pdfSettings = new PdfSettings(); 

// 3) Convert WordprocessingMLPackage to Pdf 

wordName=outDestination+"\\"+name1+"pdf"; 
FileOutputStream out = new FileOutputStream(wordName); 
PdfConversion converter = new org.docx4j.convert.out.pdf.viaXSLFO.Conversion(
      wordMLPackage); 
converter.output(out, pdfSettings); 

System.err.println("Generate pdf/Resume.pdf with " 
      + (System.currentTimeMillis() - start) + "ms"); 

答えて

1

言い換えれば、log4jのデバッグレベルは、org.docx4j.convert.out.pdf .viaXSLFOのログに記録されます。言い換えれば、ロギングをレベルINFOまたはWARNに設定します。

「org.docx4j.convert.out.common.writer.AbstractMessageWriter」の代わりに、またはその代わりにそれを行う必要があるように思われます。https://github.com/plutext/docx4j/blob/master/src/samples/_resources/log4j.xml#L98から判断してください。

最近、docx4jはslf4jを使用しています。つまり、ログの実装としてlog4jを使用していると仮定します。その場合は、https://github.com/plutext/docx4j/blob/master/src/samples/_resources/log4j.xml

で構成できます。それ以外の場合は、選択したログ実装を使用してログを設定します。

+0

私は自分のプロジェクトにそのxmlを持っていません。私が表すクラスしかありません。私は本当に何をする必要があるのか​​分かりません:/このメッセージはどういう意味ですか?なぜここにいるのですか? -.- – MiOnIs

+0

viaXSLFOの実装を使用してPDFに変換できないコンテンツがある場合、警告メッセージが表示されます。メッセージがオフになっている場合、そのコンテンツは静かにドロップされます。 – JasonPlutext

関連する問題