【问题标题】:How do I add a PDF view to my Spring MVC (3) web app?如何将 PDF 视图添加到我的 Spring MVC (3) Web 应用程序?
【发布时间】:2012-03-28 20:14:55
【问题描述】:

我有一个使用 JSP/JSTL 生成报告的 Spring MVC webapp。客户现在要求我生成一个指向 PDF 版本报告的链接,其布局会略有不同(例如,失去分页、导航等)。

在我的 servlet 上下文中,我有:

<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
  <property name="mediaTypes">
    <map>
      <entry key="pdf" value="application/pdf"/>
      <entry key="html" value="text/html"/>
      <entry key="json" value="application/json"/>
    </map>
  </property>
  <property name="viewResolvers">
    <list>
      <bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
      <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
      </bean>
    </list>
  </property>
</bean>

取自某处的教程。这似乎可以作为我的旧视图解析器工作,因为带有或不带有 .html 的 GET 由我的 reportController(注释请求路径映射)处理并传递给 JSP 并正确呈现。 ReportController 方法返回解析为 JSP 的字符串。

不知何故,我必须设置一个 PDF 视图,我可以自定义其布局,可能使用 CSS 或 XSLT。

所以现在对 reports/basic/ 或 reports/basic.html 的 GET 请求将返回 JSP 渲染,我需要能够执行 GET 请求以获取有关报告/basic.pdf 等 URL 的 PDF

【问题讨论】:

    标签: java spring model-view-controller pdf view


    【解决方案1】:

    PDF 的创建超出了 Spring 本身的范围。

    您应该看看这个堆栈溢出问题:Using itext to convert HTML to PDF。它讨论了如何从 HTML 页面创建 PDF,例如使用 IText、Pd4mL。

    here 讨论了另一种方式。它基于 XSTL。

    当然,您可以将您的解决方案集成到您的 Spring 应用程序中,但 Spring 不会为您提供太多额外的支持。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-13
      • 1970-01-01
      • 1970-01-01
      • 2021-04-24
      • 2019-05-24
      • 1970-01-01
      相关资源
      最近更新 更多