Le plugin de flux PDF permet de transformer une vue en flux PDF et de le renvoyer en raison de l'action.
Vues prises en charge par défaut:
À partir de 2.0.0, HTML dans le rendu PDF est effectué par la bibliothèque OpenHTMLTOPDF qui utilise l'APACHE PDFBOX 2 pour créer des documents PDF. Apache PDFBox 2 est un outil Java open source pour travailler avec des documents PDF et il est publié sous la licence Apache v2.0.
Amélioré pour être compatible avec Apache Struts 2.5
Changé de Java 7
L'application de vitrine peut être téléchargée à partir du référentiel Maven Central.
Télécharger Struts2-pdfstream-showcase
Vous avez trouvé un bug ou avez une demande de fonctionnalité? Créez un nouveau problème ou soumettez une demande de traction.
Si vous avez des questions sur la façon d'utiliser struts2-pdfstream-plugin créez un nouveau problème ou posez une question sur le débordement de pile.
Copiez les pots suivants dans votre CLASSPATH (Web-Inf / Lib):
Si vous utilisez Maven, ajoutez ceci à votre projet POM:
<dependencies>
...
<dependency>
<groupId>com.amashchenko.struts2.pdfstream</groupId>
<artifactId>struts2-pdfstream-plugin</artifactId>
<version>2.0.0</version>
</dependency>
...
</dependencies>
Si vous avez l'intention de transformer Apache Tiles Definition, un pot supplémentaire doit être inclus.
Pour la prise en charge des tuiles Apache, ajoutez les struts2-pdfstream-tiles .
<dependency>
<groupId>com.amashchenko.struts2.pdfstream</groupId>
<artifactId>struts2-pdfstream-tiles</artifactId>
<version>2.0.0</version>
</dependency>
pdfstream-default ou ajoutez le type de résultat 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>
Ce plugin peut être facilement étendu afin d'ajouter la prise en charge de la transformation d'autres vues (par exemple, la vitesse) en PDF.
Implémentez com.amashchenko.struts2.pdfstream.ViewRenderer .
Créer une définition de bean dans strut.xml ou dans struts-lugin.xml avec type="com.amashchenko.struts2.pdfstream.ViewRenderer" et nom personnalisé.
<bean type="com.amashchenko.struts2.pdfstream.ViewRenderer"
class="some.package.CustomRenderer" name="customrenderer" />
Utilisez le résultat pdfstream avec le paramètre renderer défini sur le nom du bean que vous avez défini.
<action name="customToPdf">
<result type="pdfstream">
<param name="location">example</param>
<param name="renderer">customrenderer</param>
</result>
</action>