python - 在 Python 中编辑现有 PDF 页面

标签 python pdf

我有一个 PDF 文件,我从中删除了一些页面。我想更正(修复)新的 pdf 页码。有没有什么方法/库可以在不将 pdf 转换为另一种格式的情况下更新页码?我试图将 pdf 转换为文本、XML 和 JSON,然后修复页码。但是,如果我将它转换回 pdf,它看起来很乱(不能保持原始 pdf 的样式)。我遇到的问题是:

  1. 删除旧页码。
  2. 添加新的页码。

我在 Ubuntu 上使用 python。我已经尝试过 ReportLabPyXpyfpdf

最佳答案

我也遇到过类似的问题,老实说我没法完全解决,而是把对应的html拿来用BeautifulSoup处理。但是,我确实得到了比 python 模块更接近的方法,我使用 poppler(底部链接)中的 pdftotext.exe 来读取 pdf 文件,它工作得很好,除了它无法区分文本列之外.由于这不是 python 模块,我使用 os.system 调用 .exe 文件上的命令字符串。

def call_poppler(input_pdf, input_path):

    """
    Call poppler to generate a txt file
    """
    command_row = input_path + " " + input_pdf
    os.system(command_row)
    txt_name = input_pdf[0:-4] + ".txt"
    processed_paper = open_txt(txt_name)
    return processed_paper

def open_txt(input_txt_name):

    """
    Open and generate a python object out of the
    txt attained with poppler
    """
    opened_file = open(input_txt_name,"rb").readlines()
    output_file = []
    for row in opened_file:
        row = row.decode("utf-8").strip()
        output_file.append(row)
    return output_file

这会返回一个处理过的“.txt”文件,然后您可以根据需要处理该文件并使用某些模块(例如 pypdf)将其重写为 pdf,如果这不是您想要的答案,我们深表歉意,但 pdf 文件相当困难在 python 中处理,因为它们不是基于文本的文件。不要忘记提供可执行文件的路径。 你可以在这里得到 poppler:https://poppler.freedesktop.org/

关于python - 在 Python 中编辑现有 PDF 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56760391/

相关文章:

pdf - Golang 通过 bimg 将 pdf 转换为图像

Python Visio 转 pdf

iphone - 我可以对在 iOS 上生成的 pdf 文件中的图像使用 JPEG 压缩吗?

python - cdef 列出 Cython 中的 my_list

python - ModuleNotFoundError : No module named 'google'

python - opencv中cvtColor()之前Numpy 8位图像转换为16/32位图像

java - 如何正确加密合并的pdf文档

python - 在每个可能的组合中调用函数

python - 从 json 文件将嵌套数据导入 pandas

pdf - 如何使用ring提供pdf流服务