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> </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> </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の以外の任意のアプリケーションで見ることができません。
質問ごとに1つの問題に固執すると答えが出る可能性が最も高いです。フォローアップの質問がある場合は、新しい質問を投稿してください。 – JasonPlutext