def read(self, stream):
# start at the end:
stream.seek(-1, 2)
line = ''
while not line:
line = self.readNextEndLine(stream)
if line[:5] != "%%EOF":
raise utils.PdfReadError, "EOF marker not found"
... etc
def read(self, stream):
# start at the end
stream.seek(-1, os.SEEK_END)
last1K = stream.tell() - 1024 + 1 # offset of last 1024 bytes of stream
# read stream backwards while watching for end-of-file marker
line = ''
while line[:5] != "%%EOF":
line = self.readNextEndLine(stream)
if stream.tell() < last1K:
raise utils.PdfReadError, "EOF marker not found"
... etc
我建议在pdf.py文件脚本来自:
收件人:
^{pr2}$在我看来,原始代码并没有真正做到Adobe的PDF 1.3 Reference文档中第3.4.4节“文件尾部”(第628页)中所暗示的内容(斜体我的):
换句话说,在
"%%EOF"
标记之后的文件物理结尾之前有其他内容是可以的。我建议的更改尝试适应这一点,并使其忽略标记后文件末尾可能附加的任何其他内容,而不是引发异常(但是,它不要求"%%EOF"
位于最后1K字节中,尽管可以添加一个检查)。这也意味着你试图合并的文件实际上可能符合规范更新:
{1024>的最后一个}标记也需要在^ 3个字节内:
相关问题 更多 >
编程相关推荐