PDFストリームプラグインを使用すると、ビューをPDFストリームに変換し、アクションの結果として返すことができます。
デフォルトのサポートビュー:
2.0.0からPDFレンダリングへのHTMLは、Apache PDFBox 2を使用してPDFドキュメントを作成するOpenHTMLTOPDFライブラリによって行われます。 Apache PDFBox 2は、PDFドキュメントを操作するためのオープンソースJavaツールであり、Apacheライセンスv2.0で公開されています。
Apache Struts 2.5と互換性があるようにアップグレードされました
Java 7に切り替えました
Showcaseアプリケーションは、Maven Central Repositoryからダウンロードできます。
struts2-pdfstream-showcaseをダウンロードします
バグを見つけたのですか、それとも機能リクエストがありますか?新しい問題を作成するか、プルリクエストを送信します。
struts2-pdfstream-plugin使用方法について質問がある場合は、新しい問題を作成するか、スタックオーバーフローについて質問してください。
次の瓶をクラスパス(Web-INF/LIB)にコピーします。
Mavenを使用している場合は、これをプロジェクトPOMに追加します。
<dependencies>
...
<dependency>
<groupId>com.amashchenko.struts2.pdfstream</groupId>
<artifactId>struts2-pdfstream-plugin</artifactId>
<version>2.0.0</version>
</dependency>
...
</dependencies>
Apache Tilesの定義を変換する場合は、追加の瓶を含める必要があります。
Apacheタイルのサポートにはstruts2-pdfstream-tiles追加します。
<dependency>
<groupId>com.amashchenko.struts2.pdfstream</groupId>
<artifactId>struts2-pdfstream-tiles</artifactId>
<version>2.0.0</version>
</dependency>
pdfstream-defaultパッケージを拡張するか、 pdfstream結果タイプを追加します。pdfstream結果タイプを使用します。 <action name="jspToPdf">
<result type="pdfstream">
<param name="location">/WEB-INF/pages/example.jsp</param>
<param name="cssPaths">css/bootstrap.min.css, css/style.css</param>
<param name="contentDisposition">attachment;filename=jsppdf.pdf</param>
</result>
</action>
<action name="htmlToPdf">
<result type="pdfstream">
<param name="location">/WEB-INF/pages/example.html</param>
<param name="cssPaths">css/bootstrap.min.css, css/style.css</param>
<param name="contentDisposition">attachment;filename=htmlpdf.pdf</param>
</result>
</action>
<action name="tilesToPdf">
<result type="pdfstream">
<param name="location">example</param>
<param name="renderer">tiles</param>
<param name="contentDisposition">attachment;filename=tilespdf.pdf</param>
</result>
</action>
<action name="freemarkerToPdf">
<result type="pdfstream">
<param name="location">/WEB-INF/ftl/example.ftl</param>
<param name="renderer">freemarker</param>
<param name="cssPaths">css/bootstrap.min.css, css/style.css</param>
<param name="contentDisposition">attachment;filename=ftlpdf.pdf</param>
</result>
</action>
このプラグインは、他のビュー(速度など)をPDFに変換するためのサポートを追加するために簡単に拡張できます。
com.amashchenko.struts2.pdfstream.ViewRendererインターフェイスを実装します。
type="com.amashchenko.struts2.pdfstream.ViewRenderer"およびカスタム名でstruts.xmlまたはstruts-plugin.xmlでBean定義を作成します。
<bean type="com.amashchenko.struts2.pdfstream.ViewRenderer"
class="some.package.CustomRenderer" name="customrenderer" />
定義した豆の名前に設定されたrendererパラメーターでpdfstream結果を使用します。
<action name="customToPdf">
<result type="pdfstream">
<param name="location">example</param>
<param name="renderer">customrenderer</param>
</result>
</action>