请问怎么用java代码实现vue页面的pdf导出?

最近公司有个项目,前端代码是别人写好的,需要完成导出为pdf功能,前端内容是包括分析图表在内的数据库数据展示,用vue写的,我要怎么用代码实现pdf预览和导出,在网上找了几个例子,要么是freemarker用html制作ftl模板导出,因为是vue写的,我没法获得html代码,要么是编辑form表单导出,form表单方式似乎只适用于单张表单形式,不适用于数据库整体数据展示。请问怎么用java代码实现vue页面的pdf导出?需要一个demo

vue也是有导出PDF的功能的,既然你拿不到人家的东西,那就前端导出

就拿我最近做的银行项目,有个打印功能,我先简单说一下思路,前端可以处理,后端也可以处理,原理一样都是转base64,在Vue中一般会在代码中写预览或者分页,内容渲染是写在html中,html获取到vue中分割的数据即可,谷歌浏览器会把html转成pdf可以导出,也可以转图片或者盖章再打印。总体是这样,希望对你有帮助!

我有个很好的点子。


既然前端部分实现了全部功能,你java不需要实现,你只需要把它包裹下即可!

比如用iframe。

https://www.cnblogs.com/gaofz/p/11081605.html

不知道这个你能不能用

这个只能前端做
加个按钮

 <el-button type="primary" v-print="printObj">打 印</el-button>

data里面

printObj: {
        id: "demo",    // 这里是要打印元素的ID
        popTitle: '',  // 打印的标题
        extraCss: '',  // 打印可引入外部的一个 css 文件
        extraHead: ""  // 打印头部文字
      }

直接用打印的方法,打印里面有个导出pdf

可以使用freemarker自己查询数据库信息,生成pdf文件,供前台下载!
使用到的依赖如下:

<dependency>
            <groupId>org.freemarker</groupId>
            <artifactId>freemarker</artifactId>
            <version>2.3.26-incubating</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>20.0</version>
        </dependency>

vue写的最后编译后也是html和js,只要找到那个页面的根节点,就可以按你后端的方式来处理

你这个肯定要在前端解决的,因为有一些图表啊,不光只是用后端代码取数据那么简单,这篇文章你可以了解一些,感觉能帮到你 https://blog.csdn.net/pratise/article/details/79249943

可以看看有没有什么插件,可以结合进行导出。

可以把vue转成html,转pdf还要用wkhtmltopdf。还有个方式,就是用ftl模板

查看一下浏览器应该内置了相关的api,查找相关文档试试

Vue页面上实现PDF导出
下载包 npm i vue-to-pdf --save
在main.js/App.js中加入引用:
import vueToPdf from 'vue-to-pdf';
Vue.use(vueToPdf);

你是想用java直接生成pdf然后提供给前段下载么?如果是这样的话,可以了解下这个

    <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf -->
    <dependency>
      <groupId>com.itextpdf</groupId>
      <artifactId>itextpdf</artifactId>
      <version>5.5.13</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.itextpdf/itext-asian -->
    <dependency>
      <groupId>com.itextpdf</groupId>
      <artifactId>itext-asian</artifactId>
      <version>5.2.0</version>
    </dependency>

就是个java用的pfd编辑器,就是手动创建pdf文件,用代码往上面写东西,可以使用模板也可以纯手写,效果不错,就是写起来有点恶心,哈哈哈

如果是把数据导出后端做没有问题,如果是把前端的图表导出那只能前端来做了。
http://download.csdn.net/download/weixin_38612304/12923989?spm=1005.2026.3001.5635&utm_medium=distribute.pc_relevant_ask_down.none-task-download-2~default~OPENSEARCH~default-4.pc_feed_download_top3ask&depth_1-utm_source=distribute.pc_relevant_ask_down.none-task-download-2~default~OPENSEARCH~default-4.pc_feed_download_top3ask