【问题标题】:Batch Export PDF Properties批量导出 PDF 属性
【发布时间】:2018-10-20 01:01:23
【问题描述】:

TL;DR

我正在寻找一个充满 PDF 文件的文件目录,并将它们的属性(特别是页码)“导出”到 .CSV 文件。


研究

我发现许多程序可以让我批量导出 PDF 的元数据,但这通常与源信息有关,而不是关于 PDF 本身的可用信息。


详情

我需要页码才能推断出页面的顺序。我正在使用一个索引系统,该系统将允许两方定位和交流文档。我计划制作一个带有文档标题和唯一 ID 的 Excel 文档,这些 ID 需要与 PDF 上的连续贝茨编号相对应。

我不介意对此进行编码或进行广泛的创意,但它必须是可以批量完成的,因为文件很多。

提前感谢您提供的任何帮助。

【问题讨论】:

  • 您所说的“页码”是指 PDF 的总页数吗?
  • 是的。由于贝茨数是连续的,我可以通过页数推断贝茨数的增加。

标签: excel pdf adobe batch-processing


【解决方案1】:

你说你不介意编码,所以这里有一个简短的 Python 脚本,可以满足你的需求(据我所知)。

#!python3.6
import csv
import os

import fitz  # http://pymupdf.readthedocs.io/en/latest/


def main():
    """ Place script in same directory as PDFs. """
    script_dir = os.path.dirname(os.path.abspath(__file__))
    csv_filename = os.path.join(script_dir, 'pdf_information.csv')
    with open(csv_filename, mode='w', newline='') as f:
        writer = csv.writer(f)
        writer.writerow([
            'Filename',
            'Page Count',
        ])
        for basename in os.listdir(script_dir):
            if basename.upper().endswith('.PDF'):
                filename = os.path.join(script_dir, basename)
                pdf = fitz.open(filename)
                writer.writerow([
                    basename,
                    pdf.pageCount,
                ])
                pdf.close()


if __name__ == '__main__':
    main()

【讨论】:

  • @jowens ,虽然我已经对此进行了测试,但你太棒了!这看起来很棒。我对 Python 有一些经验,但主要是语法,所以我什至没有想过要使用它。我稍后会测试它。我为我的经验不足道歉,但我真的只是在 Python 控制台中运行它吗? (我问,因为这听起来太直接了,因此,奇迹般的。)
  • 安装 Python(我用 3.6 版测试)和 PyMuPDF 包(代码中文档的 URL)。将代码保存为 *.py 文件,并确保您的操作系统知道如何运行 *.py 文件。将 *.py 文件放在包含 PDF 的文件夹中并运行它,它应该会创建一个 *.csv 文件。
  • 太棒了。再次感谢你。我会尽快测试。
  • 好吧,所以我整晚都在这,虽然我已经安装了 Python,但我正在努力安装 PyMuPDF 的基础知识。当我输入文档中建议的行 (>>> pip install [--upgrade] PyMuPDF) 时,“安装”出现语法错误。接下来的几天我要去度假,所以我会广泛阅读 Python。如果你知道可能是什么原因造成的,那么你将成为一个真正的救星。
  • pip 应该从操作系统命令行运行,而不是从 Python shell 中运行。
猜你喜欢
  • 1970-01-01
  • 2012-12-10
  • 2018-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-08
  • 1970-01-01
  • 2020-05-21
相关资源
最近更新 更多