找回密码
 立即注册

QQ登录

只需一步,快速开始

cuizhengrong

注册会员

9

主题

31

帖子

100

积分

注册会员

积分
100

活字格认证

cuizhengrong
注册会员   /  发表于:2024-7-18 14:15  /   查看:1709  /  回复:10
1金币
问题描述:

1.asp.net webform 报表程序,使用的 viewerType=AcrobatReader;
2.问题:
    (1) 在电脑上面显示报表正常,但是在手机上面使用的是 chrome80版本,显示报表的时候提示下载PDF文件,但是无法下载(文件名称是系统默认的有空格);
      (2)我使用 asp.net core webapi 程序在服务器端动态生成的pdf文件,然后在客户端调用,下载正常(文件名称没有空格)
   我怀疑是文件名称有空格造成的,不知道在 asp.net webform使用 viewer的时候怎么修改下载的时候默认的pdf文件名称
3.手机上面点击打印的时候,提示下载的截图


4.显示报表的部分关键源码如下:

            Dim dt As DataTable = getPrintSHD()
            Dim fileName As String = Server.MapPath("~")
            '
            If fileName.EndsWith("\") = False Then
                fileName &= "\"
            End If
            fileName &= "rpt\hmSHD.rpx"
            '
            Dim rd As System.Xml.XmlReader = New System.Xml.XmlTextReader(fileName)
            Dim ar As New GrapeCity.ActiveReports.SectionReport
            ar.LoadLayout(rd)
            ar.DataSource = dt

            ar.Document.Printer.PrinterSettings.PrinterName = ""
            ar.Document.Printer.PaperSize = New GrapeCity.ActiveReports.Printing.PaperSize("SAP", 846, 551)
            ar.Run()
            '
            Me.WebViewer1.Report = ar
            Me.WebViewer1.DataBind()

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

您尝试修改一下这个: ViewerType="AcrobatReader" HtmlViewer 而且您为什么不是一下导出PDF,因为打印页面其实走的是 浏览器的打印 也就是 document.print() 这个其实在手机端什么行为,确实不知道

10 个回复

倒序浏览
cuizhengrong
注册会员   /  发表于:2024-10-28 11:24:32
来自 10#
Eden.Sun 发表于 2024-7-24 10:31
您好,您这个问题解决了吗?

已经解决了,使用htmlviewer没有问题;使用pdf可以在服务器端生成PDF文件然后使用pdfjs在客户端处理一下就行了

评分

参与人数 1金币 +100 收起 理由
Bella.Yuan + 100 赞一个!

查看全部评分

回复 使用道具 举报
最佳答案
最佳答案
Felix.LiWyn认证
超级版主   /  发表于:2024-7-18 14:15:54
来自 7#
您尝试修改一下这个:

ViewerType="AcrobatReader"  
HtmlViewer
而且您为什么不是一下导出PDF,因为打印页面其实走的是 浏览器的打印
也就是 document.print()
这个其实在手机端什么行为,确实不知道
回复 使用道具 举报
cuizhengrong
注册会员   /  发表于:2024-7-18 14:36:40
2#
刚刚测试了一下,在asp.net webform中修改下载的文件名称也不行

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
cuizhengrong
注册会员   /  发表于:2024-7-18 14:43:02
3#
手机荣耀20i,系统鸿蒙3.0;浏览器自带
平板安卓11,自带的浏览器chrome80;
都是asp.net webform 不能下载

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
cuizhengrong
注册会员   /  发表于:2024-7-18 14:45:43
4#
点击下载的时候提示:链接失效,下载失败
回复 使用道具 举报
Felix.LiWyn认证
超级版主   /  发表于:2024-7-18 17:17:36
5#
先跟您确认一下,您的PDF下载是通过哪个形式的呢,是页面的导出还是打印?

其次目前相当于只有手机会有异常,PC端其实是可以正常导出的是吗
回复 使用道具 举报
cuizhengrong
注册会员   /  发表于:2024-7-19 08:31:16
6#
1.功能是:一个 asp.net webform 里面放置一个 Webviewer控件,点击打印按钮在webviewer中预览打印的内容,设置的 ViewerType="AcrobatReader" ,代码如下:

<ActiveReportsWeb:WebViewer ID="WebViewer1" runat="server" height="800px" width="1280px"
     PdfExportOptions-Title="打印报表"
     ViewerType="AcrobatReader"  
     PdfExportOptions-Application="配件订单">
</ActiveReportsWeb:WebViewer>

2.在PC端chrome/edge可以正常预览,也可打印,在手机端提示是下载文件(pdf),但是下载总是失败(chrome80手机自带的版本);测试使用微软的手机 edge 是正常的
回复 使用道具 举报
cuizhengrong
注册会员   /  发表于:2024-7-23 08:22:08
8#
好,我测试一下 htmlViewer;新的报表采用的是服务器上面导出pdf供用户下载;原来老的asp.net webform采用的是原来的技术,老的程序代码想尽量不改动或少改动;只是想知道原因,替代的方案也有。
回复 使用道具 举报
Eden.SunWyn认证
超级版主   /  发表于:2024-7-24 10:31:08
9#
cuizhengrong 发表于 2024-7-23 08:22
好,我测试一下 htmlViewer;新的报表采用的是服务器上面导出pdf供用户下载;原来老的asp.net webform采用 ...

您好,您这个问题解决了吗?
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部