Python spire excel 加文字水印 python word加水印_asp.net添加删除表格

继上一次为大家推出了将pdf转word之后(卧槽!Pdf转Word用Python轻松搞定!),引起了大家的热烈讨论,我也总结了大家的一些意见和建议,今天就进一步的为大家推出一个新的版本。

从pdf中提取表格数据,并保存到本地的excel文件当中,并且还为大家加入了添加水印和去除水印的功能。虽然在去除水印的效果上可能不如付费的项目那么好,但是也足够大家在日常生活中进行使用,下面我们就一起来看看吧。

01.如何提取表格

首先要面临的第一问题就是如何提取pdf中的表格,如下图所示:

Python spire excel 加文字水印 python word加水印_asp.net添加删除表格_02

我们需要将上述的表格进行提取,并保存到本地的excel文件之中,程序如下所示:

Python spire excel 加文字水印 python word加水印_.net 添加word水印_03

上述程序中,我们利用pdfplumber库来打开一个pdf文件,然后如果我们想要提取某几页的表格,可以在pageindexs这个形参中指明,否则我们就提取pdf文件中所有的表格信息,并保存到我们的本地excel表内,结果如下图所示,我们提取了pdf中所有的表格:

Python spire excel 加文字水印 python word加水印_python docx转pdf_04

02.水印的处理

接下来就是水印的处理,我们先来进行添加水印,也就是给我们的pdf文件添加我们的专属logo,这里我们添加的是图片水印,效果如下所示:

Python spire excel 加文字水印 python word加水印_.net 添加word水印_05

我们的程序也很简单:

Python spire excel 加文字水印 python word加水印_asp.net添加删除表格_06

上述程序中,我们首先将水印图片利用word保存为pdf格式,然后通过PyPDF2库中的PdfFileReader类来读取图片水印并通过PdfFileWriter添加到我们指定的pdf中,完成图片水印的添加。

既然有图片水印的添加,那肯定有图片水印的去除,其达到的效果就是上述程序达到的相反效果,去除图片水印的程序如下图所示:

Python spire excel 加文字水印 python word加水印_.net 添加word水印_07

我们利用fitz库来打开pdf文件,并统计里面的图片文件,因为我们的图片水印也是图片,所以能够得到水印图片的信息,我们打印出来图片的信息,其信息中的索引2和索引3就代表着图片的大小,我们根据图片的大小判断是否为水印图片,来隐藏pdf文件中的水印图片,达到去除水印的目的。

上述的程序针对的是图片水印,但是,我们日常面临的水印都是背景水印,类似于下图的情况。

Python spire excel 加文字水印 python word加水印_python docx转pdf_08

这种情况下,上述的程序就不管用了,但是我们还有办法,就是利用像素进行处理,我们将pdf转换成图片,然后调节图片的对比度和亮度来达到删除水印的目的,然后将转换完后的图片转换为pdf即可,部分程序如下图所示:

Python spire excel 加文字水印 python word加水印_.net 添加word水印_09

上述程序中,是利用fitz库将pdf文件中的每页pdf转化成指定大小的图片文件,并保存到指定的文件夹内。

最终转化后的结果如下图所示:

Python spire excel 加文字水印 python word加水印_.net 添加word水印_10

上图我们可以看到,我们成功的删除了背景水印,但是由于调节的原因,对于保留的文本也有一定的影响,但是影响不是很大。如果大家感兴趣的话,可以借鉴ps的处理技术,通过背景水印模板来去除水印,达到更好的去除效果,但是这需要水印模板和我们pdf模板中的水印在位置,形状和大小等方面完全一致,要求比较高,不如上述方法来的简单。

以上就是小编今天为大家带来的分享,我们完成了对于表格的提取,和图片水印的添加和去除以及背景水印的去除,大家也赶紧动手应用起来吧。