本文概述
PDF文件
PDF是一种可移植文档格式, 其中包含与纯文本文件不同的文本, 图像, 图表等。它是一个包含“ .pdf”的文件。扩展名, 由Adobe发明。这种文件类型独立于任何平台, 例如软件, 硬件和操作系统。
安装软件包的步骤
你需要安装一个名为“ pypdf2”的软件包, 该软件包可以处理扩展名为“ .pdf”的文件。
你可以看到“ pypdf2”软件包已安装并显示如下。
阅读PDF文档并提取数据
你将仅从pdf文件中提取文本, 因为在提取富媒体内容时, PyPDF2有局限性。无法从中提取徽标, 图片等-需要下载以下pdf文件才能使用本教程。下载PDF文件
上面代码中的’import’语句获取PyPDF2模块。你需要使用’open(‘pdfFileName’, ‘openingMode’)’, 其中’pdfFilename’是’test.pdf’, 而’openingMode’是’rb’, 这是二进制格式的读数。
PyPDF2具有名为“ PdfFileReader”的方法, 该方法采用新创建的对象“ pdfFileObject”。你现在可以访问“ pdfFileObject”中名为“ numPages”的属性, 该属性提供了总页数。
上面的输出是1.Since;你会看到pdf文件只有一页。
你可以在pdfReaderObject中使用’getPage(0)’方法获取第一页, 然后将结果存储在’firstPageObject’中, 在该页面中可以使用’extractText()’打印出该特定页面中的所有文本方法。
上面的代码给出了pdf文件中的所有文本。但是, 该图像未在终端中显示, 无法使用pyPDF2获得该图像。
将多个PDF文件合并为一个PDF
你将把两个不同的pdf文件合并为一个pdf文件。旧的PDF文件是你以前使用过的文件, 而新的PDF文件可从以下链接下载:新的PDF文件。
你将从PyPDF2包中导入PdfFileMerger模块, 该模块有助于合并pdf文件。指定了“路径”, 它指示文件所在的文件夹的路径。同样, 要合并的pdf文件也包含在列表的“ pdf_files”中。
你可以看到合并对象是在“ PdfFileMerger”的帮助下创建的。循环是针对列表中的每个文件进行的, 其中合并是通过将路径和文件传递给’append’方法来完成的。最后, 可以使用“ merger.write()”获得最终输出, 其中将合并具有新PDF文件名的内容。
上图显示了一个“ merged.pdf”, 其中包含从“ test.pdf”和“ test-1.pdf”合并的内容。
Word文件
Word文档在文件名的末尾包含“ .docx”扩展名。这些文档不仅包含纯文本文件中的文本, 还包含富文本格式的文档。 RTF文档包含文档的不同结构, 这些结构具有与之关联的大小, 对齐方式, 颜色, 图片, 字体等。
最好是拥有用于处理Word文档的应用程序。适用于Windows和Mac操作系统的流行应用程序是Microsoft Word, 但这是一个付费订阅平台。但是, 有一个免费的替代选项, 例如“ LibreOffice”, 它是Linux中预先安装的应用程序。可以为Windows和Mac操作系统下载应用程序。本教程将在Windows操作系统中使用Microsoft Word。
安装软件包的步骤
你需要安装一个名为“ python-docx”的软件包, 该软件包可以处理’.docx’扩展名的word文档。
你可以看到已安装并显示如下的“ python-docx”软件包。
你可以在Python提供的交互式外壳中进行编码, 但是最好使用文本编辑器。因此, Sublime Text用于本教程的编码部分。
编写Word文档
你可以在第一行的上方看到“文档”模块是从“ docx”包中导入的。第二行中的代码通过Document对象的帮助生成了一个新的word文档。文件名使用’document.save()’保存为’first.docx’。
添加标题
上面的代码包含一个’Document()’打开一个新文件, 而’document.save(‘addHeader.docx’)’用于创建一个新编辑的docx文件。你可以通过方法’add_heading(‘text, ‘level = number)’添加标题, 该方法将文本作为标题, 并且标题级别从0开始到4。
上面的代码将输出作为新创建的“ addedHeader.docx”文件提供, 其中级别0成为标题, 水平线位于文本下方, 而标题级别1为主要标题。类似地, 其他标题都是副标题, 其字体大小按降序排列。
添加一个段落
上面的代码包含一个“ Document()”, 它将打开一个新的文档文件, “ document.save(‘addParagraph.docx’)”用于创建一个新编辑的docx文件。你可以通过方法’add_paragraph(‘text, ‘style =’required_style’)’添加标题, 该方法接受文本, 并且’style’是可选参数, 可以使用’List Number’和’List Bullet’。
上面的代码将输出作为新创建的“ addedParagraph.docx”文件提供, 其中第一行有一个简单的段落。同样, 有一个标题, 在其下方包含一个有序列表, 其中包含编号为1和2的项目。在其下方, 还有另一个标题, 在无序项目符号列表中包含两项。
添加图片
上面的代码包含一个“ Document()”, 用于创建一个新的文档文件, 而“ document.save(‘addPicture.docx’)”用于创建一个新编辑的docx文件。你可以使用包含第一个参数的“ add_picture()”添加图像, 因为“ cat-1.jpeg”是猫图像的路径。宽度和高度是可选参数, 默认为“ 72 dp”, 但出于目的, 我们使用了“英寸”。
上面的代码将输出作为新创建的“ addedPicture.docx”文件提供, 该文件包含猫图像, 其中图像的宽度和高度为1.25英寸。
阅读Word文档
现在, 你将从Python阅读一个示例word文档, 可以在以下位置找到:下载示例。
代码的第一行从’docx’模块导入文档, 该文档用于传递所需的文档文件并创建对象。’obtainText’是一个接收文件’fullText.docx’的函数。每个段落都完成循环, 可通过“ document.paragraphs”访问该段落, 并使用“ append”方法将其插入到空列表中。最后, 该函数返回以新行结尾的段落列表。
上面的输出给出了没有任何样式, 颜色等的纯文本, 这不是富文本文档。
恭喜啦
恭喜, 你已阅读完本教程。
如果你想了解有关在Python中导入数据的更多信息, 请尝试DataCamp的“在Python中导入数据简介”课程。
你还可以查看以下资源, 以帮助你拓宽对特定主题的知识。
Python Docx的文档
PyPDF2的文档
参考:使用Python自动完成无聊的工作:使用Word文档