【问题标题】:Reading pdf ebook's contents and split pdf file accordingly阅读pdf电子书的内容并相应地拆分pdf文件
【发布时间】:2016-11-08 14:45:11
【问题描述】:

我有一些巨大的技术 pdf 电子书,我想将它们分开,以帮助我从每本书中找到并准确阅读我想要的部分。我说的是带有内容(部分和章节)的索引 pdf 文件。根据 pdf 的内容,我提出了以下拆分方案:

1.阅读本书的内容。 2.为整本书创建一个根文件夹 3. 为书的每一部分创建一个子文件夹 4. 将本书每章拆分成一个pdf文件,并将pdf(章节)放在相应的子文件夹(part)中。

如何使用 Java 或 Python pdf 库来做到这一点?

【问题讨论】:

  • 通过编写一些代码。 :) 您可能还会寻找已经解析 PDF 和电子书的库。
  • 嗯,这很明显 :) 我的主要问题是找到一个提取 pdf 元数据的库,正是它包含的书的内容!
  • 我知道。这就是为什么我要求使用,而不是代码。如果有合适的库,会用它来编写代码我自己
  • 如果您阅读如何提问,您会发现请求异地联络也不是一个好问题。

标签: java python pdf


【解决方案1】:

您可以使用PyPDF2 来阅读和拆分您的 PDF 文件。

以下是导出 PDF 页面的方法:

import PyPDF2

def export_pdf_pages(input_pdf_path, page_first, page_last, output_pdf_path):
    with open(input_pdf_path, "rb") as input_stream:
        input_pdf = PyPDF2.PdfFileReader(input_stream)
        output = PyPDF2.PdfFileWriter()
        for index in xrange(page_first - 1, page_last):
            try:
                page = input_pdf.getPage(index)
            except IndexError:
                fmt = 'Missing page {page_num} in "{input_pdf_path}"'
                msg = fmt.format(page_num=index + 1, input_pdf_path=input_pdf_path)
                raise IndexError(msg)
            output.addPage(page)
        with open(output_pdf_path, "wb") as output_stream:
            output.write(output_stream)

【讨论】:

  • 感谢您的回复洛朗。实际上我确实知道如何使用 PyPDF2 来完成这些任务。我的问题是是否有一个图书馆能够阅读本书的元数据(内容)以获得我需要的部分和章节信息。据我所知,你不能用 PyPdf2 做到这一点。如果我错了,请纠正我!
猜你喜欢
  • 2013-05-19
  • 1970-01-01
  • 2014-05-13
  • 2018-07-30
  • 1970-01-01
  • 1970-01-01
  • 2022-12-06
  • 2011-04-21
  • 1970-01-01
相关资源
最近更新 更多