python编辑pdf内容,python怎么生成pdf

  python编辑pdf内容,python怎么生成pdf

  我正在尝试旋转可移植文档格式文件的扩展名(可移植文档格式的缩写)文件中的页面,然后用相同的可移植文档格式文件的扩展名(portable document format的缩写)文件中的旋转页面替换旧页面。

  我写了以下代码:

  #!/usr/风趣的小笼包/python

  导入操作系统

  从pyPdf导入PdfFileReader、PdfFileWriter

  my _ path=/home/USER/Desktop/files/

  输入文件名=操作系统。路径。加入(我的路径,“myfile.pdf”)

  input _ file=PdfFileReader(file(input _ file _ name, rb ))

  input_file.decrypt(MyPassword )

  output _ PDF=PdfFileWriter()

  对于页面数量范围(0,input_file.getNumPages()):

  page=输入文件。获取页面(num _ page)

  page.rotateClockwise(270)

  output_PDF.addPage(第页)

  #尝试用原始文件中的新数据替换旧数据,而不是

  #创建新文件并添加新数据!

  输出文件名=操作系统。路径。加入(我的路径,“myfile.pdf”)

  输出文件=文件(输出文件名称, wb )

  输出PDF.write(输出文件)

  output_file.close()

  上面的代码给我一个错误!我什至尝试使用:

  input _ file=PdfFileReader(file(input _ file _ name, r b ))

  但这也不起作用.

  换行:

  输出文件名=操作系统。路径。加入(我的路径,“myfile.pdf”)

  与:

  输出文件名=操作系统。路径。加入(我的路径,“myfile2.pdf”)

  修复了所有问题,但这不是我想要的.

  有什么帮助吗?

  错误代码:

  在_sweepIndirectReferences中,newobj=data.pdf.getObject(data)文件"/usr/lib/py模块/python 2.7/pyPdf/pdf。py”,第649行,在关键字中retval=readObject(self.stream,self)文件"/usr/lib/py模块/python 2.7/pyPdf/generic。py”,第67行,在读取对象中返回字典对象。readfromstream(流,pdf)文件"/usr/lib/py modules/python 2.7/py pdf/generic。py "在readFromStream中的第564行,引发实用工具.PdfReadError,"在流之后找不到尾流标记。pyPdf.utils.PdfReadError:在流之后找不到"尾流"标记。第67行,在读取对象中返回字典对象。readfromstream(流,pdf)文件"/usr/lib/py模块/python 2.7/pyPdf/generic。py”,第564行,在readFromStream中,引发实用工具.PdfReadError,"无法找到endstream . py pdf . utils . pdf readerror:在流之后找不到"尾流"标记。第67行,在读取对象中返回字典对象。readfromstream(流,pdf)文件"/usr/lib/py模块/python 2.7/pyPdf/generic。py”,第564行,在readFromStream中引发实用工具.PdfReadError,"无法找到尾流在流之后标记。pyPdf.utils.PdfReadError:在流之后找不到"尾流"标记。

  解决方案

  我怀疑问题是PyPDF正在写入文件时正在读取文件。

  您已经注意到,正确的解决方法是写入一个单独的文件,然后用新文件替换原始文件。像这样:

  输出文件名=操作系统。路径。加入(我的路径,“myfile-temporary.pdf”)

  输出文件=文件(输出文件名称, wb )

  输出PDF.write(输出文件)

  output_file.close()

  操作系统.重命名(输出文件名,输入文件名)

  来自unstdlib。标准。上下文库_导入打开_原子

  使用开放原子(输入文件名称, wb )作为输出文件:

  输出PDF.write(输出文件)

  这将自动创建一个临时文件,写入该文件,然后替换原始文件。

  编辑:我最初误读了问题。以下是我的错误信息,但可能会对其他人的回答有所帮助。

  您的代码很好,并且在"大多数“PDF上应该没有问题。

  您看到的问题是PyPDF与您尝试使用的特定便携文档格式之间不兼容。这可能是PyPDF中的错误,也可能是便携文档格式并非完全有效。

  您可以尝试两件事:

  查看PyPDF2是否可以读取文件。使用安装PyPDF2pip安装PyPDF2,将其替换导入pyPdf …为导入PyPDF2 …,然后重新运行脚本。

  使用另一个程序重新编码您的PDF,然后查看是否可行。例如,使用类似方法转换bad.pdf坏了。PS;转换坏的PS maybe-good.pdf可能会解决问题。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • kotlon协程,深入理解kotlin协程pdf,一文彻底搞懂Kotlin中的协程
  • 深入解析C#(第4版),深入解析css pdf,深入解析contentWindow, contentDocument
  • java 反射机制原理与用法详解视频,java 反射机制原理与用法详解pdf
  • java 反射机制原理与用法详解视频,java 反射机制原理与用法详解pdf,Java 反射机制原理与用法详解
  • ,,Java使用iTextPDF生成PDF文件的实现方法
  • ,,Python利用PyMuPDF实现PDF文件处理
  • 漫画算法小灰的算法之旅pdf,漫画算法2-小灰的算法进阶
  • devops和自动化运维实践 PDF,devops思想在运维方面的具体实践
  • pdf如何去除水印,pdf去水印的三种方法
  • 把a4的内容打印成a3小册子,a4的pdf文档如何打印成a3
  • nlp自然语言处理入门pdf,精通python自然语言处理 pdf
  • 容器docker基本操作,每天5分钟玩转docker容器技术 pdf
  • sklearn中文手册pdf下载,sklearn库模块及函数
  • 留言与评论(共有 条评论)
       
    验证码: