找回密码
 立即注册

QQ登录

只需一步,快速开始

rickjelly2004

初级会员

16

主题

48

帖子

466

积分

初级会员

积分
466
rickjelly2004
初级会员   /  发表于:2016-10-9 19:48  /   查看:3721  /  回复:7
SPREAD8.0能否导出PDF文件或者流

.如果可以,请给个sample

7 个回复

倒序浏览
Alice
社区贡献组   /  发表于:2016-10-10 14:12:27
沙发
谢谢您的反馈。
支持。
通过spread设计器可以支持导出成PDF文件。
或是通过代码调用SprintSheet方法,详细的代码可以参考我们的产品文档:
http://sphelp.grapecity.com/WebH ... spwin-printPDF.html
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
rickjelly2004
初级会员   /  发表于:2016-10-18 16:51:52
板凳
本帖最后由 rickjelly2004 于 2016-10-18 17:11 编辑
Alice 发表于 2016-10-10 14:12
谢谢您的反馈。
支持。
通过spread设计器可以支持导出成PDF文件。

目前有个问题:
FpSpread1.PrintSheet(0) 执行完,不等页面某个按钮执行完,他的pdf文件是不生成的,如何能够在FpSpread1.PrintSheet(0) 后,就要得到文件(后面还要对文件操作)
另外,如果不希望生成文件,直接PdfWriteTO=stream的话,如何得到这个流
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-19 09:42:05
地板
我也测试了一下,按照这种直接的方式获取不到流,建议您先保存成pdf文件然后读取。具体原因需要调查一下。
回复 使用道具 举报
rickjelly2004
初级会员   /  发表于:2016-10-19 10:09:49
5#
dexteryao 发表于 2016-10-19 09:42
我也测试了一下,按照这种直接的方式获取不到流,建议您先保存成pdf文件然后读取。具体原因需要调查一下。

谢谢。问题是,现在 我们也是采用 文件方式,但是 如下代码
Private Sub btnPurchaseRequest_Click(sender As Object, e As EventArgs) Handles btnPurchaseRequest.Click

Dim fileNamePdf = tGuid.NewGuid().ToString + ".pdf"
Dim Spread As New FarPoint.Win.Spread.FpSpread
Spread.Sheets.Add(。。。)
Spread.Sheets.Add(。。。)

Dim printset As New FarPoint.Win.Spread.PrintInfo()
printset.PrintToPdf = True
printset.BestFitWithSpan = True
printset.PdfWriteMode = FarPoint.Win.Spread.PdfWriteMode.New

printset.PdfFileName = fileNamePdf
Spread.Sheets(0).PrintInfo = printset
Spread.Sheets(0).RowHeader.Visible = False
Spread.Sheets(0).ColumnHeader.Visible = False
Spread.Sheets(1).PrintInfo = printset
Spread.Sheets(1).RowHeader.Visible = False
Spread.Sheets(1).ColumnHeader.Visible = False
Spread.PrintSheet(-1)

。。。这个是得不到文件的??? 怎么办: 用另外一个线程等待那个文件生成??

End Sub

但是这个SUB一走完,一会文件就生成好了




回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-19 16:00:29
6#
用Timer监控肯定可以
您这个问题我已经提交研发那边帮忙确认如何实现了,有消息给你答复。
回复 使用道具 举报
rickjelly2004
初级会员   /  发表于:2016-10-19 16:10:57
7#
dexteryao 发表于 2016-10-19 16:00
用Timer监控肯定可以
您这个问题我已经提交研发那边帮忙确认如何实现了,有消息给你答复。

好的,谢谢。
另外
sheetview.SafePrint(sheetview, -1)
用这个倒是可以,请问,用这个方法有什么问题吗?没有问题最好。
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-10-19 16:43:35
8#

就是用这个,这个是线程安全的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部