AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1553444
Accepted
Heisenberg
Heisenberg
Asked: 2020-05-21 01:42:30 +0800 CST2020-05-21 01:42:30 +0800 CST 2020-05-21 01:42:30 +0800 CST

可以将此 PDF 下载到内部存储吗?

  • 772

有一个网站可以公开查看信息,并且可以在任何地方共享该信息,但只能通过截屏。我想在我的设备中将其保存为 pdf 以供将来参考。

我尝试在网上寻找方法,但没有找到任何有用的方法。

这是我要下载的 PDF 的链接:https ://www.ibps.in/pdfview.html?pdfNameaHR0cHM6Ly93d3cuaWJwcy5pbi93cC1jb250ZW50L3VwbG9hZHMvQ1JQLVBPLUlYdmdndi1OT1RJQ0UucGRm

与其将其作为屏幕截图保存到我的存储中,不如将其保存为 PDF 以供将来使用会更加用户友好。

注意:如果您是通过智能手机访问链接或尝试使用谷歌浏览器打开链接,则加载需要很长时间。我不得不使用 Safari 打开链接并立即打开。

编辑 1:有些人在网站上查找此链接时遇到问题。要知道如何访问此链接,请观看此链接,我录制了一个小视频。请使用此链接: https ://youtu.be/cpAWQIPOIOg

超级用户注意事项:我很惊讶地看到,尽管它是一个真正的问题,但它并没有得到应有的关注。没有尝试的人认为链接已过期或网站已死,而事实并非如此。我接受的答案显示了问题的深度。可悲的是,有时真正好的问题最终没有得到任何支持。根本没想到超级用户会做出这种反应。

print-to-pdf download
  • 3 3 个回答
  • 209 Views

3 个回答

  • Voted
  1. Best Answer
    MikrySoft
    2020-05-28T20:11:09+08:002020-05-28T20:11:09+08:00

    是这个吗?

    该网站的网址可以分解为https://www.ibps.in/pdfview.html?pdfName(base64 encoded URL of the PDF)

    解码最后一部分(使用许多在线 base64 解码器中的任何一个),您将获得链接。

    我无法验证它是否正确,因为页面本身的 pdf 不会为我加载(Chrome 拒绝加载 MIME 类型为“application/octet-stream”而不是“text/javascript”的 js 脚本)


    编辑以扩展我如何发现该链接:

    我使用 Chrome 的 Inspect 功能打开了网站源代码,然后开始阅读试图显示 pdf 的 JavaScript。在源代码的末尾有部分:

      /**
       * Asynchronously downloads PDF.
       */
      PDFJS.getDocument(url).then(function (pdfDoc_)
    

    url 参数看起来很有希望,所以我查看了它的定义位置:

    var url = Base64.decode(getParameterByName('pdfName'));  
    

    函数 getParameterByName:

        function getParameterByName(name) { 
            name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
            var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
            return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
        }
    

    此函数采用您给它的参数名称,转义任何方括号(在任何 [ 和 ] 字符之前添加 \),并将其添加到查找字符串的正则表达式(在此示例中)?pdfName=(any string not containing & or #)。您可以在此处查看正则表达式的工作原理。

    函数然后抓取pdfview.html(使用location.search)之后的网站 url 部分并将其应用到它之前的正则表达式,如果匹配,则返回 = 字符之后的部分。

    这就是它有点崩溃的地方,因为提供的 URL 不包含任何 = 字符并且函数返回一个空字符串,但这就是人类模式匹配能力比计算机更好的地方 - 很容易看出 URL 包含部分?pdfName,所以剩下的可能就是我们要找的参数了。剩下的就是将字符串粘贴aHR0cHM6Ly93d3cuaWJwcy5pbi93cC1jb250ZW50L3VwbG9hZHMvQ1JQLVBPLUlYdmdndi1OT1RJQ0UucGRm到 Base64 解码器中,我惊喜地看到 PDF 文件的有效 URL。我还怀疑,尽管有名字,但脚本中使用的 Base64 解码器并不完全标准,所以我从页面源代码 ( var Base64={...) 中复制了它的定义,将其粘贴到 Chrome DevTools 的控制台中并运行

    Base64.decode('aHR0cHM6Ly93d3cuaWJwcy5pbi93cC1jb250ZW50L3VwbG9hZHMvQ1JQLVBPLUlYdmdndi1OT1RJQ0UucGRm')
    

    验证我得到了相同的答案。


    对不起,如果这太高级了,但是一旦您发现如何获取一个链接,使用相同的方法获取其他链接是微不足道的:只需将部分地址复制?pdfName到base64 解码器,然后单击解码以获取 PDF 链接。

    • 3
  2. pbies
    2020-05-25T06:21:54+08:002020-05-25T06:21:54+08:00

    在网站的源代码中可以看到 PDF 的直接链接:

    http://221.135.110.204/website/career_pdf/CWEPO3_Reserve.pdf

    这是您要查找的文件吗?

    • 1
  3. Gaétan RYCKEBOER
    2020-05-29T02:16:09+08:002020-05-29T02:16:09+08:00

    一般来说,您可以通过 PDF 打印机在 MacOS 上打印网页(默认情况下)。在 Windows 上,如果您有 PDF 打印机,您也可以打印到 PDF。

    如果要将网页存储为 PDF 文件,只需将其打印为 PDF。

    然后,您可以使用 PDF 操作工具组合页面。

    • 0

相关问题

  • BBC iPlayer 下载器应用程序 DRM 问题

  • 在激活一定数量的下载后,Firefox 不会开始进一步的下载

  • HTTP 上的视频 - 您能判断视频是正在下载还是正在观看吗?

  • Wget:下载所有以指定名称开头的文件?

  • 如何使用 SCCM 禁用各种 PDF 打印机

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve