当前位置: 首页 > news >正文

中国建设银行的网站免费的网站推广

中国建设银行的网站,免费的网站推广,室内设计软件推荐,免费宣传平台PDF的基本操作主要是读取、创建,合并等操作。使用Python的第三方包PyPDF2.读写合并PDF文件变得非常简单。本文最后给出PDF合并的程序,供参考使用。欢迎关注我的个人公众号:数学编程,以及安装依赖包使用Python的pip进行安装&#x…

PDF的基本操作主要是读取、创建,合并等操作。使用Python的第三方包PyPDF2.读写合并PDF文件变得非常简单。本文最后给出PDF合并的程序,供参考使用。

欢迎关注我的个人公众号:数学编程,以及

安装依赖包

使用Python的pip进行安装,安装包名称大小写不敏感。

pip install PyPDF2

查看基本的类和方法

进入包的__init__.py文件可以看到主要的几个类和方法

from .pdf import PdfFileReader, PdfFileWriter

from .merger import PdfFileMerger

from .pagerange import PageRange, parse_filename_page_ranges

from ._version import __version__

__all__ = ["pdf", "PdfFileMerger"]

从名称上可以看出提供了基本的操作方法,分别是读取,写入和合并,其中合并可以认为是读取然后 再写入的操作。

读取和写入PDF

读取PDF非常简单,直接使用PdfFileReader这个类,先来看看这个类的参数

class PdfFileReader(object):

"""

Initializes a PdfFileReader object. This operation can take some time, as

the PDF stream's cross-reference tables are read into memory.

:param stream: A File object or an object that supports the standard read

and seek methods similar to a File object. Could also be a

string representing a path to a PDF file.

:param bool strict: Determines whether user should be warned of all

problems and also causes some correctable problems to be fatal.

Defaults to ``True``.

:param warndest: Destination for logging warnings (defaults to

``sys.stderr``).

:param bool overwriteWarnings: Determines whether to override Python's

``warnings.py`` module with a custom implementation (defaults to

``True``).

"""

def __init__(self, stream, strict=True, warndest = None, overwriteWarnings = True):

其中必须传入的参数是stream,文件流而不是文件名称。 而PDF的创建不需要传入参数。

from PyPDF2 import PdfFileReader, PdfFileWriter

infn = 'infn.pdf'

outfn = 'outfn.pdf'

# 获取一个 PdfFileReader 对象

pdf_input = PdfFileReader(open(infn, 'rb'))

# 获取 PDF 的页数

page_count = pdf_input.getNumPages()

print(page_count)

# 返回一个 PageObject

page = pdf_input.getPage(i)

# 获取一个 PdfFileWriter 对象

pdf_output = PdfFileWriter()

# 将一个 PageObject 加入到 PdfFileWriter 中

pdf_output.addPage(page)

# 输出到文件中

pdf_output.write(open(outfn, 'wb'))

合并多个PDF

合并多个PDF就读取多个文件,然后写入一个文件中。不过这样需要计算页面数,不如直接用PdfFileMerger,提供了append方法

from PyPDF2 import PdfFileReader, PdfFileMerger

def read_pdf(pdf_name):

stream = open(pdf_name, "rb")

reader = None

try:

reader = PdfFileReader(stream)

except Exception as e:

print(e)

return reader

def merge_pdf(pdfs, output_name = "merge.pdf"):

merge = PdfFileMerger()

for pdf_name in pdfs:

pdf_obj = read_pdf(pdf_name)

print("开始合并 《%s》 页面数: %s" % (pdf_name, pdf_obj.getNumPages()))

merge.append(pdf_obj)

merge.write(open(output_name, "wb"))

print("合并后总页面数:", merge.id_count)

print("写入当前目录", output_name)

if __name__ == '__main__':

pdfs = [

"file1.pdf", "file2.pdf", "file3.pdf"

]

merge_pdf(pdfs)

输出结果:

开始合并 《file1.pdf》 页面数: 28

开始合并 《file2.pdf》 页面数: 34

开始合并 《file3.pdf》 页面数: 38

合并后总页面数: 100

写入当前目录 merge.pdf

总结

PDF文件的合并是很常用的操作,Python在处理PDF文件方面非常简单,主要原因是别人已经封装好了包,只需要简单的调用就能满足基本需求。文章的最后给出了一个简单合并多个PDF的程序用例,供参考使用。

http://www.lbrq.cn/news/2452627.html

相关文章:

  • 知名网站开发买卖交易平台
  • 鄂州建设网站竞价推广思路
  • 上海做网站的自建站模板
  • 无锡网站建设设计国内比较好的软文网站
  • wordpress本地打开慢google seo整站优化
  • 吉安律师网站建设企业员工培训课程有哪些
  • 郑州市建设网站谷歌seo关键词优化
  • 网站建设403怎么去推广一个产品
  • 会员卡管理系统多少钱宁波seo外包代运营
  • 网络规划设计师的意义厦门网站综合优化贵吗
  • discuz做影视网站重庆seo搜索引擎优化优与略
  • 钓鱼转转网站在线生成软件一键优化清理加速
  • 大连手机自适应网站建设服务市场推广策略 包括哪些
  • 做网站多少人公司官网开发制作
  • 寿光网站建设公司快速优化网站排名软件
  • 最大的房产网站排名app推广之家
  • 平面设计在线制作网站优化公司开始上班了
  • 顺德外贸网站建设湖南知名网络推广公司
  • 做好档案整理及网站建设seo诊断工具
  • 昆山网站制作 微博十种网络推广的方法
  • iis配置wap网站大连中小企业网络营销
  • 企业网站规划方案头条广告入口
  • 做国外网站赚钱微信营销的方法
  • 山东中讯网站建设百度导航官网
  • 住房和城乡建设部课题网站子域名在线查询
  • 三级做视频网站有哪些推广下载app赚钱
  • 基本信息型网站有哪些外包公司被辞退有补偿吗
  • 株洲seo优化公司seo服务公司怎么收费
  • 邯郸建立网站费用百度竞价关键词质量度怎么提升
  • 天津网站建设普斯泰最好看免费观看高清大全
  • SaaS型小程序自动化发布解决方案
  • 图片查重从设计到实现(3)图片存储MinIO 应用介绍及 Docker 环境下的安装部署
  • 如何轻松地让电脑传输大文件到另一台电脑?
  • redis常用数据类型
  • Opentrons 模块化平台与AI技术助力智能移液创新,赋能AAW™自动化工作站
  • Terraform与Ansible的关系