- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一段不错的、经过测试的 python PyPDF2 代码,一个 .py 设计用于在“真实”操作系统文件上运行。调试完所有内容后,我现在正尝试将其合并到 plPython 函数中,用 io.BytesIO() 替换文件 - 或者任何最适合无缝插入的机制......
文件读/写现在将是 PostgreSQL bytea cols。 “in”中的文档已使用 PG 复制功能写入 - 字节数与磁盘大小相匹配;到目前为止一切顺利。
原始代码预期文件:
# infile = "myInputPdf.pdf"
# outfile = "myOutputPdf.pdf"
# inputStream = open(infile, "rb") # designed to open OS-based file
# --- Instead: 'document_in' loaded from PG bytea col:
inputStream = io.BytesIO(document_in)
# ---
pdf_reader = PdfFileReader(inputStream, strict=False)
# (lots of code in here, seems? to be working)
outputStream = io.BytesIO() # trying it the python3 way!
pdf_writer.write(outputStream)
(我假设对象应该被视为字节对象)
最后:
plan3 = plpy.prepare("UPDATE documents SET document_out=$2 WHERE name=$1", ["varchar"]["varchar"])
ERROR: TypeError: list indices must be integers, not str
(PostgreSQL 11.1,如果重要的话)
过去使用 mkstemp 技术做过类似的事情;现在正努力成长为字节世界!
最佳答案
plpy.prepare()
中的第二个参数是一个列表。列类型是 bytea
,而不是 varchar
。并且您应该使用 bytes
(不是文件对象)来更新列:
plan3 = plpy.prepare("UPDATE documents SET document_out=$2 WHERE name=$1", ["varchar", "bytea"])
outputStream.seek(0)
bytes_out = outputStream.read()
plpy.execute(plan3, ['some name', bytes_out])
关于Python3 PyPDF2 - 如何将文件处理程序视为 BytesIO 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54013708/
我尝试安装这个包... $ pip search pyPdf PyPDFLite - Simple PDF Writer. pypdfocr
使用它时出现意外错误。第一部分来自我在网上找到的脚本,我试图用它来提取 PDF 大纲中标识的特定部分。一切正常,除了在 output.write(outputfile1)它说: PdfReadErro
Here我找到了用于拆分 pdf 页面的代码。 #!/usr/bin/env python import copy, sys from pyPdf import PdfFileWriter, PdfF
使用 pypdf python 模块如何读取以下 pdf 文件 http://www.envis-icpe.com/pointcounterpointbook/Hindi_Book.pdf # -*-
我是Python新手。我尝试打开pdf文件并将其内容写入新的文本文件。文本文件名称由 pdf 名称生成。到目前为止我已经尝试过,但它没有达到我的预期。我怎样才能实现它 import glob,
我实际上是在使用 pyPdf 打开、读取和写入 PDF 文件的内容。 为此,我使用了这些代码行: from pyPdf import PdfFileWriter, PdfFileReader pdf
按照这个例子,我可以将所有元素列成一个pdf文件 import pyPdf pdf = pyPdf.PdfFileReader(open("pdffile.pdf")) list(pdf.pages)
如果我有 1000 多个 pdf 文件需要合并为一个 pdf, from PyPDF2 import PdfReader, PdfWriter writer = PdfWriter() for i i
我有一个 PDF 文件(A4,纵向布局),我想将其中的每一页分成一半高度。输出文件也应该是A4和纵向布局,但每页的下半部分需要是空白的。 我看到了https://stackoverflow.com/a
我有一个 PDF 文件(A4,纵向布局),我想将其中的每一页分成一半高度。输出文件也应该是A4和纵向布局,但每页的下半部分需要是空白的。 我看到了https://stackoverflow.com/a
我正在运行以下代码来创建一个新的 PDF 文件,其中包含源 PDF 的除第一页之外的所有页面: import os from pyPdf import PdfFileReader, PdfFileWr
这个问题在这里已经有了答案: How can I rotate a page with PyPDF2? (2 个答案) 关闭 12 个月前。 我们有一个简单的脚本来读取传入的 PDF 文件。如果是横
目前,如果我使用 pyPdf 和 extractText() 创建一个 pdf 页面的页面对象,会发生什么行被连接在一起。例如,如果页面的第 1 行说“hello”而第 2 行说“world”,则从
目前我正在研究将 PDF 与 pyPdf 合并,但有时输入的顺序不正确,所以我正在研究抓取每一页的页码以确定它应该进入的顺序(例如,如果有人将一本书分成 20 份 10 页的 PDF,而我想将它们重新
我在 Windows 平台上使用 Python 2.4 和 PyPdf 1.13。我正在尝试使用以下代码将列表中的 PDF 文件合并为一个文件: import os from pyPdf import
我想将几个 PDF 文件合并为一个 PDF 文档。事实证明,输入文件并不完全符合标准。 EOF 标记后跟一些附加信息: >> startxref 1994481 %%EOF %%PPIRoute: 4
我有以下代码: import os from pyPdf import PdfFileReader, PdfFileWriter path = "C:/Real Python/Course mater
我正在尝试将 PDF 的每一页提取为字符串: import pyPdf pages = [] pdf = pyPdf.PdfFileReader(file('g-reg-101.pdf', 'rb')
我正在尝试使用 pyPdf 从多页 PDF 中提取和打印页面。问题是,文本不是从某些页面中提取的。我在这里放了一个示例文件: http://www.4shared.com/document/kmJF6
我正在尝试使用 pyPDF 编写几个 python 脚本,将 PDF 页面拆分为六个单独的页面,正确排序它们(通常正面和背面打印,因此每个其他页面都需要以不同方式排序),并删除结果输出文档末尾的空白页
我是一名优秀的程序员,十分优秀!