Changeset 698

Show
Ignore:
Timestamp:
01/23/06 12:41:26 (3 years ago)
Author:
laotzu
Message:

Fix a new bug in the end-of-line handling that did not handle LF-only PDF files.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • pypdf/trunk/pyPdf/pdf.py

    r693 r698  
    144144                if value == None: 
    145145                    print objects, value, origvalue 
     146                if hasattr(value, "has_key") and value.has_key("__streamdata__"): 
     147                    # a dictionary value is a stream.  streams must be indirect 
     148                    # objects, so we need to change this value. 
     149                    objects.append(value) 
     150                    value = IndirectObject(len(objects), 0, self) 
    146151                data[key] = value 
    147152            return data 
     
    290295        # start at the end: 
    291296        stream.seek(-2, 2) 
    292         line = self.readNextEndLine(stream) 
     297        line = '' 
     298        while not line: 
     299            line = self.readNextEndLine(stream) 
    293300        assert line[:5] == "%%EOF" 
    294301 
     
    397404            x = stream.read(1) 
    398405            stream.seek(-2, 1) 
    399             if x == '\n': 
     406            if x == '\n' or x == '\r': 
     407                while x == '\n' or x == '\r': 
     408                    x = stream.read(1) 
     409                    stream.seek(-2, 1) 
     410                stream.seek(1, 1) 
    400411                break 
    401412            else: 
     
    802813    #output.addPage(input1.getPage(0)) 
    803814 
    804     input2 = PdfFileReader(file("input2.pdf", "rb")) 
     815    input2 = PdfFileReader(file("plik2.pdf", "rb")) 
    805816    for i in range(input2.getNumPages()): 
    806         output.addPage(input2.getPage(i)
     817        output.addPage(input2.getPage(i).testOperation(input2)
    807818     
    808819    output.write(file("test.pdf", "wb"))