繁体   English   中英

用Python编辑现有的PDF页面

[英]Edit existing PDF's pages in Python

我有一个PDF文件,我从中删除了一些页面。 我想纠正(修复)新的pdf页码。 是否有任何方式/库来更新页码而不将pdf转换为另一种格式? 我试图将pdf转换为text,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”文件,您可以根据需要处理该文件,并使用某些模块重写为pdf,例如pypdf,对不起,如果不是您想要的答案,但pdf文件很难处理python因为它们不是基于文本的文件。 不要忘记给出可执行文件的路径。 你可以在这里获得poppler: https//poppler.freedesktop.org/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM