技术交流QQ群:1027579432,欢迎你的加入!
欢迎关注我的微信公众号:CurryCoder的程序人生
1.整体实现步骤
在日常办公中,我们可能会有一个需求,需要将多个pdf文件合并成一个文件。例如:需要将每个章节的pdf文件学习资料合并成一个pdf文件,便于我们进行学习资料的归档与整理。如何才能合并多个pdf文件呢?我查了一下网上现有的资料(详见参考资料1),发现python中有一个第三方库PyPDF2用起来真香。但是,网上现有的程序仅仅实现多个pdf文件,并未实现按序合并。下面谈谈我的整体实现步骤:
(1).既然有轮子了,那就直接开干吧。win+R键打开cmd,执行pip install PyPDF2安装PyPDF2第三方库。由于我之前已经安装该第三方库,所以实际安装结果以你电脑安装结果为准。
(2).解决PyPDF2第三方库产生的编码问题,此解决方法来源于参考资料2。
Traceback (most recent call last):
File "D:\python35\Lib\site-packages\PyPDF2\generic.py", line 484, in readFromStream
return NameObject(name.decode('utf-8'))
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xcb in position 8: invalid continuation byte
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\python35\Lib\apps\backstage\views\busi_contract_manage_view.py", line 703, in post
merge_pdf_result = merge_pdf(final_files, pdf_path)
File "D:\python35\Lib\apps\utils\doc_convert_util.py", line 86, in merge_pdf
pdf_writer.write(new_file)
File "D:\python35\Lib\site-packages\PyPDF2\pdf.py", line 482, in write
self._sweepIndirectReferences(externalReferenceMap, self._root)
File "D:\python35\Lib\site-