吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1962|回复: 30
收起左侧

[原创工具] PDF转txt文本命令行工具 pdf2txt.exe

[复制链接]
anson1599 发表于 2026-1-16 14:57
本帖最后由 anson1599 于 2026-1-16 15:42 编辑

因为经常要把收到PDF格式的电子发票,按照时间、票号、金额来改文件名,所以想找个能解析PDF里面文字输出文本的工具,找了一圈没找到合适的,所以就用 Aardio 写了一个命令行小工具,之前写了一个直接改文件名的,但想到每个人可能想改的名字并不一样,所以就直接输出文本,如果有需要可以根据文本自己写正则改文件名吧。

写的自用小工具,没做太多测试,Win10下工作正常,Win7下会报错,但功能正常,也不知道为什么。

pdf2txt.png


工具名称:pdf2txt.exe

使用方法:只能在命令行模式下运行

pdf2txt.exe <pdf文件>  默认输出所有页的文本

pdf2txt.exe -p=1 <pdf文件>  -p参数,指定输出某1页的文本,1就是第1页,2就是第2页,-1就是倒数第1页,-2就是倒数第2页

输出结果就是PDF文件里的文本,没有其它的,如果想保存到文件,加个管道就行,比如 pdf2txt.exe xxx.pdf > xxx.txt

https://anson1599.lanzoub.com/iWsaW3g9daqd
密码:52pj

顺便分享一下,我通过 Directory Opus 利用 pdf2txt 改发票名称的脚本
[JavaScript] 纯文本查看 复制代码
function OnClick(clickData) {
  if (clickData.func.sourcetab.selected_files.count > 0) {
    for (var eSel = new Enumerator(clickData.func.sourcetab.selected_files); !eSel.atEnd(); eSel.moveNext()) {
      if (eSel.item().ext.toLowerCase() === '.pdf') {
        var objShell = new ActiveXObject('WScript.Shell');
        var objExec = objShell.Exec('D:\\Soft\\PDF Tools\\pdf2txt.exe -p=-1 ' + eSel.item().RealPath);
        var txt = objExec.StdOut.ReadAll();
        //DOpus.Output(txt);
        var match = /(\d{20})\s*(\d{4})\s*年\s*(\d{2})\s*月\s*(\d{2})\s*日/.exec(txt);
        var money = /[整分]\s¥(\d+\.\d{2})\s/.exec(txt);
        if (match && money) {
          var newName = match[2] + match[3] + match[4] + '_' + match[1] + '_(' + money[1] + ')';
          clickData.func.command.RunCommand('Rename FROM ' + eSel.item().RealPath + ' TO ' + newName + ' IGNOREEXT');
        }
      }
    }
  }
}

免费评分

参与人数 3吾爱币 +8 热心值 +3 收起 理由
liwei69288 + 1 + 1 我很赞同!
confiant + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

mypj52 发表于 2026-1-21 11:12
电子发票经常有特殊字符之类的,正则匹配没几个月可能有又不适配了,或者部分不适配。
最有效的是电子税务局引出来数据,匹配发票文件名中的发票号,再修改。
如果没有权限引出,用腾讯云、阿里云的票据识别,通过切割图片位置,返回对应字段
 楼主| anson1599 发表于 2026-1-20 09:48
1e3e 发表于 2026-1-20 09:16
谢谢,python可以调用 吗

python 有很多自己的PDF解析库,自身解析肯定比调用外部命令要方便,当然了要用也是可以的,测试代码如下:
[Python] 纯文本查看 复制代码
import os
pdf = os.popen('D:\\pdf2txt.exe D:\\test.pdf')
txt = pdf.read()
pdf.close()
print(txt)
sgjzwk 发表于 2026-1-18 21:38
 楼主| anson1599 发表于 2026-1-19 08:30
sgjzwk 发表于 2026-1-18 21:38
图片PDF也可以转换吗?

图片要用到OCR,没有做这个功能,因为开发初衷只是为了解析电子发票
gs18090 发表于 2026-1-19 09:16
win11运行闪退了
 楼主| anson1599 发表于 2026-1-19 10:22

只能在命令行模式下运行哦,如果直接双击执行的话,只会输出帮助信息就退出了
whckin 发表于 2026-1-20 07:48
软件这么小,有这么大的功能,很牛啊。
trxcss 发表于 2026-1-20 08:48
感谢分享,这个软件有很它的作用
1e3e 发表于 2026-1-20 09:16
谢谢,python可以调用 吗
 楼主| anson1599 发表于 2026-1-20 09:16
whckin 发表于 2026-1-20 07:48
软件这么小,有这么大的功能,很牛啊。

不是我牛,主要是 Aardio 比较牛,因为包含了 pdfium 库,要不然只有几百K
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-9-2 19:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表