2017-01-11 2 views
0

docx4j 3.3.1を使用してhtmlから文書を生成しようとしています。私は問題の下で直面しているこれらのいくつかの1つ私を助けることができますか?doc4jを使用してhtmlからdocに変換中に画像のサイズを変更できません

HTMLコード:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" lang="en"> 
 
<head> 
 
<title>MonthlyReport</title> 
 
<style> 
 
        table 
 
        { 
 
        border:double #000; 
 
        table-layout: fixed; 
 
        vertical-align: top; 
 
        border-collapse: collapse; 
 
        width: 7.25in; 
 
        
 
        } 
 
        .main-title 
 
        { 
 
        margin-top:25%; 
 
        font-size:48pt; 
 
        font-family:Century Gothic; 
 
        color:#2F5897; 
 
        text-align:center; 
 
        font-weight:300; 
 
        } 
 
        .year 
 
        { 
 
        padding-top:10%; 
 
        text-align:center; 
 
        font-size:18px; 
 
        
 
        } 
 
        .other-detail 
 
        { 
 
        padding-top:10%; 
 
        padding-bottom:10%; 
 
        font-weight:bold; 
 
        text-align:center; 
 
        font-size:18px; 
 
        } 
 
        .cont 
 
        { 
 
        font-family:Palatino Linotype; 
 
        margin:0 auto; 
 
        margin-top:10px; 
 
        } 
 
        .cont-table 
 
        { 
 
        border:double #000; 
 
        table-layout: fixed; 
 
        vertical-align: top; 
 
        border-collapse: collapse; 
 
        width: 7.25in; 
 
        } 
 
        .cont h1 
 
        { 
 
        font-family:Century Gothic; 
 
        color:#2F5897; 
 
        font-weight:400; 
 
        margin-left:.15in; 
 
        } 
 
        .cont h4 
 
        { 
 
        font-family:Century Gothic; 
 
        font-weight:400; 
 
        margin-left:.15in; 
 
        } 
 
        .cont .school-detail 
 
        { 
 
        margin-left:.1in; 
 
        margin-right:.1in; 
 
        } 
 
        .cont ol 
 
        { 
 
        margin-left:1in; 
 
        margin-right:1in; 
 
        } 
 
        .cont li 
 
        { 
 
        margin-bottom:.25in; 
 
        } 
 
        .cont-heading 
 
        { 
 
        margin-left:.5in; 
 
        font-weight:bold; 
 
        text-decoration:underline; 
 
        margin-top:.35in; 
 
        
 
        } 
 
        span 
 
        { 
 
        display:block; 
 
        padding-bottom:10px; 
 
        } 
 
        .rheight 
 
        { 
 
        height: 3.6in; 
 
        } 
 
        img 
 
        { 
 
        width:100%; 
 
        } 
 
        .img-table 
 
        { 
 
         width:5in; 
 
        } 
 
        .img-table td 
 
        { 
 
         width:5in; 
 
        } 
 
        .cont-img 
 
        { 
 
        width:4in; 
 
        } 
 
       </style> 
 
</head> 
 
<body> 
 
<table align="center" cellspacing="0" cellpadding="0"> 
 
<tr class="rheight"> 
 
<td> &nbsp; </td> 
 
</tr> 
 
<tr> 
 
<td> 
 
<div class="main-title"> Monthly report </div> 
 
</td> 
 
</tr> 
 
<tr> 
 
<td> 
 
<div class="year"> 2016-2017 </div> 
 
</td> 
 
</tr> 
 
<tr> 
 
<td> 
 
<div class="other-detail">MONTH: January<br /> 
 
      CITY: TEST_CITY<br /> FACILITATOR: 
 
      TEST_PERSON<br /> 
 
</div> 
 
</td> 
 
</tr> 
 
<tr class="rheight"> 
 
<td> &nbsp; </td> 
 
</tr> 
 
</table> 
 
<table class="cont-table" align="center" cellspacing="0" cellpadding="0"> 
 
<tr> 
 
<td> 
 
<div class="cont"> 
 
<h1>Monthly Report</h1> 
 
<h4>2016-2017</h4> 
 
<br /> 
 
<p class="school-detail"> 
 
<p class="cont-heading">TEST SCHOOL</p> 
 
<ol> 
 
<li> 
 
<strong>Test Question</strong> 
 
<br />TEST_ANSWER</li> 
 
</ol> 
 
<p>Photos</p> 
 
<table class="img-table" cellspacing="0" cellpadding="0"> 
 
<tr> 
 
<td> 
 
<img class="cont-img" src="C:\CodeBase\SampleProjects\fmstest\fms\TESTIMAGE.jpg" alt="TESTIMAGE.jpg" /> 
 
</td> 
 
</tr> 
 
</table> 
 
</p> 
 
</div> 
 
</td> 
 
</tr> 
 
</table> 
 
</body> 
 
</html>

問題1: 私は、HTMLのスタイルで画像を使用する場合、私は適切な文書スタイルを取得するが、午前文書化するために、任意の画像なしでHTMLを変換するには完全に変更されました。 コードが

`プライベートの静的な無効documentGenerator(文字列のHTMLファイルのファイル)Docx4JException、持つJAXBExceptionをスロー{// ワープロパッケージ WordprocessingMLPackage wordMLPackage = getWordMLPackage()の下に与えられています。 NumberingDefinitionsPart ndp = new NumberingDefinitionsPart(); wordMLPackage.getMainDocumentPart()。addTargetPart(ndp); ndp.unmarshalDefaultNumbering();

//Saving the Document 
wordMLPackage.getMainDocumentPart().addAltChunk(AltChunkType.Xhtml, html.getBytes()); 
wordMLPackage.save(file); 

} `

問題2: XHTMLImporterImplドキュメントの使用について二回同じ内容で生成され、スタイルが適切ではありませんされています。 コードprivate static void documentGenerator(String html, File file) throws Docx4JException, JAXBException { //Word Processing Package WordprocessingMLPackage wordMLPackage = getWordMLPackage(); NumberingDefinitionsPart ndp = new NumberingDefinitionsPart(); wordMLPackage.getMainDocumentPart().addTargetPart(ndp); ndp.unmarshalDefaultNumbering(); // Convert the XHTML, and add it into the empty docx we made XHTMLImporterImpl XHTMLImporter = new XHTMLImporterImpl(wordMLPackage); XHTMLImporter.setHyperlinkStyle("Hyperlink"); String baseurl = file.getPath(); baseurl = baseurl.substring(0, baseurl.lastIndexOf("\\")); wordMLPackage.getMainDocumentPart().getContent().addAll(XHTMLImporter.convert(html, baseurl)); //Saving the Document wordMLPackage.getMainDocumentPart().addAltChunk(AltChunkType.Xhtml, html.getBytes()); wordMLPackage.save(file); }

発行3の下に与えられる:
生成された文書は、MS Wordの以外の任意のアプリケーションで見ることができません。

+0

質問ごとに1つの問題に固執すると答えが出る可能性が最も高いです。フォローアップの質問がある場合は、新しい質問を投稿してください。 – JasonPlutext

答えて

0

問題点1:addAltChunkはaltChunk(別名AlternativeFormatInput部分)を追加するだけで、docxを保存するだけでWordを使用してコンテンツを変換するため、Word固有の動作になります。

問題2について:あなたはXHTMLImporter.convertとaddAltChunkの両方を行っているので、重複したコンテンツを取得しています。

+0

Issue2は解決されましたありがとうございます。 Issue1のur答えを少し簡単に説明することは可能ですか? – mpmanikandann

関連する問題