HTML ページから Word 文書を作成したいと考えています。HTML ページで値を取得し、これらの値をドキュメント テンプレートに渡すことを計画しています。JSOUPを使用して HTML ページのコンテンツを解析し、Java プログラムで値を取得しました。これらの値を Word ドキュメント テンプレートに渡したいと思います。ドキュメント テンプレートを作成し、値をテンプレートに渡して単語ドキュメントを作成するために使用できる最適な手法を知りたいです。
ありがとうございました。
とても面白くてシンプルなものを見つけました。作成するドキュメント用の単純な .xml テンプレートを作成し、プログラムで xml ファイルの内容を変更して、それを ms word ドキュメントとして保存するだけです。
xml テンプレートとコードはこちらにあります。
xslt を使用することをお勧めします。これは、データが既に xml 形式であり、Microsoft から明確に定義された xml 形式があるためです。
Word でドキュメント テンプレートを作成し、それを xml 形式で保存できます。次に、html-xml を入力として word-xml を xsl-template に変換できます。xslt-transformation の後、html-xml からの動的な値を持つ有効な word-xml が得られます。
Excel の XSLT の例
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" />
<xsl:template match="/">
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
...
<xsl:for-each
select="/yourroot/person">
...
<Cell ss:StyleID="uf">
<Data ss:Type="String">
<xsl:value-of
select="@Name" />
</Data>
</Cell>
..
</xsl:for-each>
...
</xsl:template>
</xsl:stylesheet>
JODReportsとDocmosisも、テンプレートの入力と Doc の出力があるため、便利なオプションになる可能性があります。DOCX が実際のターゲットである場合は、XML が公開されているので、自分でドキュメントを書き出すことができますが、それは大変な作業です。