在 Web 应用程序中显示 PDF

本文介绍了在 Web 应用程序中显示 PDF的处理方法,对大家解决问题具有一定的参考价值

问题描述

我用谷歌搜索了这个,搜索了这个,浏览了 SO 和其他网站(我已经尝试阅读这个问题几个小时了),但我似乎仍然无法找到一个令人满意的解决方案一个简单、常见的编程问题.

I have googled this, searched this, looked through SO and other sites (I've been trying to read on this issue for hours now), but I still can't seem to find a satisfactory solution to what seems to be a simple, common programming issue.

让我来设置场景:

  • 我有一个网站/网络应用程序,允许用户搜索 SQL Server 库.
  • 与搜索结果相关的大部分文档都是 PDF 文件.
  • PDF 文件以 BLOB 的形式存储在 SQL Server 数据库中.
  • 我希望能够从数据库中动态提取 PDF 并将其显示给用户.
  • 为了保留用户的搜索进度,我想我想在另一个浏览器窗口/标签中打开文件
  • 我已经知道如何将 PDF 保存到服务器的指定目录中.
  • 不想希望用户看到文件的路径.
  • 在合理范围内,我想要一个适用于所有主要浏览器的解决方案:
  • I've got a website/web application that allows the user to search a SQL Server library.
  • Most of the documents related to the search results are PDF files.
  • The PDF files are stored inside of the SQL Server database a BLOBs.
  • I want to be able to dynamically pull a PDF from the database and display it to the user.
  • In order to preserve the user's search progress, I think I'd like to open the file in another browser window/tab
  • I've figured out how to save the PDF to the server in a specified directory.
  • I DON'T want the user to see the path to the file.
  • Within reason, I want a solution that works in all major browsers:
  1. Internet Explorer
  2. 火狐
  3. Safari(包括 iPhone/iPad Mobile Safari)

  • 我不想购买第 3 方组件,但如有必要,我愿意走这条路.
  • 我不想将文件作为下载发送(我想我已经想出办法了),因为这不会在 iPhone/iPad 上失败吗?
  • 到目前为止,我尝试过的每个解决方案都存在一些基本问题:

    Every solution I've tried so far has some basic problems wrong with it:

    • 在 iPhone/iPad 上使用 iFrames 似乎失败了
    • 使用 Server.Transfer(我使用的是 ASP.NET)显示乱码而不是 PDF
    • 我尝试了几个演示 3rd 方解决方案,但它们也很糟糕!

    我想不通!我真的是一名桌面开发人员,这在 Windows 中EASY!为什么网络这么难?

    I can't figure it out! I'm really a desktop developer, and this was EASY in Windows! Why is it so hard with the web?

    是我笨吗,这真的是一个简单的练习,还是这个基本任务真的那么难?

    Am I stupid and this is really an easy exercise, or is this basic task really that hard?

    请帮我指明正确的方向!

    Please help point me in the right direction!

    谢谢!!!

    推荐答案

    这个链接可能对你有用,

    This link might be useful to you,

    http:///nilangshah.wordpress.com/2007/05/28/successfully-stream-a-pdf-to-browser-through-https/

    您可以通过为链接指定 target="_blank" 来在新选项卡中打开 pdf.博客中提到的 ByteArray 是您从 DB 中提取的 BLOB.希望这会有所帮助.

    You can have pdf opened in a new tab by speccifying target="_blank" for the link. ByteArray mentioned in the blog is your BLOB from the DB. Hope this helps.

    这篇关于在 Web 应用程序中显示 PDF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,WP2

    admin_action_{$_REQUEST[‘action’]}

    do_action( "admin_action_{$_REQUEST[‘action’]}" )动作钩子::在发送“Action”请求变量时激发。Action Hook: Fires when an ‘action’ request variable is sent.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$_REQUEST['action']引用从GET或POST请求派生的操作。源码(Source)更新版本源码位置使用被使用2.6.0 wp-admin/admin.php:...

    日期:2020-09-02 17:44:16 浏览:1168

    admin_footer-{$GLOBALS[‘hook_suffix’]}

    do_action( "admin_footer-{$GLOBALS[‘hook_suffix’]}", string $hook_suffix )操作挂钩:在默认页脚脚本之后打印脚本或数据。Action Hook: Print scripts or data after the default footer scripts.目录锚点:#说明#参数#源码说明(Description)钩子名的动态部分,$GLOBALS['hook_suffix']引用当前页的全局钩子后缀。参数(Parameters)参数类...

    日期:2020-09-02 17:44:20 浏览:1069

    customize_save_{$this->id_data[‘base’]}

    do_action( "customize_save_{$this->id_data[‘base’]}", WP_Customize_Setting $this )动作钩子::在调用WP_Customize_Setting::save()方法时激发。Action Hook: Fires when the WP_Customize_Setting::save() method is called.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_data...

    日期:2020-08-15 15:47:24 浏览:806

    customize_value_{$this->id_data[‘base’]}

    apply_filters( "customize_value_{$this->id_data[‘base’]}", mixed $default )过滤器::过滤未作为主题模式或选项处理的自定义设置值。Filter Hook: Filter a Customize setting value not handled as a theme_mod or option.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分,$this->id_date['base'],指的是设置...

    日期:2020-08-15 15:47:24 浏览:898

    get_comment_author_url

    过滤钩子:过滤评论作者的URL。Filter Hook: Filters the comment author’s URL.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/comment-template.php:32610...

    日期:2020-08-10 23:06:14 浏览:930

    network_admin_edit_{$_GET[‘action’]}

    do_action( "network_admin_edit_{$_GET[‘action’]}" )操作挂钩:启动请求的处理程序操作。Action Hook: Fires the requested handler action.目录锚点:#说明#源码说明(Description)钩子名称的动态部分$u GET['action']引用请求的操作的名称。源码(Source)更新版本源码位置使用被使用3.1.0 wp-admin/network/edit.php:3600...

    日期:2020-08-02 09:56:09 浏览:876

    network_sites_updated_message_{$_GET[‘updated’]}

    apply_filters( "network_sites_updated_message_{$_GET[‘updated’]}", string $msg )筛选器挂钩:在网络管理中筛选特定的非默认站点更新消息。Filter Hook: Filters a specific, non-default site-updated message in the Network admin.目录锚点:#说明#参数#源码说明(Description)钩子名称的动态部分$_GET['updated']引用了非默认的...

    日期:2020-08-02 09:56:03 浏览:863

    pre_wp_is_site_initialized

    过滤器::过滤在访问数据库之前是否初始化站点的检查。Filter Hook: Filters the check for whether a site is initialized before the database is accessed.目录锚点:#源码源码(Source)更新版本源码位置使用被使用 wp-includes/ms-site.php:93910...

    日期:2020-07-29 10:15:38 浏览:833

    WordPress 的SEO 教学:如何在网站中加入关键字(Meta Keywords)与Meta 描述(Meta Description)?

    你想在WordPress 中添加关键字和meta 描述吗?关键字和meta 描述使你能够提高网站的SEO。在本文中,我们将向你展示如何在WordPress 中正确添加关键字和meta 描述。为什么要在WordPress 中添加关键字和Meta 描述?关键字和说明让搜寻引擎更了解您的帖子和页面的内容。关键词是人们寻找您发布的内容时,可能会搜索的重要词语或片语。而Meta Description则是对你的页面和文章的简要描述。如果你想要了解更多关于中继标签的资讯,可以参考Google的说明。Meta 关键字和描...

    日期:2020-10-03 21:18:25 浏览:1719

    谷歌的SEO是什么

    SEO (Search Engine Optimization)中文是搜寻引擎最佳化,意思近于「关键字自然排序」、「网站排名优化」。简言之,SEO是以搜索引擎(如Google、Bing)为曝光媒体的行销手法。例如搜寻「wordpress教学」,会看到本站的「WordPress教学:12个课程…」排行Google第一:关键字:wordpress教学、wordpress课程…若搜寻「网站架设」,则会看到另一个网页排名第1:关键字:网站架设、架站…以上两个网页,每月从搜寻引擎导入自然流量,达2万4千:每月「有机搜...

    日期:2020-10-30 17:23:57 浏览:1308