【发布时间】:2023-03-28 18:42:01
【问题描述】:
用户点击一个链接按钮,它会将他们定向到一个动态生成的 pdf 文件的 url。浏览器会提示用户保存或打开它。
我想知道是否可以将 pdf 文件下载到服务器,然后在 asp.net 网页中显示 pdf 文件。当我在这个问题上搜索时,99% 的顶部链接是一些第三方组件。是否可以在不购买任何第三方组件的情况下做到这一点?
谢谢
【问题讨论】:
标签: asp.net
用户点击一个链接按钮,它会将他们定向到一个动态生成的 pdf 文件的 url。浏览器会提示用户保存或打开它。
我想知道是否可以将 pdf 文件下载到服务器,然后在 asp.net 网页中显示 pdf 文件。当我在这个问题上搜索时,99% 的顶部链接是一些第三方组件。是否可以在不购买任何第三方组件的情况下做到这一点?
谢谢
【问题讨论】:
标签: asp.net
我使用itextsharp,它是java itext 库的免费开源c# 端口。
让在 asp.net 中生成动态 pdf 变得轻而易举,并且有大量的文档/示例随处可见。
【讨论】:
我认为如果没有第 3 方组件,您将不会有太多的运气。首先,问题不是显示 PDF,而是生成它。为此,您需要一个库来提供帮助。除非您手头有大量无偿时间,否则自己滚动一个不会更便宜。
关于第三方控件,我推荐并使用 CeTe 的 DynamicPDF。
【讨论】:
是的,有一种方法可以在没有第三方工具的情况下执行此操作,但它需要编写 PDF 到 html 的翻译器。
如果这适用于企业,则第 3 方控制的投资回报率是您不必花费数百小时编码和测试此组件,而您只需几百美元即可购买。
现在,另一种方法是编写一个页面,该页面以 PDF 文件生成数据的相同方式显示数据(这实际上可以由 RDLC 处理)。这样当用户点击链接按钮时,他们会被带到这个显示页面,如果他们想要本地副本,他们可以从中下载 PDF 版本。
【讨论】:
无论您如何生成 PDF,如果您在 IFRAME 而不是完整的浏览器窗口中打开 PDF,我会发现更好的用户体验。您可以给用户指示并维护浏览器导航。
【讨论】:
我想你想做的是去:http://my_site.com/generate-pdf.aspx?=someId 这实际上应该只显示 PDF 文件? 您需要做的是更改响应类型。
See here 了解如何处理图片。
【讨论】:
查找 Content-Disposition HTTP 标头。您可以发回一个值,该值要求内容内联显示而不是下载。
【讨论】: