Плагин PDF Stream позволяет преобразовать представление в PDF -поток и вернуть его в результате действия.
Поддерживаемые представления по умолчанию:
Начиная с 2.0.0, HTML в PDF -рендеринг осуществляется библиотекой OpenHTMLTOPDF, которая использует Apache PDFBox 2 для создания PDF -документов. Apache Pdfbox 2 - это инструмент Java с открытым исходным кодом для работы с документами PDF, и он опубликован в соответствии с лицензией Apache v2.0.
Модернизировано, чтобы быть совместимым с Apache Struts 2.5
Переключен на Java 7
Приложение Showcase можно загрузить из центрального репозитория Maven.
Скачать Struts2-Pdfstream-Showcase
Нашел ошибку или есть запрос на функцию? Создайте новую проблему или отправьте запрос на привлечение.
Если у вас есть вопросы о том, как использовать struts2-pdfstream-plugin создайте новую проблему или задайте вопрос о переполнении стека.
Скопируйте следующие банки в вашем классе (Web-Inf/LIB):
Если вы используете Maven, добавьте это в свой Project POM:
<dependencies>
...
<dependency>
<groupId>com.amashchenko.struts2.pdfstream</groupId>
<artifactId>struts2-pdfstream-plugin</artifactId>
<version>2.0.0</version>
</dependency>
...
</dependencies>
Если вы намереваетесь преобразовать определение плиток Apache, должна быть включена дополнительная JAR.
Для поддержки Apache Tiles добавьте struts2-pdfstream-tiles .
<dependency>
<groupId>com.amashchenko.struts2.pdfstream</groupId>
<artifactId>struts2-pdfstream-tiles</artifactId>
<version>2.0.0</version>
</dependency>
pdfstream-default Package или добавьте тип результата 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 .
Создайте определение бобов в struts.xml или в struts-plugin.xml с type="com.amashchenko.struts2.pdfstream.ViewRenderer" и пользовательское имя.
<bean type="com.amashchenko.struts2.pdfstream.ViewRenderer"
class="some.package.CustomRenderer" name="customrenderer" />
Используйте результат pdfstream с параметром renderer , установленным на имя определенного вами боба.
<action name="customToPdf">
<result type="pdfstream">
<param name="location">example</param>
<param name="renderer">customrenderer</param>
</result>
</action>