有一个网站可以公开查看信息,并且可以在任何地方共享该信息,但只能通过截屏。我想在我的设备中将其保存为 pdf 以供将来参考。
我尝试在网上寻找方法,但没有找到任何有用的方法。
这是我要下载的 PDF 的链接:https ://www.ibps.in/pdfview.html?pdfNameaHR0cHM6Ly93d3cuaWJwcy5pbi93cC1jb250ZW50L3VwbG9hZHMvQ1JQLVBPLUlYdmdndi1OT1RJQ0UucGRm
与其将其作为屏幕截图保存到我的存储中,不如将其保存为 PDF 以供将来使用会更加用户友好。
注意:如果您是通过智能手机访问链接或尝试使用谷歌浏览器打开链接,则加载需要很长时间。我不得不使用 Safari 打开链接并立即打开。
编辑 1:有些人在网站上查找此链接时遇到问题。要知道如何访问此链接,请观看此链接,我录制了一个小视频。请使用此链接: https ://youtu.be/cpAWQIPOIOg
超级用户注意事项:我很惊讶地看到,尽管它是一个真正的问题,但它并没有得到应有的关注。没有尝试的人认为链接已过期或网站已死,而事实并非如此。我接受的答案显示了问题的深度。可悲的是,有时真正好的问题最终没有得到任何支持。根本没想到超级用户会做出这种反应。
是这个吗?
该网站的网址可以分解为
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。在源代码的末尾有部分:
url 参数看起来很有希望,所以我查看了它的定义位置:
函数 getParameterByName:
此函数采用您给它的参数名称,转义任何方括号(在任何 [ 和 ] 字符之前添加 \),并将其添加到查找字符串的正则表达式(在此示例中)
?pdfName=(any string not containing & or #)
。您可以在此处查看正则表达式的工作原理。函数然后抓取
pdfview.html
(使用location.search
)之后的网站 url 部分并将其应用到它之前的正则表达式,如果匹配,则返回 = 字符之后的部分。这就是它有点崩溃的地方,因为提供的 URL 不包含任何 = 字符并且函数返回一个空字符串,但这就是人类模式匹配能力比计算机更好的地方 - 很容易看出 URL 包含部分
?pdfName
,所以剩下的可能就是我们要找的参数了。剩下的就是将字符串粘贴aHR0cHM6Ly93d3cuaWJwcy5pbi93cC1jb250ZW50L3VwbG9hZHMvQ1JQLVBPLUlYdmdndi1OT1RJQ0UucGRm
到 Base64 解码器中,我惊喜地看到 PDF 文件的有效 URL。我还怀疑,尽管有名字,但脚本中使用的 Base64 解码器并不完全标准,所以我从页面源代码 (var Base64={...
) 中复制了它的定义,将其粘贴到 Chrome DevTools 的控制台中并运行验证我得到了相同的答案。
对不起,如果这太高级了,但是一旦您发现如何获取一个链接,使用相同的方法获取其他链接是微不足道的:只需将部分地址复制
?pdfName
到base64 解码器,然后单击解码以获取 PDF 链接。在网站的源代码中可以看到 PDF 的直接链接:
http://221.135.110.204/website/career_pdf/CWEPO3_Reserve.pdf
这是您要查找的文件吗?
一般来说,您可以通过 PDF 打印机在 MacOS 上打印网页(默认情况下)。在 Windows 上,如果您有 PDF 打印机,您也可以打印到 PDF。
如果要将网页存储为 PDF 文件,只需将其打印为 PDF。
然后,您可以使用 PDF 操作工具组合页面。