首页 新闻 会员 周边 捐助

将页面内容保存至PDF

0
悬赏园豆:10 [已解决问题] 解决于 2019-09-11 15:11

现在有这样一个需求,将页面的内容保存到PDF,页面的内容有单个的字段,也有列表,列表中有很多单元格是合并的,就是将这样的一个页面保存成PDF的文件,在C#中怎样实现呢??

gyangjing的主页 gyangjing | 初学一级 | 园豆:4
提问于:2017-08-08 21:32
< >
分享
最佳答案
0

1.js调用打印 window.print()  会打印整个页面,最好将要打印的内容显示在一个单独用来打印的页面

2.可以使用page-break-after这个css属性控制pdf的打印

3.保存的时候选择另存为pdf即可

收获园豆:10
又是没有bug的一天 | 初学一级 |园豆:149 | 2017-08-08 23:34

你的这种方法有demo吗?最近也要做生成pdf,想参考一下。

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-08-09 14:44

@让我发会呆:  其实很简单啊,我之前是用作财务电子账册的打印,很复杂的。如果你要的话,我可以发给你

又是没有bug的一天 | 园豆:149 (初学一级) | 2017-08-09 15:03

@waitforjuan: 我之前看了怎么去生成pdf,用的是itextpdf,但是它其实需要使用者自己去一点一点组装pdf,就像把一个页面的内容导出成pdf,现在是能是根据前台的数据,在后台一点一点自己去定义一个pdf样式,一直觉得很麻烦,但是也没有找到更简洁的方法。不知道你的这种方式,会不会比较easy一点?

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-08-09 15:38

@waitforjuan: 要不您发一份demo给我吧,我挺感兴趣的,如果代码太多,你也可以文件发我邮箱(2416175338@qq.com),谢谢了,麻烦您了。

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-08-09 16:58

@让我发会呆: 会的  用HTML转pdf 很快的,而且复杂的样式,比如合并单元格等等,使用iTestSharp来实现都是比较复杂的,我之前使用iTextSharp但是发现,没有html直接转PDF简单方便快捷。

又是没有bug的一天 | 园豆:149 (初学一级) | 2017-08-10 09:32

@让我发会呆: 不好意思,之前没看到你的回复,刚刚已经把Demo发送到你的邮箱,有不足之处,望指正!

又是没有bug的一天 | 园豆:149 (初学一级) | 2017-08-10 09:33

@waitforjuan: 十分感谢,我学习学习。

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-08-10 10:16

@waitforjuan: 把你的这个Demo也发我邮箱呗,我也来研究研究,邮箱:gyangjing@163.com,谢谢了!!

gyangjing | 园豆:4 (初学一级) | 2017-08-11 10:20

@waitforjuan: 麻烦你也把这个Demo发我一份呗,邮箱是:gyangjing@163.com,谢谢!

gyangjing | 园豆:4 (初学一级) | 2018-02-27 17:14
其他回答(3)
0

是不是可以先保存成图片,再转pdf呢。

青语 | 园豆:1000 (小虾三级) | 2017-08-09 09:08

使用网页自带的打印功能转成pdf很简单又快的,所见即所得

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-08-09 15:04

@waitforjuan: 这样是可以的,但是这样会把页面上所有的东西都会生成到PDF中去,比如导出的按钮,并且页面上的列表会有横向的滚动条,隐藏的内容就无法现在在PDF中去了

支持(0) 反对(0) gyangjing | 园豆:4 (初学一级) | 2017-08-11 10:17
0

1L  说的对. 调用print方法即可. 我也用过这个.可以打印和生成pdf

筱浬 | 园豆:601 (小虾三级) | 2017-08-09 11:45
0

有个用具叫 html2pdf,可以在C#调用,直接生产pdf,简单方便,里面还有参数可调

jqw2009 | 园豆:2341 (老鸟四级) | 2017-09-07 11:05

你有这样的例子么,给我一份,我学习学习!谢谢,如果有的话发我邮箱:gyangjing@163.com

支持(0) 反对(0) gyangjing | 园豆:4 (初学一级) | 2018-02-27 17:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册