El complemento de transmisión PDF permite transformar una vista en una transmisión PDF y devolverla como resultado de la acción.
Vistas compatibles predeterminadas:
A partir de 2.0.0, HTML en la representación PDF es realizada por la biblioteca OpenHTMLTOPDF que utiliza el Apache PDFBox 2 para crear documentos PDF. Apache PDFBox 2 es una herramienta Java de código abierto para trabajar con documentos PDF y se publica bajo la licencia de Apache v2.0.
Actualizado para ser compatible con Apache Struts 2.5
Cambiado a Java 7
La aplicación Showcase se puede descargar desde el repositorio central de Maven.
Descargar struts2-pdfstream-showcase
¿Encontró un error o tiene una solicitud de función? Cree un nuevo problema o envíe una solicitud de extracción.
Si tiene preguntas sobre cómo usar struts2-pdfstream-plugin cree un nuevo problema o haga una pregunta en Stack Overflow.
Copie los siguientes frascos en su classpath (web-inf/lib):
Si está utilizando Maven, agregue esto a su proyecto POM:
<dependencies>
...
<dependency>
<groupId>com.amashchenko.struts2.pdfstream</groupId>
<artifactId>struts2-pdfstream-plugin</artifactId>
<version>2.0.0</version>
</dependency>
...
</dependencies>
Si tiene la intención de transformar la definición de los mosaicos Apache, se debe incluir el frasco adicional.
Para el soporte de mosaicos Apache, agregue el struts2-pdfstream-tiles .
<dependency>
<groupId>com.amashchenko.struts2.pdfstream</groupId>
<artifactId>struts2-pdfstream-tiles</artifactId>
<version>2.0.0</version>
</dependency>
pdfstream-default o agregue el tipo de resultado 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>
Este complemento se puede extender fácilmente para agregar soporte para transformar otras vistas (por ejemplo, velocidad) en PDF.
Implementar com.amashchenko.struts2.pdfstream.ViewRenderer interfaz.
Cree definición de frijoles en Struts.xml o en Struts-Plugin.xml con type="com.amashchenko.struts2.pdfstream.ViewRenderer" y nombre personalizado.
<bean type="com.amashchenko.struts2.pdfstream.ViewRenderer"
class="some.package.CustomRenderer" name="customrenderer" />
Use el resultado pdfstream con el parámetro renderer establecido al nombre del frijol que ha definido.
<action name="customToPdf">
<result type="pdfstream">
<param name="location">example</param>
<param name="renderer">customrenderer</param>
</result>
</action>