我正在尝试使用Python来处理一些使用Adobe Acrobat Reader填写和签名的PDF表单.
我试过了:
我可以继续寻找图书馆并尝试它们,但我希望有人已经有了这个有效的解决方案.
更新:根据史蒂文的回答,我调查了pdfminer,它很好地完成了这个工作.
from argparse import ArgumentParser
import pickle
import pprint
from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdftypes import resolve1, PDFObjRef
def load_form(filename):
    """Load pdf form contents into a nested list of name/value tuples"""
    with open(filename, 'rb') as file:
        parser = PDFParser(file)
        doc = PDFDocument()
        parser.set_document(doc)
        doc.set_parser(parser)
        doc.initialize()
        return [load_fields(resolve1(f)) for f in
                   resolve1(doc.catalog['AcroForm'])['Fields']]
def load_fields(field):
    """Recursively load form fields"""
    form = field.get('Kids', None)
    if form: …我在一个文件夹中有近千篇pdf期刊文章.我需要在整个文件夹中对所有文章的摘要进行文本处理.现在我正在做以下事情:
dest <- "~/A1.pdf"
# set path to pdftotxt.exe and convert pdf to text
exe <- "C:/Program Files (x86)/xpdfbin-win-3.03/bin32/pdftotext.exe"
system(paste("\"", exe, "\" \"", dest, "\"", sep = ""), wait = F)
# get txt-file name and open it
filetxt <- sub(".pdf", ".txt", dest)
shell.exec(filetxt)
通过这个,我将一个pdf文件转换为一个.txt文件,然后将该摘要复制到另一个.txt文件中并手动编译.这项工作很麻烦.
如何从文件夹中读取所有单篇文章并将其转换为仅包含每篇文章摘要的.txt文件.可以通过限制每篇文章中的摘要和引言之间的内容来完成; 但我无法这样做.任何帮助表示赞赏.
我想从这里提取所有行,同时忽略列标题以及所有页面标题,即Supported Devices.
pdftotext -layout DAC06E7D1302B790429AF6E84696FCFAB20B.pdf - \
 | sed '$d'                                                  \
 | sed -r 's/ +/,/g; s/ //g'                                 \
 > output.csv
生成的文件应采用CSV电子表格格式(逗号分隔值字段).
换句话说,我想改进上面的命令,以便输出根本不会制动.有任何想法吗?