作为字节存储的PDF页面
问题描述:
我正在尝试编写一些工作脚本,并且在研究特定问题时遇到困难。我认为每个PDF页面都是一个图像,例如JPG,但即使我正在阅读该文件,也不会发生这种情况。所以我的问题是:什么是相应的PDF页面存储,如果不是图像?作为字节存储的PDF页面
这里是我工作的工作代码:
pdf = user_file.file.read()
startmark = b"\xff\xd8"
startfix = 0
endmark = b"\xff\xd9"
endfix = 2
i = 0
njpg = 0
while True:
istream = pdf.find("stream", i)
if istream < 0:
break
istart = pdf.find(startmark, istream, istream+20)
if istart < 0:
i = istream+20
continue
iend = pdf.find("endstream", istart)
if iend < 0:
raise Exception("Didn't find end of stream!")
iend = pdf.find(endmark, iend-20)
if iend < 0:
raise Exception("Didn't find end of JPG!")
istart += startfix
iend += endfix
print "JPG %d from %d to %d" % (njpg, istart, iend)
PDF不是那么简单。请参阅http://www.adobe.com/content/dam/Adobe/en/devnet/acrobat/pdfs/PDF32000_2008.pdf以供参考。它只有大约700页。如果你真的想做一些真正的事情,可以使用库。你可以在这里找到示例https://www.binpress.com/tutorial/manipulating-pdfs-with-python/167。 –