如何将archive.org上任何可借阅的书籍永久下载为PDF格式 如何将archive.org上任何可借阅的书籍永久下载为PDF格式

如何将archive.org上任何可借阅的书籍永久下载为PDF格式

archive.org 图书馆 archive.org 上有海量的书籍可供借阅。

我一直在清理我的纸质书籍收藏,转而阅读电子书。虽然有很多书可以用 Kindle 和 PDF 格式替代,但还有相当一部分书从未有过电子书版本。

archive.org 提供一项服务,他们扫描了海量书籍,并以可续借的方式免费供人借阅。但这项服务存在四个主要局限性。

  1. 它使用的是 archive.org 的翻页界面,这不如在自己喜欢的软件中使用真正的 PDF 文件那样令人愉快。
  2. 您无法在这本书上做标记、添加书签等,也无法在将来保留这些笔记。
  3. 只有在连接互联网时才能使用。要是去坐游轮或露营?那就没办法了。
  4. 而且它可能也存在不了多久了。archive.org 已经输掉了第一轮,对手是一群出版商,他们不满的是,他们根本不想再版的书籍竟然可以从图书馆借阅。

代码救援

幸运的是,你可以将这些书下载为PDF格式。你只需要掌握一些JavaScript知识,并且能够仔细阅读并理解操作说明。

首先,请前往这个GitHub 页面,那里有完整的说明。

一些建议:

  1. 使用 Firefox 浏览器,它运行稳定。
  2. 取消勾选“始终询问您文件保存位置”
  3. 您将下载几百个甚至更多的文件,您肯定不想每个文件都按回车键。
  4. 看完书,放大图片,至少放大两次。我通常放大四次。否则,你得到的JPG图片会很小,阅读起来很模糊。
  5. 请仔细阅读并按照说明操作。第一次可能不会成功,但当你再次阅读说明时,你会发现自己漏掉了一个小步骤。

收集完所有 JPG 图片后,你可以用多种方法将它们合并成一个 PDF 文件。这里有一个简单的 Python 脚本,可以通过img2pdf模块实现。只需将所有 JPG 图片保存到一个文件夹中,然后调用此脚本即可。

 make_pdf.py <目录名称>

代码:

 #!/usr/bin/python3

导入 img2pdf、os、re、sys

def fail(message):
    print("%s\n" % (message))
    sys.exit(1)

如果 (len(sys.argv) != 2):
  失败(“用法:makepdf <目录>”)

img_dir = sys.argv[1]
img_dir = re.sub('/$', '', img_dir)
如果 ( os.path.exists ( img_dir ) == False ):
    失败("错误:目录“%s”不存在" % ( img_dir ) )
print("%-30s: %s" % ("Directory", img_dir))
pdf_name = "%s.pdf" % ( img_dir )
print("%-30秒: %s" % ("要创建的PDF", pdf_name))

images = []
for fname in os.listdir(img_dir):
    如果不是 fname.endswith(".jpg"):
        继续
    path = os.path.join(img_dir, fname)
    如果 os.path.isdir(path):
        继续
    images.append(路径)

images.sort()

print("%-30秒: %d" % ("图像数量", len(images)))
print("%-30s: %s" % ("第一张图片", images[0]))
print("%-30s: %s" % ("最后一张图片", images[len(images)-1]))

with open(pdf_name,"wb") as f:
    f.write(img2pdf.convert(images))

os.system ("du -sh \"%s\"" % ( pdf_name ))