python pacakge pdf\u redactor不区分“.”

2024-09-27 18:09:57 发布

您现在位置:Python中文网/ 问答频道 /正文

试图用空字符串编辑和替换pdf中的价格(敏感信息)。使用了pdf\u redactor,并且能够在命令行上运行它,但是一些奇怪的事情正在发生

我所说的价格是指:10.10、4.60、15982.00、326.59等 使用正则表达式:u“[0-9]*(\,)[0-9]{2}”

所发生的是偶数,如10,500,1521等没有小数点也被抹去。我需要这些数字没有任何小数,因为他们代表的数量是订购,也纸箱数量,这是重要的信息保留

我怀疑的是,pdf是否真的被编码成即使是像10这样的整数,实际上也是10.00

这是你可以得到pdf\U redactor的地方。 https://github.com/JoshData/pdf-redactor

看来这是最好/最简单的解决办法。对于像我这样的新手来说,用矩形来掩盖pdf中的敏感部分是比较困难的。更不用说PDF有不同的页数,根据订单的大小,表格有不同的位置

我已经测试了我的正则表达式,它似乎是正确的

将此代码存储在一个文件中,比如red.py。 下面是我的代码,这是pdf\U redactor git hub的简化版本:

从pdf\u redactor导入redactor 从pdf\U编辑导入编辑 进口re

    #Set options.
    redactor_options = RedactorOptions()

    redactor_options.content_filters = [

    (re.compile(u"Cost Price"), lambda m : ""), #just replaces "Cost price" found in the pdf with ""
    (re.compile(u"Cost"), lambda m : ""), #just replaces "Cost" found in the pdf with ""
    (re.compile(u"Value Price"),lambda m : ""), #just replaces "Value Price" found in the pdf with ""
    (re.compile(u"[0-9]*(\.)[0-9]{2}"), lambda m : ""), #this where i input the regex and it searches for prices and replaces it with "" 

    ]

    redactor(redactor_options)

然后在命令行上运行: python红.py<;b、 pdf>;新建.pdf

在我的bnew.pdf文件中,“成本价”、“价值价”和“成本”按预期正确删除,但所有价格都没有了(这是好的),但我的纸箱数量和订单数量也是整数

电话号码没有被删掉。”电话:12 12345 1234”和完整的邮政编码也没有被删除

我还复制了这些整数,并将其粘贴到一个文本文件中。 文本文件上的30是30,而不是复制为30.00。 所以我真的束手无策

如果有人能帮我,我会非常感激的


Tags: thelambdare编辑数量pdfwith价格

热门问题