导航:首页 > 文档加密 > pdf打印python

pdf打印python

发布时间:2023-02-27 17:12:23

python利器:如何处理pdf表格数据

大家好,我是Peter~

在很多情况下,我们都需要处理PDF格式的文件。尤其当我们遇到PDF表格数据需要进行提取,真的是一个令人头疼的问题。

因为PDF文件不能像Word那样直接复制,即使复制了再黏贴也可能会出现格式排版错乱甚至乱码问题。如何从一个PDF文件提取出表格数据?本文提供两个解决方案:

首先提供的一种方法是从文字 PDF 中提取表格信息的工具:Camelot,它能够直接将大部分表格转换为 Pandas 的 Dataframe。

更多的详细信息,请参考项目地址: https://github.com/camelot-dev/camelot

camelot的安装有多种方式。如果有报错,网上一般有解决方式:

1、通过conda安装

2、使用pip进行安装

3、通过GitHub进行安装

首先将项目复制到本地:

然后进入文件中进行安装:

下面通过一个案例来讲解如何使用camelot。假设我们现在有一个只有一页的PDF文件test.pdf:

1、先读取文件

导出成csv格式的数据(方式1)

查看tables的相关信息:

导出方式2:

将数据转换成DataFrame:

tabula的功能比camelot更加强大,可以同时对多个表格数据进行提取。项目的具体地址请参考: https://github.com/chezou/tabula-py

tabula的安装是非常简单的:

安装之后检验这个库是否安装成功:

通过tabula这个库来读取PDF文件:

然后我们发现列表中唯一的一个元素就是dataframe:

将读取到的数据输出成CSV格式的文件:

上面读取的PDF文件是比较简单的,只有一页,而且刚好是一个很标准的表格形式的数据,下面看一个比较复杂的例子:

下面是第一页,第一列可以看成是索引:

在第二页中有两份表格,而且中间有很多的空白行:

第三页的数据比较标准:

这3页是在同一个PDF文件中,这3页是在同一个PDF文件中,这3页是在同一个PDF文件中

上面的红色提示中我们看到:当没有指定pages参数的时候,只会默认读取第一页的数据,所以列表的长度为1。

转成dataframe后将原来的索引变成新的一列 (部分数据)

通过pages来读取全部数据:

通过指定pages="all":

同时获取两个表格的数据:

通过area参数来指定:

删除在读取的表格中我们不需要的字段信息

可以将得到的数据输出成不同格式的文件,以json格式为例:

我们可以看到

Ⅱ python怎么转成pdf

方法一:使用虚拟打印机pdf factory即可,而且其他格式文件只要是能够打印,选择这个虚拟打印机,都可以做成PDF文件,很简单实用;
方法二:用其他虚拟打印机转成PDF文件。
方法三:使用专门的转换软件,把文件转成PDF文件。

Ⅲ 如何用python写虚拟打印机

1、虚拟打印机,顾名思义就是虚拟的打印机,它是一种软件,能模拟实现打印机的功能,打印文件。2、虚拟打印机同真实打印机一样,安装完毕,打开“控制面板”中的“打印机和传真”,会看到所安装的虚拟打印机,可以像使用一台打印机一样使用它们。鼠标双击将其打开,可以对其“打印首选项”和“属性”进行修改,从而设定是否共享、可使用时间、是否后台打印和优先级,以及纸张大小、版式安排等。它们同样能截获所有Windows程序的打印操作,或模拟打印效果,或完成某一特殊功能。3、有些软件自带虚拟打印机,有些则是专门的虚拟打印机,利用这些虚拟打印机,可以帮助我们完成很多特殊的任务。虚拟打印机的打印文件是以某种特定的格式保存在电脑上。例如,安装Acrobat会生成一个名为AdobePDF的虚拟打印机.而pdfFactoryPro也会生成同样类似的虚拟打印机。虚拟打印机的使用和物理打印机相似,只是打印的结果是,在硬盘上生成一个PDF文件。

Ⅳ 怎么用 Python 将 pdf,doc 等转换成 jpg

1.PDFFactory Pro虚拟打印机,安装后,在任何文档中,选择打印时,选择打印机为pdfFactoryPro,就能生成PDF文件,并可以进行安全设置。
2.SmartPrinter(Doc Pdf xls to pdf/tiff/bmp/jpg/png)一款大家非常熟悉的经典产品,专为转换文件而研发的高品质打印驱动,以运行稳定、转换速度快和图像质量高而着称,通过虚拟打印技术可以完美的将任意可打印文档转换成 PDF、TIFF、JPEG,BMP、PNG、EMF、GIF、TXT格式。
3.雪莹DocConvert虚拟打印转换。雪莹DocConvert是一款文档转化工具,它通过虚拟打印的技术将任何文档转化为PDF,JPG,BMP,TIFF,PCX,PNG等等文档格式。
4.EasyPrint(虚拟打印机) V2.1,本软件实现的功能是把指定文档打印到文件,成为标准的BMP位图,实现无纸打印的功能。主要应用在需要把一些文件打印后扫描再处理,或者一些需要打印效果的软件的插件。例如:把WORD文件打印到BMP文件,然后进行处理

Ⅳ 如何按顺序批量打印PDF\WORD\EXCEL格式的文件 混合打印500多个文件

有一批PDF文件,好几百个,每个只打印第2,3页,双面打印。
网上搜索一波,方案如下:
安装Ghostscript,GhostView,使用gsprint命令打印pdf文件。
gsprint命令参数说明:
"-dQUIET", 安静的意思,指代执行过程中尽可能少的输出日志等信息。(也可以简写为“-q”)
"-dNOSAFER", 通过命令行运行
"-dBATCH", 执行到最后一页后退出
"-dNOPAUSE", 每一页转换之间没有停顿
"-dNOPROMPT", 没有相关提示
"-dFirstPage=1", 从第几页开始
"-dLastPage=5", 到第几页结束
"-sDEVICE=pngalpha", 转换输出的文件类型装置,默认值为x11alpha
"-g720x1280", 图片像素(-gx),一般不指定,使用默认输出
"-r300", 图片分辨率(即图片分辨率为300dpi),默认值好像是72(未测试证实)
"-sOutputFile=/opt/shanhy/error1png/%d.png", 图片输出路径,使用%d或%ld输出页数
比如打印c.pdf第2,3页,命令如下
gsprint -dFirstPage=2 -dLastPage=3 c.pdf
大部分pdf只打印第2,第3页,双面打印,所以用python控制批量打印所有pdf的第二页,暂停,提示翻页,然后批量打印第三页。
完整代码如下
#-*- coding: utf-8 -*-
importosimporttimedefprint_pdf(pdf_file_name, page):"""静默打印pdf
:param pdf_file_name
:page 打印第几页
:return:"""cmd= 'gsprint -dFirstPage=%s -dLastPage=%s %s' %(page, page, pdf_file_name)print(cmd)
p=os.popen(cmd)
time.sleep(3)print(p.read())if __name__ == '__main__':
curr_path=os.getcwd()
fl=os.listdir(curr_path)for i in range(2,4):print(i)for f infl:if 'pdf' inf.lower():
print_pdf(f, i)

Ⅵ 如何用python打开excel,然后找到指定工作簿对里面的内容打印成pdf

python读写excel 常用的俩个库:xlrd、xlwt
python 处理pdf 文件库:PyPDF2 (当然也有其他的库,用最简单的)

你的需求很简单,随便在网上找找这几个库的文档很容易处理你的逻辑

阅读全文

与pdf打印python相关的资料

热点内容
对称加密系统和公钥加密系统 浏览:426
历史地理pdf 浏览:600
物联网云服务器框架 浏览:646
sybaseisql命令 浏览:181
android权威编程指南pdf 浏览:661
哪些软件属于加密软件 浏览:644
文件夹75丝什么意思 浏览:468
最便宜sop8单片机 浏览:964
图解周易预测学pdf 浏览:418
c盘莫名奇妙多了几个文件夹 浏览:169
贵州花溪门票优惠app哪个好 浏览:801
如何说话不会让人有被命令的感觉 浏览:438
哪里可下载湘工惠app 浏览:263
福特python 浏览:310
pdf转换成word表格 浏览:351
无线远端服务器无响应是什么意思 浏览:670
两位整数倒序输出python 浏览:781
为什么我的世界天空服务器进不去 浏览:262
钉钉直播后的视频如何线上加密 浏览:503
听主的命令 浏览:208