[reportlab-users] ANN: pdfnup 0.3.0
    Luc Saffre 
    luc.saffre at gmx.net
       
    Mon Dec 22 10:07:18 EST 2008
    
    
  
Dinu,
here is a next bug report, consider it as a Christmas gift ;-)
Now I tested it on a similar file, created using pdflatex. The .tex
input file is here:
  http://lino.saffre-rumma.ee/dl/pdfnup_test.tex
and the resulting pdf is here:
  http://lino.saffre-rumma.ee/dl/pdfnup_test.pdf
And here is the traceback I get when I try pdfnup_test.py on it:
C:\temp>python pdfnup_test.py pdfnup_test.pdf
Traceback (most recent call last):
  File "pdfnup_test.py", line 3, in <module>
    generateNup(sys.argv[1],2)
  File "s:\py-site-packages\pdfnup-0.3.3\pdfnup.py", line 307, in
generateNup
    output.write(outputStream)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 167, in write
    self._sweepIndirectReferences(externalReferenceMap, self._root)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 242, in
_sweepIndirectReferences
    self._sweepIndirectReferences(externMap, realdata)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 218, in
_sweepIndirectReferences
    value = self._sweepIndirectReferences(externMap, value)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 242, in
_sweepIndirectReferences
    self._sweepIndirectReferences(externMap, realdata)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 218, in
_sweepIndirectReferences
    value = self._sweepIndirectReferences(externMap, value)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 227, in
_sweepIndirectReferences
    value = self._sweepIndirectReferences(externMap, data[i])
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 242, in
_sweepIndirectReferences
    self._sweepIndirectReferences(externMap, realdata)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 218, in
_sweepIndirectReferences
    value = self._sweepIndirectReferences(externMap, value)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 218, in
_sweepIndirectReferences
    value = self._sweepIndirectReferences(externMap, value)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 218, in
_sweepIndirectReferences
    value = self._sweepIndirectReferences(externMap, value)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 248, in
_sweepIndirectReferences
    newobj = data.pdf.getObject(data)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 546, in getObject
    idnum, generation = self.readObjectHeader(self.stream)
  File "s:\py-site-packages\pyPdf-1.12\pyPdf\pdf.py", line 593, in
readObjectHeader
    return int(idnum), int(generation)
ValueError: invalid literal for int() with base 10: ''
Merry Christmas! (in case we don't write before)
Luc
On 22.12.2008 13:27, Dinu Gherman wrote:
> Luc Saffre:
> 
>> Dinu,
>>
>> thanks for you work so far! I downloaded
>> http://www.dinu-gherman.net/tmp/pdfnup-0.3.3.tar.gz
>> and created a file pdfnup_test.py:
>>
>>  import sys
>>  from pdfnup import generateNup
>>  generateNup(sys.argv[1],2)
>>
>> This failed on a simple PDF file generated by OpenOffice:
>>
>> C:\temp>python pdfnup_test.py pdfnup_test.pdf
>> Traceback (most recent call last):
>>  File "pdfnup_test.py", line 3, in <module>
>>    generateNup(sys.argv[1],2)
>>  File "s:\py-site-packages\pdfnup-0.3.3\pdfnup.py", line 284, in
>> generateNup
>>    rotation = page2["/Rotate"].getObject()
>>  File "s:\py-site-packages\pyPdf-1.12\pyPdf\generic.py", line 466, in
>> __getitem__
>>    return dict.__getitem__(self, key).getObject()
>> KeyError: '/Rotate'
>>
>> The file I used for testing is here:
>>
>>  http://lino.saffre-rumma.ee/dl/pdfnup_test.pdf
>>
>> Any idea?
> 
> 
> Hi Luc,
> 
> sure, use the patch I've sent you on Dec, 12th via private
> email. If you didn't receive it, please find it below.
> 
> Regards,
> 
> Dinu
> 
> 
> $ diff -u pdfnup.py pdfnupX.py
> --- pdfnup.py    2008-11-17 13:26:02.000000000 +0100
> +++ pdfnupX.py    2008-12-19 11:02:25.000000000 +0100
> @@ -281,7 +281,10 @@
>             page2Content.operations.insert(0, [[], "q"])
> 
>             # handle rotation
> -            rotation = page2["/Rotate"].getObject()
> +            try:
> +                rotation = page2["/Rotate"].getObject()
> +            except:
> +                rotation = 0
>             if rotation in (180, 270):
>                 dw, dh = destWidth, destHeight
>                 arr = [-xScale, 0, 0, -yScale, destX+dw, destY+dh]
> _______________________________________________
> reportlab-users mailing list
> reportlab-users at reportlab.com
> http://two.pairlist.net/mailman/listinfo/reportlab-users
> 
    
    
More information about the reportlab-users
mailing list